2010-07-02 57 views
3

使用Visual Studio调试命名空间扩展的最佳方式是什么?使用regsvr32注册和取消注册扩展并为每个构建重新启动资源管理器都不方便。将调试器附加到扩展将是一个很好的好处。使用Visual Studio调试命名空间扩展

有没有简单的方法来调试命名空间扩展使用Visual Studio?

+0

如果您更详细地说明您要做什么,这将有所帮助。为什么你需要注册你的dll的例如,等等。 – 2010-07-02 13:12:50

+0

我正在写一个命名空间扩展,为浏览器添加一个新的虚拟文件夹。这是使用注册为COM服务器的dll完成的。 我的问题是,我没有找到一种方法来使用Visual Studio调试此扩展。当重建我的项目时,我必须杀死资源管理器,因为该DLL已加载。我无法将调试器附加到该过程。 我想知道是否有一个简单的方法来启动和调试这样的命名空间扩展。 – Wienczny 2010-07-02 14:49:02

+0

我没有在这方面尝试过,但为什么不在项目属性explorer.exe中指定为“开始操作|启动外部程序”。你将不得不指定确切的路径(比如说“C:\ Winnt \ explorer.exe”),最有可能的就是应该这样做。 – 2010-07-02 15:05:02

回答

2

如果启动资源管理器的东西,如explorer.exe /separate,::{desktopguid}\::{yourguid}你应该得到一个单独的进程为窗口,它应该拿起新的注册表项(或现有的项目,如果你只是离开他们在那里,你可以再增加一个GetWindowThreadProcessId(GetShellWindow(),...)!=GetCurrentProcessId()检查,而不是加载“主”shell进程)。

也有可以设置来改变资源管理器的行为的一些注册表值:DesktopProcess,SeparateProcess和BrowseNewProcess

依法关闭外壳不查杀过程中taskmgr,用这种旧关机招:单击开始,然后关机。按住Ctrl + Alt + Shift并单击取消