Загрузите COM-библиотеку в Qt

Я могу загрузить библиотеку Skype COM (Skype4COM.dll) в проект Visual Studio C ++, и вот код для этого:

#import "C:\Program Files (x86)\Common Files\Skype\Skype4COM.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 ++.

0

Решение

Есть ли способ загрузить и использовать библиотека COM в Qt?

  1. Удалите всю обычную инициализацию COM (не), например, CoInitialize / CoUnitialize.
  2. смотреть на Пример Qutlook (ActiveQt).
  3. Реализуйте свой собственный импорт интерфейса COM с TYPELIBS заявление в файле YourProject.pro или с dumpcpp инструмент.

Имейте в виду, что собственная утилита dumpcpp Qt, которая обеспечивает удобство COM-объектов, заключенных в собственные классы Qt QAxObject / QAxWidget, не очень надежна, и ее импорт отличается в зависимости от версии платформы Qt. Мне пришлось переписать довольно много строк кода при преобразовании проекта, например, из Qt 5.3 в Qt 5.5. Я также смешиваю методы Qt и ATL.

Если у вас есть более конкретные вопросы, мы, вероятно, сможем найти ответы, основанные на опыте.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]