C++ Outlook-CreateDispatch异常

C++ Outlook-CreateDispatch异常,c++,events,outlook,C++,Events,Outlook,我正在尝试捕获一些Outlook事件(它是一个单独的应用程序,不是外接程序)。因此,我有一个名为capapplication的类,定义为:class-capapplication:public-COleDispatchDriver和一个名为CAppEventListener的类:class-CAppEventListener:public-IDispatch。我在CreateDispatch方法中遇到异常 m_pAppEventListener = new CAppEventListener()

我正在尝试捕获一些Outlook事件(它是一个单独的应用程序,不是外接程序)。因此,我有一个名为capapplication的类,定义为:
class-capapplication:public-COleDispatchDriver
和一个名为CAppEventListener的类:
class-CAppEventListener:public-IDispatch
。我在
CreateDispatch
方法中遇到异常

m_pAppEventListener = new CAppEventListener();
m_pAppEventListener->CheckOutlookInProcess();
COleException l_oleExcep;

if(!m_pAppEventListener->m_OutlookApplicationInternal.CreateDispatch( _T("Outlook.Application" ),&l_oleExcep))
{
    CString szMsg;
    szMsg.Format( _T("CreateDispatch() failed with error 0x%08lx"), l_oleExcep.m_sc );
    AfxMessageBox( szMsg, MB_SETFOREGROUND );
    return 0;
}
这是显示异常代码的消息框。有人知道它是从哪里来的吗


如果应用程序和Outlook的安全上下文不同,我通常会提出CO_E_SERVER_EXEC_故障


您的应用程序运行的是常规GUI应用程序还是任务/服务?应用程序是否以提升的安全权限运行(以管理员身份运行)?

如果应用程序和Outlook的安全上下文不同,我通常会引发CO_E_SERVER_EXEC_故障


您的应用程序运行的是常规GUI应用程序还是任务/服务?应用程序是否以提升的安全权限运行(以管理员身份运行)?

即CO_E_服务器执行失败,“服务器执行失败”。Outlook出现严重问题,请确保可以手动启动。确保它不是因为您已经有100个副本在运行。@hans是的,我可以手动启动它,但我只有一个实例!这就是CO_E_服务器执行失败,“服务器执行失败”。Outlook出现严重问题,请确保可以手动启动。确保它不是因为您已经有100个副本在运行。@hans是的,我可以手动启动它,但我只有一个实例!这是一个MFC应用程序,但我没有使用GUI,输出写在一个文件中。我试着以管理员的身份运行它,但没有看到任何结果difference@Dimtry我注意到,当我在系统会话中运行我的应用程序时,它可以工作。我想你是对的,这是关于安全特权的,但请你给我更多的解释。我想为我的应用程序创建一个安装程序,我应该设置什么配置,使应用程序在没有任何干预的情况下工作。提前谢谢。您的意思是说您的代码在安装程序安全上下文中运行(这是一项服务)?请勿在安装程序中触摸Outlook对象模型。无论您需要做什么,请在您的应用程序/加载项/等第一次运行时执行。抱歉,不够清晰。正如我之前所说,我必须为我的应用程序添加更多的安全特权才能使其正常工作(我在应用程序属性中选中了“total control”)。现在我想为我的应用程序创建一个安装程序,我想让安装程序为我的应用程序设置所需的权限,这样用户就不必自己配置它们了。希望您理解我在做什么。如果您请求任何特权,您将无法连接到正在运行的Outlook实例,因为安全上下文不同。这是一个MFC应用程序,但我没有使用GUI,输出写在文件中。我试着以管理员的身份运行它,但没有看到任何结果difference@Dimtry我注意到,当我在系统会话中运行我的应用程序时,它可以工作。我想你是对的,这是关于安全特权的,但请你给我更多的解释。我想为我的应用程序创建一个安装程序,我应该设置什么配置,使应用程序在没有任何干预的情况下工作。提前谢谢。您的意思是说您的代码在安装程序安全上下文中运行(这是一项服务)?请勿在安装程序中触摸Outlook对象模型。无论您需要做什么,请在您的应用程序/加载项/等第一次运行时执行。抱歉,不够清晰。正如我之前所说,我必须为我的应用程序添加更多的安全特权才能使其正常工作(我在应用程序属性中选中了“total control”)。现在我想为我的应用程序创建一个安装程序,我想让安装程序为我的应用程序设置所需的权限,这样用户就不必自己配置它们了。希望您理解我在做什么。如果您请求任何特权,您将无法连接到正在运行的Outlook实例,因为安全上下文不同。