我可以将Skype COM库(Skype4COM.dll)加载到C++visual studio项目中,下面是执行此操作的代码:
#import "C:Program Files (x86)Common FilesSkypeSkype4COM.dll"
using namespace SKYPE4COMLib;
int main(int argc, char* argv[])
{
CoInitialize(NULL);
ISkypePtr pSkype(__uuidof(Skype));
pSkype->Attach(6, VARIANT_TRUE);
IChatMessage *message;
message = pSkype->SendMessage(_bstr_t(L"user_name"), _bstr_t(L"Hello"));
printf("%s sent message", (char *)message->FromHandle);
pSkype = NULL;
CoUninitialize();
return 0;
}
有什么方法可以将COM库加载到Qt中吗?因为使用Skype的库在C++中制作GUI会很好。
有什么方法可以加载并将COM库使用到Qt中吗?
- 删除所有例行COM(un)初始化,例如CoInitialize/CoUnitialize
- 看看Qutlook示例(ActiveQt)
- 使用YourProject.pro文件中的TYPELIBS语句或
dumpcpp
工具实现您自己的COM接口导入
请注意,Qt自己的dumpcpp实用程序提供了COM对象封装到自己的Qt QAxObject/QAxWidget类的便利性,它不是很可靠,并且它的导入在Qt框架版本之间有所不同。例如,在将项目从Qt 5.3转换为Qt 5.5时,我不得不重写相当多的代码行。我还混合了Qt和ATL技术。
如果你有更具体的问题,我们可能会根据经验给出答案。