我为浏览器编写了一个扩展Windows上下文菜单的COM Dll,通过regsvr32进行注册在32位Windows上工作正常,但在64位上它没有任何线索也无法正常工作。 regsvr32报告成功注册,虽然Dll不起作用。我试图从SysWow64目录以及system32调用regsvr32,这不是我猜的原因。检查了注册表 - 所有内容都写入了注册表wow3264Node ofcourse(因为安装是在64位操作系统上)。仍然没有任何反应现在很难提供任何具体信息。任何人都可以建议或指出此类行为的其他可能原因。提前谢谢。
答案 0 :(得分:0)
您需要编译64位的DLL。注册代码写入Wow6432Node
的事实表明您的DLL是32位。在64位操作系统上,Explorer是64位进程,因此只能加载64位shell扩展。
不要忘记在64位计算机上注册32位和64位版本的shell扩展,这样任何32位程序都可以看到你的shell扩展。您可以使用C:\Windows\SysWOW64\regsvr32