如何在没有注册的情况下使用Qt中dll中的COM对象

如何在没有注册的情况下使用Qt中dll中的COM对象,qt,com,activeqt,Qt,Com,Activeqt,我有一个带有控件的COM可见dll,我需要在我的Qt应用程序(4.8.4)中使用它。 c语言中的控制代码# 我用QAxWidget这样称呼它 QAxWidget *myControl = new QAxWidget(centralWidget); myControl ->setControl("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"); 但它当然不起作用,因为注册表中没有关于我的控件的信息 我读了这篇文章,它说这可以通过清单来解决,我在我的Qt应用程序

我有一个带有控件的COM可见dll,我需要在我的Qt应用程序(4.8.4)中使用它。 c语言中的控制代码#

我用QAxWidget这样称呼它

QAxWidget *myControl = new QAxWidget(centralWidget);
myControl ->setControl("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
但它当然不起作用,因为注册表中没有关于我的控件的信息

我读了这篇文章,它说这可以通过清单来解决,我在我的Qt应用程序中尝试了同样的方法,但仍然说它不起作用

CoCreateInstance failure (Class not registered)
要么我没有以正确的方式为Qt设置清单,要么setControl()方法总是查看注册表。你怎么知道怎么处理


谢谢

您是否先注册控件,以测试Qt代码,然后再尝试查看控件未注册时是否有效,如本文所建议的那样?UUID不应该被包含在{}中吗?是的,我是这样做的,当我注册它时,它可以完美地工作。这篇文章只针对裸露的C++应用程序。我为它工作。但在Qt中,清单以不同的方式工作,我不确定这是否对我有帮助
CoCreateInstance failure (Class not registered)