通过C#->;打开IE;mailto失败了
我在ie中发现了一些奇怪的行为,这些行为是由通过C#->;打开IE;mailto失败了,c#,internet-explorer,outlook,mailto,process.start,C#,Internet Explorer,Outlook,Mailto,Process.start,我在ie中发现了一些奇怪的行为,这些行为是由Process.Start()(.Net Framework)启动的 要重现这种情况,只需遵循以下步骤 必填项: C#IDE+编译器 outlook(在我的情况下:outlook 2010-其他版本应存在相同的问题,但未经测试) ie9(ie8或10也应该是“好的”) ie必须是默认浏览器(您可以稍后切换回;-)) outlook必须与mailto:链接相关 步骤(成功): 关闭所有IE和Outlook实例 开放式IE(32位) 打开URL:ma
Process.Start()
(.Net Framework)启动的
要重现这种情况,只需遵循以下步骤
必填项:
- C#IDE+编译器
- outlook(在我的情况下:outlook 2010-其他版本应存在相同的问题,但未经测试)
- ie9(ie8或10也应该是“好的”)
- ie必须是默认浏览器(您可以稍后切换回;-))
- outlook必须与mailto:链接相关
- 关闭所有IE和Outlook实例
- 开放式IE(32位)
- 打开URL:
mailto:foo@example.com
- 关闭所有IE和Outlook实例
- 编译这个代码片段
System.Diagnostics.Process.Start(“http://www.example.org");代码>
- 执行代码 (IE应开始显示示例页面)
- 现在键入或复制
到您的url栏mailto:foo@example.com
- 参数
- 工作目录
- 使用者
- 体系结构(32位)
如果有更多的想法,我可以检查、测试、寻找,那就太好了。我可以重现这种行为。在我的情况下,我有一个导致问题的Outlook插件
---------------------------
MS Outlook Extension
---------------------------
The <Outlook Addin Name> MS Outlook Extension can't be loaded because Outlook is currently in use by another application. Please try again later.
---------------------------
OK
---------------------------
---------------------------
MS Outlook扩展
---------------------------
无法加载MS Outlook扩展,因为另一个应用程序当前正在使用Outlook。请稍后再试。
---------------------------
好啊
---------------------------
一旦我删除了这个插件,它现在就可以工作了
另一个可能有用的方法是:
如果您的问题不像我的那样是加载项,那么模拟其他用户可能会有所帮助。很有趣。在Win7-64上使用相同版本的IE和Outlook(无法尝试其他版本)(但使用32位IE),我也会遇到同样的情况。获取消息:Outlook的另一个版本当前正在运行。关闭它,然后再试一次。任何一种方法对我都适用-如果指定要启动的程序而不是仅使用默认浏览器,会发生什么情况<代码>系统.Diagnostics.Process.Start(“iexplore”http://www.example.org");代码>行为是否相同?这与保护模式有关-如果您关闭Internet区域的保护模式(不推荐!),链接会起作用。@Richard但是为什么通过Start menue和csharp启动时会有不同的保护模式设置?@SliverNinja使用您的代码片段启动显式ie的结果相同。您尝试了哪个Outlook、Windows和IE版本?在我的情况下,messagebox不会显示任何有问题的扩展名。在您的情况下,是哪个Addin导致了问题?我使用的是第三方Addin。自动任务。我会尝试禁用所有,看看你会得到什么。可能是他们中的任何一个。