我做了外殼擴展(實現IContextMenu
,IShellExtInit
,IExtractIcon
& IPersistFile
)使用ATL,「書」。外殼擴展在Windows-Explorer中不起作用,但在其他程序中起作用?
有趣的是,一切都在一些文件經理,如「總指揮官」 &「自由司令」不錯,但在Windows的資源管理器完全失效:
當我右鍵單擊我的在TC(「總指揮官」)註冊的文件(說*.000
),擴展工作:我在我的日誌和上下文菜單中看到它:帶有其圖標的條目出現。
但是,如果我使用Win-Explorer,沒有任何反應! 沒有日誌條目出現,上下文菜單中沒有證據 - 什麼都沒有!即使是完整的電腦重啓也無濟於事。
當然,我註冊了ShellEx\MyX\ContextMenuHandlers
和ShellEx\IconHandler
鍵,以及在資源管理器中的...\Shell Extensions\Approved\
,他們都點到我的CLSID
。 我使用Windows 7.
我在這裏錯過了什麼?
64/32位?如果你的操作系統是64位的,那麼資源管理器也是64位的,而且你所有的shell擴展也必須是64位的。看起來目前版本的Total Commander只有32位。 –
@SevaTitov:聽起來不錯。我使用64位操作系統,但編譯和註冊32位應用程序。因此,而不是InprocServer32,我應該爲64位DLL創建什麼關鍵? – Tar
只需編譯64位和regsvr32這個二進制。該註冊表項仍稱爲InprocServer32。 –