簡體   English   中英

解決對Process.Start()字符的限制

[英]Solve Limit on Process.Start() characters

我正在嘗試將多個電子郵件地址傳遞給我的郵件客戶端(嘗試了Thunderbird和Windows 10s集成的Mail-app)。 不幸的是,Process.Start()命令似乎受到限制(約2000個字符)。 這是我在Visual Studio中作為WPF應用程序編寫的簡單測試代碼:

        private void Button_Click(object sender, RoutedEventArgs e)
    {
        string mail = "mailto:test@test.com?subject=BlaBla&bcc=";
        for (int i = 0; i < 1000; i++)
        {
            mail = mail + "test@test.com" + i + ",";       
        }
        Process.Start("mailto: "+mail);

    }

它的工作正常,直到第125位,而在我的測試中應該通過1000位。 是否有解決方法或完全不同的解決方案來解決我的問題? 謝謝!

我使用“ UseShellExecute = false;”解決了該問題。 “ ProcessStartInfo”中的選項。 這將調用createprocess(),該命令行允許在命令行中包含32767個字符。 我讀到那不是最佳實踐,但對我有用。 您必須提供具有停用的UseShellExecute的完整路徑,例如:

string mail = Environment.GetEnvironmentVariable("ProgramFiles(x86)") + "\\Mozilla Thunderbird\\thunderbird.exe";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM