如何删除在C#应用程序卸载托盘图标(How do I remove tray icon on app

2019-10-16 15:46发布

我有一个托盘图标的应用程序。 我使用的NotifyIcon做这个工作。 我已经创造了在Visual Studio它安装和卸载应用程序的设置。

问题是,当我卸载该程序,它的任务栏图标不会被删除,该程序已被卸载后,也我可以点击图标和开始即使从后端的.exe文件已被删除卸载应用程序。

Answer 1:

通常的做法是在托盘应用程序创建一个后台线程将等待信号被命名事件。 然后您卸载应该设置这个事件到信号状态。 当事件标志着托盘应用程序只是退出。

在您的托盘应用程序的后台线程:

EventWaitHandle ev = new EventWaitHandle(false, EventResetMode.AutoReset, "MyCloseEventName");
ev.WaitOne();

在您的卸载程序:

EventWaitHandle ev = EventWaitHandle.OpenExisting("MyCloseEventName");
ev.Set();


文章来源: How do I remove tray icon on application uninstall in C#