【问题标题】:how to remove the tray icon after taskkill the application?taskkill应用程序后如何删​​除托盘图标?
【发布时间】:2023-03-17 00:43:01
【问题描述】:

我使用 inno setup 来设置我的应用程序。在安装之前,我会检查应用程序是否仍在运行,并使用 taskkill 命令杀死应用程序强制。但我发现托盘图标不会消失。

杀死后如何温和地终止应用程序或将托盘图标从托盘中移除?

【问题讨论】:

  • this 和 this 的副本。您的解决方案是,不要使用 taskkill。让您的应用程序创建一个互斥体并改用AppMutex 指令。
  • 我想自动关闭应用程序,而不是由用户手动关闭。如果 AppMetux 可以做到这一点?
  • 不,这不是 AppMutex 指令的用途。
  • 所以,问题可能变成了:如何自动关闭应用程序并正确关闭应用程序。
  • 有人问here。

标签: inno-setup trayicon taskkill


【解决方案1】:

我遇到了完全相同的问题,并通过对我的 bat 文件进行简单更改来解决它,而无需安装任何其他程序。

问题是我使用 /f 运行 taskkill,强制(硬)杀死任务。如果你在没有 /f 的情况下杀死它,它会向应用程序发送关闭信号,应用程序会干净地退出并删除其系统托盘图标。

在我的 bat 文件中,我执行了两个 taskkill 命令;第一个不带 /f,然后再带 /f。如果第一个有效(通常应该),那么一切都很好,系统托盘图标消失了。如果由于某种原因第一个失败,第二个仍然会杀死它,尽管在这种情况下系统托盘图标不会被删除。

所以,就我而言,我使用:
taskkill /t /im Memu*
taskkill /f /t /im Memu*

效果很好:-)

【讨论】:

    猜你喜欢
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多