gpt4 book ai didi

c++ - 在 Windows 7 中调试 shell 扩展

转载 作者:IT老高 更新时间:2023-10-28 21:45:07 33 4
gpt4 key购买 nike

我正在尝试使用 Visual C++ 2008 在 Windows 7 中调试 shell 扩展 (IContextMenu)。我已在注册表中设置 DesktopProcess=1 并将主机应用程序设置为 explorer.exe。但是当我启动调试器时,它会启动 explorer.exe,然后从进程中分离出来。没有调用 shell 扩展的 DllMain。

在调试器中启动的具有完全相同设置的相同代码在 Windows XP + Visual C++ 2008 中没有任何问题。

关于如何在 Win7 中调试 shell 扩展有什么想法吗?

最佳答案

我发现了一个很好的工作流程,我认为这是在开发 shell 扩展时快速迭代代码-构建-测试周期的最快方法。以下内容应该适用于任何 Windows 版本。

首先准备——将你的shell扩展项目的启动程序设置为c:\windows\explorer.exe,并将其设置为启动项目。

然后,每当您想调试您的 shell 扩展时,请执行以下步骤:

  • 单击任务栏并按 Alt-F4 - 这将打开关闭对话框
  • 按 Ctrl-Alt-Shift-Escape - 此组合将关闭资源管理器。
  • 使用 Alt-Tab 返回 Visual Studio 并按 F5 - 资源管理器现在将启动,并从一开始就附加 VS 调试器。
  • 完成后,只需停止调试器 session 即可。这将杀死已调试的资源管理器实例,并且还将自动启动它的正常实例。这也将解锁外壳扩展 DLL,以便您可以再次构建它。

关于 Vista 和 7 的注意事项 - 确保在非管理员模式(非提升)下运行用于调试的 Visual Studio,以便资源管理器以其通常的非提升模式启动。

关于c++ - 在 Windows 7 中调试 shell 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1331876/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com