Как программно (С++) узнать установлен и зарег-н ли определенный COM-сервер?
И еще вопрос.
В своей проге использую ScriptControl.
Соответственно, делаю все на базе MFC:
CoInitialize(NULL);
pScriptControl= new IScriptControlPtr(__uuidof(ScriptControl));
........................................
pScriptControl->Run(FunctionName, &args);
> Как программно (С++) узнать установлен и зарег-н ли > определенный COM-сервер? C++ sdes` ni prichem ispolzuesh Win32 API (OLE)
elsi ty znaesh progig to ispolzuii foo:
hr = CLSIDFromProgId(L"MSScriptControl.ScriptControl.1",&clsid);
esli znesh naoborot classid to:
hr = ProgIDFromCLSID(...);
elsi class zaregestrirovan to hr == S_OK
A voobcheto vse chto eti funccii delaut eto smotriat v registri HKEY_CLASS_ROOT; i tam vsia informacia ob etom objecte :
path, threading model, progid, version, typelib esli suchestvuet i t. d.
tak chto mozhesh napisat` funciu kotoraiy budet proveriat` vse chto ty hochesh is registry.
> И еще вопрос. > В своей проге использую ScriptControl. > Соответственно, делаю все на базе MFC: > > CoInitialize(NULL); > pScriptControl= new > IScriptControlPtr(__uuidof(ScriptControl)); > ........................................ > pScriptControl->Run(FunctionName, &args); > > Как сделать это же не пользуясь MFC?