我想创建一个方法来检查某个程序是否正在运行 - 如果是,请启动另一个程序。如何在Windows中启动另一个进程时启动进程?
这是我在英美烟草
@ECHO OFF
:LOOP
tasklist /nh /fi "imagename eq steam.exe" | find /i "steam.exe" >nul && START "" "C:\Program Files\TeamSpeak 3 Client\ts3client_win64.exe" || goto :LOOP
进展,我创建在Windows启动时,基本上开始BAT(这是唯一的,以确保该批处理文件不可见的控制台窗口中运行)一个VBS:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\if Steam running then TS.bat" & Chr(34), 0
Set WshShell = Nothing
我的问题是,这样做,我得到了令人难以置信的高CPU使用率(与I5-4670k 20至60%)。
我做错了什么?或者我可以改进代码吗?我正在考虑放慢窗口检查过程的时间(即等待2秒钟然后检查),但我对编码真的很陌生,对于如何这样做我没有任何想法。
我知道我的英语并不完美,对不起。
编辑:如果有帮助,我的电脑在Windows 10
作为另一种选择,我相信微软应用程序兼容性工具包能为你做到这一点。 –