c# - 通过 C# 打开 IE -> mailto 失败

标签 c# internet-explorer outlook mailto process.start

我在 Process.Start() (.Net Framework) 启动的 ie 中发现了一些奇怪的行为 要重现这一点,只需按照以下步骤操作即可。

必需:

  • C# IDE+编译器
  • outlook(在我的情况下:outlook 2010 - 其他版本应该是同样的问题但没有测试)
  • ie9(ie8 或 10 也应该“不错”)
  • ie 必须是默认浏览器(您可以稍后切换回来 ;-) )
  • 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 位)

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

最佳答案

我可以重现该行为。在我的例子中,我有一个导致问题的 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

如果您的问题不是我遇到的插件问题,模拟其他用户可能会有所帮助。

关于c# - 通过 C# 打开 IE -> mailto 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14607344/

相关文章:

javascript - BasicAuth 在 IE8/9 上启用 CORS 请求

python - 如何使用 Python 生成和打开 Outlook 电子邮件(但不发送)

powershell - Powershell-剖析文件夹埋入两个级别的前景

c# - 为什么 IntPtr 不需要 unsafe 关键字?

c# - 何时加载 Generic.xaml 样式?

c# - ConcurrentDictionary AddOrUpdate 按谓词

c# - 使用 Drawstring 垂直翻转文本

html - 元标记中的 Internet Explorer 7,8 内容类型

php - IE 不显示所有图像

java - 列出公用文件夹