Process.Start 很慢

Process.Start is very slow

我目前正在使用这种方法并且效果很好:

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}");        
}

解决了问题,但这并不能解释为什么它在一台计算机上正常工作而在另一台计算机上却不能正常工作,而且它没有做同样的事情:不指定程序会自动打开默认程序。

所以问题很简单:为什么会出现这种行为以及如何解决它?

感谢您的回答和评论。

这里是对问题的一个小更新,可能解决方案(我仍然不完全确定问题出在哪里): 我可以将问题重现到我测试的部门的每台计算机上(而不仅仅是我问题中提到的两台计算机)。 几天后,我发现一切都恢复正常了。我没有更改我的程序代码,也没有停用防病毒软件。

我在问题中没有提到的(我认为这不重要)是所有计算机都是新的。我认为这可能是问题所在:Windows 有一个索引服务,我可以想象在开始时,扫描整台计算机可能需要几天时间。在这种情况下,搜索默认邮件管理器可能需要很长时间,但一旦索引服务完成其工作,搜索默认邮件管理器的速度就会再次变快。