我有一个试图在 Windows 7 64 位上安装的 Copy Hook Handler shell 扩展。
Shell 扩展 DLL 编译为 32 位和 64 位 Windows 的两个不同版本。
DLL 实现了 DLLRegisterServer,它添加了必要的注册表项。
添加注册表项后,它调用以下代码行来通知 Windows shell:
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
在 Windows7 32 位上一切正常。shell 会立即识别扩展名。
在 64 位上,只有在重新启动 shell 后才能识别 shell 扩展。
我有什么办法可以在不重新启动 64 位 shell 的情况下识别扩展名?