我目前使用這種方法很慢,它完美的作品:的Process.Start是
public static void CreateEmailInDefaultMailEditor(string to, string subject, string body)
{
Process.Start($"mailto:{to}?subject={subject}&body={body}");
}
然後我嘗試了另一臺計算機上和它的工作也有,但它是非常緩慢的(更是一分鐘打開我的郵件編輯器!)。
我調試了Process.Start
(在System.dll中)方法,發現問題在於運行非常緩慢的NativeMethod.ShellExecuteEx
方法。
我也注意到,指定應打開發送電子郵件
public static void CreateEmailInOutlook(string to, string subject, string body)
{
Process.Start("outlook.exe", $"mailto:{to}?subject={subject}&body={body}");
}
程序的名稱可以解決問題,但不併解釋爲什麼它在電腦上正常工作,而不是在其他它不會做同樣的事情:不指定程序會自動打開默認的程序。
所以問題很簡單:爲什麼這種行爲以及如何解決它?
傾向於給反惡意軟件一個偉大的。所以暫時禁用它,然後再試一次,看看它是不是罪魁禍首。 –
與漢斯達成協議後,手動啓動任何安裝AV的Outlook需要一段時間。特別是如果你有插入到Outlook中的插件。 –
沒有指定程序,* shell *必須在註冊表中找到合適的程序。那裏可能會有不一致,從而導致速度減慢。 – MrPaulch