shell扩展不能在Windows-Explorer中工作,但在其他程序中工作?

我使用ATL“由书”做了shell扩展(实现IContextMenuIShellExtInitIExtractIconIPersistFile )。

有趣的是,在“Total Commander”和“Free Commander”等文件pipe理器中,所有的function都很好,但在Windows资源pipe理器中完全失败:


当我在TC(“Total Commander”)中右键点击我注册的文件(例如*.000 )时,扩展名工作:我在我的日志和上下文菜单中看到它:带有图标的条目出现。

但是如果我使用Win-Explorer,没有任何反应! 没有日志条目出现 ,在上下文菜单没有证据 – 什么都没有! 即使一台完整的电脑重新启动也没有帮助

我当然注册了ShellEx\MyX\ContextMenuHandlersShellEx\IconHandler键,以及资源pipe理器的...\Shell Extensions\Approved\ ,他们都指向我的CLSID 。 我使用Windows 7。

我在这里错过什么?

Solutions Collecting From Web of "shell扩展不能在Windows-Explorer中工作,但在其他程序中工作?"

@SevaTitov回答了我的问题,但作为一个评论,以便将来的任何人谁在这个问题上绊倒引用:

@SevaTitov:

如果你的操作系统是64位,资源管理器也是64位的,所有你的shell扩展也必须是64位的。 看起来目前版本的Total Commander只有32位

注册表重定向器就是这样,当你在32位程序中时,它隐藏(“重定向”)64位的reg-entries,反之亦然。

我很困惑,因为在我的32位注册表 – 查看器 – 应用程序中,我可以看到这些键,但不知道我只看到注册表的一部分(64位部分必须看到像64位查看器在64位Windows机器中默认regedit.exe)