我已经构建了一个通过SystemTray类隐藏在系统托盘中的应用程序。可以正常工作,但是当我退出程序并再次启动它时,在用光标将其悬停之前,它并没有从托盘中删除该图标。多次执行此操作将导致出现多个图标:
这是我的程序有问题还是Windows的错误?
我遵循this guide创建系统任务栏图标。
最佳答案
当创建托盘图标的应用程序终止时,Windows不会自动删除该托盘图标。只有当用户将鼠标悬停在鼠标上并注意到拥有过程不再存在时,它才会这样做。
为了确保立即删除图标,您必须在程序退出时调用systemTray.remove(yourIcon)
。