popkov
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору KLASS Прочёл все указанные страницы и ещё некоторые. Там очень мало написано о сути работы раздела HKEY_CLASSES_ROOT\Applications\EMEDITOR.EXE\shell. Единственное, что я, вроде, там нашёл, да и то не вполне уверен, что правильно их понял - это что отсюда пункты контекстного меню берутся только в случае, если данный тип файлов в системе не зарегистрирован. И ещё остаётся непонятным, откуда система знает, что их надо брать именно отсюда? Где-то же это расширение должно быть зарегистрировано! Там, вроде, даётся намёк, что в разделах типа HKEY_CLASSES_ROOT\Applications\wmplayer.exe\SupportedTypes, но у EmEditor'a такого раздела нет... CODeR Вот, кстати говоря, понятная картинка, описывающая работу пунктов контекстного меню, генерируемых через ClassID. Взято с http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int_extending/extensionhandlers/shell_ext.asp Цитата: HKEY_CLASSES_ROOT .myp (Default) = MyProgram.1 CLSID {00000000-1111-2222-3333-444444444444} InProcServer32 (Default) = C:\MyDir\MyCommand.dll ThreadingModel= Apartment {11111111-2222-3333-4444-555555555555} InProcServer32 (Default) = C:\MyDir\MyPropSheet.dll ThreadingModel= Apartment MyProgram.1 (Default) = MyProgram Application Shellex ContextMenuHandler MyCommand (Default) = {00000000-1111-2222-3333-444444444444} PropertySheetHandlers MyPropSheet (Default) = {11111111-2222-3333-4444-555555555555} |
| Всего записей: 1842 | Зарегистр. 22-03-2003 | Отправлено: 12:33 18-04-2005 | Исправлено: popkov, 12:38 18-04-2005 |
|