Вы можете просто попросить COM создать экземпляр объекта MSMQQueueInfo
.Если это успешно, вы знаете, что MSMQ установлен.
#include <atlbase.h>
#include <mqoai.h>
#include <iostream>
using namespace std;
int main()
{
auto error = CoInitializeEx(0, COINIT_MULTITHREADED | COINIT_DISABLE_OLE1DDE);
if (FAILED(error))
{
wcout << L"You've got bigger problems" << endl;
}
else
{
CComPtr<IMSMQQueueInfo> info;
error = info.CoCreateInstance(__uuidof(MSMQQueueInfo));
if (SUCCEEDED(error))
{
wcout << L"MSMQ is installed" << endl;
}
}
}