我有一个使用 Microsoft Windows API 代码包的 C# 应用程序 - 特别是 Shell 扩展,我用它来监视存储设备和媒体插入和移除。
但是,当我尝试在 Visual C# 2010 (Express) 中关闭应用程序时,我必须手动停止调试器。即使我手动处理了 ShellObjectWatcher,Win API 代码包中似乎仍有一个后台循环仍在运行。我可以杀死它的唯一方法是手动停止调试器。
该应用程序内置于 WPF 中。
最终,VisC#2010 放弃了尝试在调试器下运行应用程序。你告诉它开始调试,它只是没有。让它再次运行的唯一方法是使用任务管理器终止应用程序,然后关闭 VC#2010 - 去喝杯咖啡 - 然后重新启动它。奇怪的。我怀疑有一个隐藏的进程或窗口在我尝试清理应用程序时没有被关闭。
知道如何更有效地清理这个 ShellObjectWatcher 吗?