如何批量检查蒸汽是否正在运行,如果蒸汽未运行则执行显示开关

时间:2014-01-09 21:54:50

标签: batch-file steam

@echo off
DisplaySwitch.exe /extend
start "" "C:\Program Files (x86)\Steam\Steam.exe" -bigpicture
tasklist /fi "imagename eq steam.exe" |find ":" > nul
if errorlevel 1 (
DisplaySwitch.exe /external
)

DisplaySwitch.exe将我的monior设置从第二个屏幕更改为仅扩展 第3行以大图模式启动蒸汽 我不熟悉第4行,基本上它应该列出蒸汽并生成错误级别,0表示程序正在运行,1表示它不是。 if语句,如果prgram没有运行,只将监视器设置改回第二个屏幕。

我有一个双显示器设置,然后旁边的电视,我用于蒸汽大图片。 (我没有为大图片以外的实例启用它)我最近得到了一个具有可编程键的新键盘,所以我想编写一个键来运行大图,切换显示器和所有爵士乐。因此,当我按下此按钮时,我希望我的显示器设置更改为扩展,(所以我的电视有电脑信号),而不是启动蒸汽大图,这是我能够实现的。当我想回到正常的显示器设置时出现了问题。我想测试蒸汽是否正在运行,如果不是(我退出蒸汽大图)我希望它回到我的默认显示器设置。我使用过多的互联网资源制作了这段代码,但我似乎无法将最后一部分放在正确的位置。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

如果你要说出做什么而不是让我们怀疑,那也许会有所帮助。显然,尽管存在steam.exe,它似乎正在执行切回。这是对的吗?

执行steam时,实际上并未加载AFAICS,可能tasklist。您可能需要插入延迟。

timeout /t 1 >nul

应该照顾 - 1秒。

或者,也许你可以试试

start /WAIT "" "C:\Program Files (x86)\Steam\Steam.exe" -bigpicture

应该等待蒸汽退出然后再继续下一步。可能根本就不需要tasklist ......


编辑:开始行以增加清晰度

相关问题