Regsvr32.exe
Если вы проверите реестр
HKCR \ CLSID {guidInQuestion} вы можете определить, зарегистрирован ли OCX.
Чтобы определить GUID для вашего OCX:
// Сгенерированный файл .IDL (с помощью OLE / COMПросмотрщик объектов)
//
// имя файла typelib: COMDLG32.OCX
[
uuid ( F9043C88-F6F2-101A-A3C9-08002B2F49FB ), версия (1.2),
helpstring («Microsoft Common Dialog Control 6.0 (SP3)»),
helpfile («cmdlg98.chm»),
helpcontext (0x00030d40)
]
Проверьте, существует ли в реестре GUID , полученный вами для OCX.
Используйте эти функции для доступа к рееструв коде.
RegOpenKeyEx () &
RegQueryValueEx ()
Подробнее о них здесь (пример кода)
Вы можетеиспользуйте сервер регистрации Microsoft (Regsvr32.exe), чтобы зарегистрировать 32-разрядный файл .ocx вручную.
Regsvr32 /s <swf-ocx-file.OCX>
Чтобы запустить Regsvr32.exe из кода:
int x = (int)ShellExecute(NULL, NULL, "C:\\WINDOWS\\system32\\regsvr32.exe", "/s <swf-ocx-file.OCX" , NULL, SW_SHOWNORMAL);
Для получения дополнительной информации о Regsvr32.exe см .:
- http://support.microsoft.com/kb/146219
- http://support.microsoft.com/?id=207132
Для получения дополнительной информации о shellExecute () см .:
- http://msdn.microsoft.com/en-us/library/bb762153%28VS.85%29.aspx
УДАЧИ !!