Программно нужно узнать, запущено ли COM+ приложение с заданным именем или GUID.
Пытался сделать это через COMAdminCatalog, но мне не удалось получить коллекцию "ApplicationInstances".
При попытке получить эту коллекцию возникает ошибка: "Параметр задан неверно."
Что в этом коде не так? И вообще, может я не тем путем пошел?
#include "stdafx.h"
#import "com\comadmin.dll"
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL);
try
{
COMAdmin::ICOMAdminCatalogPtr pCatalog(__uuidof(COMAdmin::COMAdminCatalog));
COMAdmin::ICatalogCollectionPtr pApps;
pApps = pCatalog->GetCollection(L"ApplicationInstances");
}
catch(_com_error &e)
{
if(e.Description().length()==0)
MessageBox(NULL,e.ErrorMessage(),"",MB_OK);
else
MessageBoxW(NULL,e.Description(),L"",MB_OK);
}
return 0;
}
P.S. Все это под Win2k.