如何避免上下文菜单处理程序应用程序阻止浏览器?

时间:2010-01-21 16:14:37

标签: windows contextmenu

我创建了一个应用程序,可以通过从IContextMenu和IShellExtInit派生来通过上下文菜单调用它。我注册了DLL,当我右键单击时,应用程序被调用。

但问题是,直到我的应用程序结束,我无法访问该资源管理器中的任何其他文件。资源管理器被有效阻止,直到我的申请完成。

同样的行为并未反映在其他类似的应用程序中,如WinZip,WinRar等。

如何避免我的应用程序阻止浏览器?

这方面的任何指示都会非常有用。

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。我应该在探索器调用我的DLL时生成一个进程,以便我的进程可以单独继续,而资源管理器可以继续执行它而不会阻塞我的逻辑。

感谢Paul Betts的初步建议。

答案 1 :(得分:0)

将调试器附加到资源管理器并查找在调用堆栈中包含DLL的线程,然后查看它被阻止的内容