トレイアイコン付きのアプリケーションがあります。私はこの仕事をするためにnotifyiconを使用しています。アプリケーションをインストールおよびアンインストールするセットアップをVisualStudioで作成しました。
問題は、プログラムをアンインストールすると、トレイアイコンが削除されず、プログラムをアンインストールした後でも、バックエンドの.exeファイルがアンインストーラーによって削除されていても、アイコンをクリックしてアプリを起動できることです。
トレイアイコン付きのアプリケーションがあります。私はこの仕事をするためにnotifyiconを使用しています。アプリケーションをインストールおよびアンインストールするセットアップをVisualStudioで作成しました。
問題は、プログラムをアンインストールすると、トレイアイコンが削除されず、プログラムをアンインストールした後でも、バックエンドの.exeファイルがアンインストーラーによって削除されていても、アイコンをクリックしてアプリを起動できることです。
通常のアプローチは、名前付きイベントが通知されるのを待機するバックグラウンドスレッドをトレイアプリケーションに作成することです。次に、アンインストーラーはこのイベントをシグナル状態に設定する必要があります。イベントが通知されると、トレイアプリケーションは終了します。
トレイアプリケーションのバックグラウンドスレッド:
EventWaitHandle ev = new EventWaitHandle(false, EventResetMode.AutoReset, "MyCloseEventName");
ev.WaitOne();
アンインストーラーの場合:
EventWaitHandle ev = EventWaitHandle.OpenExisting("MyCloseEventName");
ev.Set();