C# 当outlook已打开时,无法使用outlook interop创建电子邮件
如何打开outlook窗口?我尝试了下面的代码,但当outlook实例已在运行时,这不起作用-C# 当outlook已打开时,无法使用outlook interop创建电子邮件,c#,wpf,mvvm,outlook,C#,Wpf,Mvvm,Outlook,如何打开outlook窗口?我尝试了下面的代码,但当outlook实例已在运行时,这不起作用- System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcessesByName("OUTLOOK"); int processCount = processes.Length; if (processCount != 0) { **outlookApp = Marshal.GetActiveObje
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))
有人能为上述代码提供另一种方法或更改吗?试试这个
试试这个
因为我有同样的问题,所以我把2美分放进去 问题似乎在于Visual Studio通常以管理员身份运行,而Outlook以用户权限运行 如果关闭Outlook并运行代码,则工作正常 如果我在visualstudio之外(从Bin文件夹)运行应用程序并运行Outlook,它也可以正常工作 如果我以管理员身份运行Outlook并在VisualStudio中运行应用程序,则效果良好
如果Outlook正在运行但具有不同的权限,我还没有找到获取Outlook
应用程序
类实例的解决方法。因为我有同样的问题,所以我投入了2美分
问题似乎在于Visual Studio通常以管理员身份运行,而Outlook以用户权限运行
如果关闭Outlook并运行代码,则工作正常
如果我在visualstudio之外(从Bin文件夹)运行应用程序并运行Outlook,它也可以正常工作
如果我以管理员身份运行Outlook并在VisualStudio中运行应用程序,则效果良好
如果Outlook正在运行但具有不同的权限,我还没有找到获取Outlook
应用程序的实例的解决方法。在我的代码中,我使用simpleoutlookApp=new Microsoft.Office.Interop.Outlook.Application()代码>如果Outlook已经运行-我没有任何异常。不知道为什么…=)那么,如果您只是尝试使用else,而不检查Outlook是否运行呢?在我的代码中,我使用simpleoutlookApp=new Microsoft.Office.Interop.Outlook.Application()代码>如果Outlook已经运行-我没有任何异常。不知道为什么…=)那么,如果您只是尝试使用else,而不检查Outlook是否运行呢?六年过去了,您的几个场景仍然正确。。。感谢“在visual studio之外运行应用程序(从Bin文件夹),Outlook运行它也可以正常工作”;这就是我现在测试我的应用程序的方式…六年过去了,你的几个场景仍然正确。。。感谢“在visual studio之外运行应用程序(从Bin文件夹),Outlook运行它也可以正常工作”;这就是我现在测试我的应用程序的方式。。。