And*_*rei 16 c# outlook windows-7 outlook-2010
我正在尝试获取当前运行的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;
}
}
Run Code Online (Sandbox Code Playgroud)
该应用程序抛出以下异常:
当我尝试创建一个新的Outlook应用程序实例时:
由于以下错误,检索具有CLSID {0006F03A-0000-0000-C000-000000000046}的组件的COM类工厂失败:80080005.
当我尝试获取Outlook应用程序实例时:
操作不可用(HRESULT异常:0x800401E3(MK_E_UNAVAILABLE))
当我尝试通过Activator创建实例时
由于以下错误,检索具有CLSID {0006F03A-0000-0000-C000-000000000046}的组件的COM类工厂失败:80080005.
谢谢!
And*_*rei 31
显然这些错误是由于我在不同的用户权限级别上运行Outlook和应用程序而触发的(其中一个作为管理员,另一个作为普通用户).
归档时间: |
|
查看次数: |
19809 次 |
最近记录: |