windows shell編程 的一些小疑問 win7 64位操作系統 vs2003工具

win7上编写的一个window shell
用于 右键文件时 添加一个私人的菜单并弹出一个提示对话框。

现在出现有一个bug
在桌面(explore。exe)右键没有效果
但是在其他程序中有效果。
例如我打开vs2003工程 file -》 Open Project 弹出一个选择工程的窗口。
在这个窗口里面 右键 出现了我添加的那个 menu。

以前在xp上面没有这个bug 但是现在在 win7上面就出现了。
不知道为什么?
还有在附加进程的时候 explore。exe 也不能够被附加。
错误:
调试不能开始
程序' C :\ Windows上explorer . exe '不能开始。
指定的文件,不被认识,或者不被支持二进制格式。

该回答引用ChatGPT

对于第一个问题,这可能是因为在Windows 7中,资源管理器(explorer.exe)被设计为在单独的进程中运行。因此,您的Shell扩展只能在其他程序中显示。您可以尝试使用Windows API函数来检查资源管理器进程的父进程并确保它是资源管理器本身。这将允许您正确地显示Shell扩展菜单。


对于第二个问题,可能是因为您的调试器与资源管理器进程不兼容。您可以尝试使用另一个调试器或者将资源管理器进程复制到一个可调试的位置并在那里调试它。另外,请确保您使用的调试器与您的操作系统和资源管理器版本兼容。


请注意,修改Windows Shell可能会导致系统不稳定或出现其他问题。在进行任何修改之前,请备份您的系统和注册表,并谨慎测试和实现您的代码。