Я пытаюсь реализовать расширение оболочки PropertySheetHandler, без особой удачи.
По какой-то причине обработчики ContextMenu успешно вызваны (Initialize()
а также QueryContextMenu()
) но AddPages()
не называется.
Я реализовал IShellPropSheetExt
интерфейс (AddPages()
а также ReplacePages()
) и заявили следующее:
BEGIN_COM_MAP(CShellExtension)
COM_INTERFACE_ENTRY(IShellExtInit)
COM_INTERFACE_ENTRY(IContextMenu)
COM_INTERFACE_ENTRY(IShellPropSheetExt)
END_COM_MAP()
Также в Реестре я добавил следующую запись:
HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\MyPropSheet
И, конечно, также добавил к CLSID:
HKEY_CLASSES_ROOT\CLSID\{CC669AD3-9F45-4C29-ADF7-F2F58E2DB2E9}\InprocServer32
С путем к DLL и ThreadingModel Apartment (также пробовал оба).
Что мне не хватает?
Я также запустил Process Monitor и вижу, что моя DLL-библиотека найдена, но в свойствах файла не вызывается Initialize или AddPages.
Задача ещё не решена.
Других решений пока нет …