使用协议“mapi://”从C#打开outlook中的邮件

时间:2010-10-15 22:49:26

标签: c# mapi wds

我希望以格式执行URL mapi://{S-1-5-21-1626573300-1364474481-487586288-1001}/toto@mycompany.com($b423dcd5)/0/Inbox/가가가가곕갘객겒갨겑곓걌게겻겨곹곒갓곅갩갤가갠가,我通过Windows桌面搜索搜索得到的。

在使用Outlook 2007的Vista上,如果outlook已经打开,则无法打开电子邮件。除了有时,它的工作原因是神秘的。


以下是我试图让它发挥作用的一些事情:

使用Process.Start执行它,或通过cmd.exe / c启动Process.Start执行它。前者冻结了一分钟,然后什么也没做,Process.Start返回null(除非Outlook尚未打开,当它工作时)。后者弹出一个“未指定的错误”消息框。

Open mails in outlook from java using the protocol "mapi://"
我无法弄清楚如何使这个脚本工作。我生成的vbs脚本声称找到了无效字符。此外,这个解决方案让我感到难过。

http://social.msdn.microsoft.com/forums/en-US/windowsdesktopsearchdevelopment/thread/00491710-e245-452f-8b0a-56caa56277e4/ 我怀疑这个解决方案会起作用。但是,由于编译器错误,我无法使用C ++或C#。这是一个无法确定要包含哪些库或在C#中如何有效地使用ShellItem2等与interop一起使用的问题。

Creating application shortcut in a directory 我尝试创建一个快捷方式并在其上调用Process.Start。这也没有用,虽然当我双击它时快捷方式本身也有效。

1 个答案:

答案 0 :(得分:0)

原来这个问题是UAC问题。我倾向于以管理员身份运行VS,因为有些应用需要它。