使用提升的权限进行调试时,Marshal.GetActiveObject(“Outlook.Application”)会抛出MK_E_UNAVAILABLE

时间:2014-05-16 14:57:29

标签: c# .net visual-studio-2013 com-interop elevated-privileges

当Visual Studio未以管理员身份启动时,此代码在版本r调试中运行没有问题。

Marshal.GetActiveObject("Outlook.Application");

但是,当我以管理员身份启动Vs并在调试中运行相同的行时,我收到以下错误:

System.Runtime.InteropServices.COMException
Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))

我该如何解决这个问题。

1 个答案:

答案 0 :(得分:9)

我猜你是以管理员身份运行Visual Studio(以管理员身份运行启动),而Outlook是以用户身份打开的,用户在Windows登录时登录。因此Visual Studio在与Outlook客户端不同的用户下运行。