5

我在 (.Net Framework) 开始的 ie 中发现了一些奇怪的行为。Process.Start()要重现它,只需按照以下步骤操作。

必需的:

  • C# IDE+编译器
  • outlook(在我的情况下:outlook 2010 - 其他版本应该是同样的问题,但未经测试)
  • ie9(ie8 或 10 也应该是“好”)
  • 即必须是默认浏览器(你可以稍后切换回来;-))
  • Outlook 必须与 mailto 相关:链接

步骤(成功):

  • 关闭所有 IE 和 Outlook 实例
  • 打开 IE(32 位)
  • 打开网址:mailto:foo@example.com

结果: Outlook 启动

步骤(失败)

  • 关闭所有 IE 和 Outlook 实例
  • 编译这个代码片段 System.Diagnostics.Process.Start("http://www.example.org");
  • 执行代码(IE应该开始显示示例页面)
  • 现在输入或复制mailto:foo@example.com到您的网址栏

结果:无法启动 Microsoft Outlook(或类似的东西) - WTF?

我已经检查过的内容:

IE 以相同开头

  • 范围
  • 工作目录
  • 用户
  • 架构(32 位)

我究竟做错了什么?如果有更多我可以检查、测试、寻找的想法,那就太好了。

4

1 回答 1

0

我可以重现这种行为。就我而言,我有一个导致问题的 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   
---------------------------

一旦我删除了这个插件,它现在就可以工作了。

也可能有帮助的是: http: //www.codeproject.com/Articles/4051/Windows-Impersonation-using-C

如果您的问题不是像我这样的插件,那么冒充另一个用户可能会有所帮助。

于 2013-02-07T22:24:58.320 回答