我正在尝试获取当前正在运行的 Outlook 版本或启动 Outlook 以防它未运行,但我在 Windows 7 中获取或创建 Outlook 应用程序对象时遇到了一些问题。我认为这与在 Vista 和 7 中受限的用户权限。我正在使用 Outlook 2010。
编辑:仅当我已经启动了 Outlook 2010 实例时才会出现这些错误。如果 Outlook 没有启动,应用程序可以顺利运行(它可以自己启动一个 Outlook 实例)。
如果有人能告诉我如何正确获取 Outlook 应用程序版本,那将非常有帮助。
我正在运行的代码是一个很长的 try-catch 块,它不断触发异常:
try
{
// create an application instance of Outlook
oApp = new Microsoft.Office.Interop.Outlook.Application();
}
catch(System.Exception ex)
{
try
{
// get Outlook in another way
oApp = Marshal.GetActiveObject("Outlook.Application") as Microsoft.Office.Interop.Outlook.Application;
}
catch (System.Exception ex2)
{
// try some other way to get the object
oApp = Activator.CreateInstance(Type.GetTypeFromProgID("Outlook.Application")) as Microsoft.Office.Interop.Outlook.Application;
}
}
该应用程序向我抛出以下异常:
当我尝试创建一个新的 Outlook 应用程序实例时:
由于以下错误,检索具有 CLSID {0006F03A-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80080005。
当我尝试获取 Outlook 应用实例时:
操作不可用(HRESULT 异常:0x800401E3 (MK_E_UNAVAILABLE))
当我尝试通过激活器创建实例时
由于以下错误,检索具有 CLSID {0006F03A-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80080005。
谢谢!