1

如何打开 Outlook 窗口?我尝试了下面的代码,但是当 Outlook 的实例已经运行时这不起作用 -

System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcessesByName("OUTLOOK");

int processCount = processes.Length;
if (processCount != 0)
{
    **outlookApp = Marshal.GetActiveObject("Outlook.Application") as Microsoft.Office.Interop.Outlook.Application;** this is throwing the below error **
}
else
{
    outlookApp = new Microsoft.Office.Interop.Outlook.Application();
}

我得到了:

Error:
Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))

有人可以对上述代码提供替代方法或更改吗?

4

2 回答 2

1

投入我的 2 美分,因为我有同样的问题。

似乎 Visual Studio 通常以管理员身份运行,而 Outlook 以用户权限运行是问题所在。

如果关闭 Outlook 并运行代码,它工作正常。

如果我在 Visual Studio 之外(从 Bin 文件夹)运行应用程序并运行 Outlook,它也可以正常工作。

如果我以管理员身份运行 Outlook 并在 Visual Studio 中运行应用程序,它工作正常。

Application如果 Outlook 正在运行但具有不同的权限,我还没有找到一种解决方法来获取 Outlook 类的实例。

于 2014-05-29T01:27:49.137 回答
0

试试这个 如何:以编程方式发送电子邮件

于 2012-11-07T15:08:21.703 回答