0

我正在尝试实现一个 PropertySheetHandler shell 扩展,但运气不佳。

出于某种原因,ContextMenu 处理程序被成功调用(Initialize()QueryContextMenu())但AddPages()未被调用。

我已经实现了IShellPropSheetExt接口 ( AddPages()and 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(也尝试过)。

我错过了什么?

我还运行了进程监视器,我可以看到我的 DLL 已找到,但没有对文件属性调用 Initialize 或 AddPages。

4

0 回答 0