Microsoft Windows APIコードパックを利用するC#アプリケーションがあります。特に、ストレージデバイスとメディアの挿入と削除を監視するために使用するShellExtensionsがあります。
ただし、Visual C#2010(Express)でアプリを閉じようとすると、デバッガーを手動で停止する必要があります。ShellObjectWatcherを手動で破棄した場合でも、WinAPIコードパックにバックグラウンドループがまだ実行されているようです。私がそれを殺すことができる唯一の方法は、デバッガーを手動で停止することです。
アプリはWPFに組み込まれています。
最終的に、VisC#2010は、デバッガーでアプリを実行しようとすることを諦めます。デバッグを開始するように指示しましたが、開始しません。再開する唯一の方法は、タスクマネージャーを使用してアプリを強制終了し、VC#2010をシャットダウンしてコーヒーを飲みに行ってから再起動することです。奇数。アプリをクリーンアップしようとしたときにシャットダウンされていない、隠れたプロセスまたはウィンドウがぶら下がっていると思われます。
このShellObjectWatcherをもう少し効果的にクリーンアップする方法はありますか?