我想創建一個方法來檢查某個程序是否正在運行 - 如果是,請啓動另一個程序。如何在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
作爲另一種選擇,我相信微軟應用程序兼容性工具包能爲你做到這一點。 –