我有一个在系统托盘(通知区域)中运行的非常基本的应用程序。该Main
方法如下所示:
using (NotifyIcon notifyIcon = new NotifyIcon())
{
notifyIcon.ContextMenuStrip = new ContextMenuStrip();
notifyIcon.ContextMenuStrip.Items.Add(new ToolStripMenuItem(
"Exit",
null,
delegate { App.Exit(); }
)
);
notifyIcon.Icon = Properties.Resources.MyIcon;
notifyIcon.Visible = true;
Application.Run();
}
到目前为止,这工作正常(我可以使用上下文菜单中的退出选项并且应用程序正确退出。但是,当软件卸载时我需要退出应用程序。现在我正在使用taskkill
我的 WiX 安装程序来执行此操作(也许有更好的方法?)。问题是,如果我这样做taskkill /im myapp.exe
,通知区域中的图标会消失但进程仍在运行。如果我强制关闭它,taskkill /f /im myapp.exe
则进程结束但图标仍然存在(直到我将鼠标悬停在它上面)。有没有办法删除图标并从单独的进程中结束进程?