为什么我无法初始化COM库?

时间:2013-12-31 16:53:20

标签: c++ events notifications wmi qt5

我正在尝试在c ++中的WMI通知上测试一个msdn示例,它位于Qt5.2项目中的Example: Receiving Event Notifications Through WMI。所有内容编译得很好并且运行良好,但是当我尝试运行示例代码时,我一开始就陷入困境! 我收到错误:

  

无法初始化Com库

我在某处看到Qt本身初始化了com对象,因此无需重新初始化它。
在这种情况下,如果我评论初始化部分,我得到CoInitializeSecurity失败错误。!
我在这里失踪了什么?

1 个答案:

答案 0 :(得分:0)

来自MSDN

  

多线程单元适用于non-GUI个线程。   多线程公寓中的线程不应执行UI操作。   这是因为UI线程需要消息泵,而COM则不需要   为多线程公寓中的线程泵送消息。

我没有在qt中使用GUI应用程序,而是尝试了基于控制台的GUI应用程序。它可以工作。