我在 Windows 8 上运行。
我经常在电脑的后台运行 nginx 和 vagrant。这些程序没有用户界面。我唯一能知道它们是否正在运行的方法是查看任务管理器或从 Mingw 执行“ps”。
如果进程正在运行,我想显示一个微妙的视觉指示,如果进程未运行,则删除该指示。我该怎么做?
更多信息:
- 托盘项目是一个很好的视觉指示器。右上角的透明状态消息也很好。
- 我运行 mingw 和 cygwin。因此,标准 Windows 解决方案、powershell 或其中一个解决方案也可以
- 我想象在 mingw 中有一种方法可以每 60 秒轮询一次 ps 的结果,并根据结果以某种方式切换图标......但是如何做呢?
更新:已提供答案。这是我的最终 AutoIt 脚本。它仅使用 1.5 MB 内存运行,并且可以像任何托盘图标/通知一样进行管理:
$run=1
while $run
if processexists("nginx.exe") Then
TraySetIcon("C:\Users\jens\Workspaces\AutoItScripts\nginx_on.ico")
Else
TraySetIcon("C:\Users\jens\Workspaces\AutoItScripts\nginx_off.ico")
EndIf
sleep(30000) ;wait 30 seconds
wend
答案1
您可以用免费软件语言 AutoIt 编写一个简单的程序来完成此任务。这真的很容易。让我马上试试……
$run=1
while $run
if processexists("calc.exe") Then
traytip("program running","calc.exe",30)
Else
TrayTip("clears any tray tip", "", 0)
EndIf
sleep(500) ;wait 500ms
wend
如果你安装了 autoit 并编译它,你就得到了你所需要的。如果你愿意的话,我可以用托盘图标出现和消失来制作更漂亮的东西,而不是托盘提示气泡 :)