Как зарегистрировать файл OCX с помощью Visual C ++? - PullRequest
0 голосов
/ 22 апреля 2010

как я могу найти, что файл ocx (swf ocx flie) зарегистрирован или нет?

а если зарегистрирована какая версия то?

а если не зарегистрирован как я могу зарегистрироваться?

Пожалуйста, помогите мне

очень спасибо

Ответы [ 2 ]

3 голосов
/ 22 апреля 2010

Regsvr32.exe


Если вы проверите реестр

HKCR \ CLSID {guidInQuestion} вы можете определить, зарегистрирован ли OCX.

Чтобы определить GUID для вашего OCX:

  • Откройте OCX с помощью OleView.exe (программные файлы \ Visual-studio \ Tools)

  • Вы увидите что-то вроде -

// Сгенерированный файл .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

УДАЧИ !!

0 голосов
/ 22 апреля 2010

Вы можете сделать это вручную, используя эту инструкцию от Microsoft .

...