【发布时间】:2012-05-08 19:28:19
【问题描述】:
我有一个带有托盘图标的应用程序。我正在使用 notifyicon 来完成这项工作。 我在安装和卸载应用程序的 Visual Studio 中创建了它的设置。
问题是当我卸载程序时,它的托盘图标没有被删除,即使在程序被卸载后,我也可以单击图标并启动应用程序,即使其后端的 .exe 文件已被删除卸载程序。
【问题讨论】:
标签: c# setup-project uninstallation trayicon
我有一个带有托盘图标的应用程序。我正在使用 notifyicon 来完成这项工作。 我在安装和卸载应用程序的 Visual Studio 中创建了它的设置。
问题是当我卸载程序时,它的托盘图标没有被删除,即使在程序被卸载后,我也可以单击图标并启动应用程序,即使其后端的 .exe 文件已被删除卸载程序。
【问题讨论】:
标签: c# setup-project uninstallation trayicon
通常的方法是在您的托盘应用程序中创建一个后台线程,该线程将等待指定事件发出信号。然后你的卸载程序应该将此事件设置为信号状态。当事件发出信号时,托盘应用程序就会退出。
在您的托盘应用程序的后台线程中:
EventWaitHandle ev = new EventWaitHandle(false, EventResetMode.AutoReset, "MyCloseEventName");
ev.WaitOne();
在您的卸载程序中:
EventWaitHandle ev = EventWaitHandle.OpenExisting("MyCloseEventName");
ev.Set();
【讨论】: