我们有一项功能可以向Outlook添加联系人。
我只想在现有的Outlook流程中运行,如果没有运行则打开它。
我收到错误:
使用CLSID检索组件的COM类工厂 {0006F03A-0000-0000-C000-000000000046}由于以下原因而失败 错误:80080005服务器执行失败(来自HRESULT的异常: 0x80080005(CO_E_SERVER_EXEC_FAILURE))。如果进程没有 已经开始了。
注意:以下方法被调用2次。
我的代码是:
Private Sub InitObject()
If (Process.GetProcessesByName("OUTLOOK").Count > 0) Then
objOutlook = DirectCast(Marshal.GetActiveObject("Outlook.Application"), Outlook.Application)
'If objOutlook Is Nothing Then
Else
objOutlook = New Outlook.Application()
End If
If objNamespace Is Nothing Then
objNamespace = objOutlook.GetNamespace("MAPI")
objNamespace.Logon("", "", False, False)
End If
If objFolder Is Nothing Then
objFolder = objNamespace.GetDefaultFolder(10)
End If
End Sub
我在这上面写了几篇关于管理员权限的帖子。现在我正在运行没有管理员权限的Visual Studio。我是神圣的,这个错误会在生产中看到我们不使用Visual Studio吗?
答案 0 :(得分:0)
您在有问题的PC上安装了什么Outlook版本?它是Outlook 2010的Click2Run版本吗?
无论如何,我看到两个可能的原因:
请注意,Outlook是一个单身人士。即如果它已经在运行,那么在创建新的Outlook应用程序实例时,您将获得指向已在运行的实例的指针。