2014-01-09 55 views
0
@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行,基本上應該列出steam並生成錯誤級別,0表示程序正在運行,1表示不是。 if語句,如果prgram未運行,則只將顯示器設置更改回第二個屏幕。如何檢查是否蒸汽在批量運行,那麼如果蒸汽不運行

我有一個雙顯示器設置,然後一個電視旁邊,我用蒸汽大圖片。 (我沒有啓用大圖片以外的其他實例)我最近得到了一個帶有可編程鍵的新鍵盤,所以我想編一個鍵來運行大圖片,開關監視器和所有爵士樂。所以當我按下這個按鈕時,我希望我的顯示器設置更改爲擴展(所以我的電視有一個電腦信號),而不是啓動蒸汽大圖,這是我能夠實現的。當我想回到正常的顯示器設置時出現問題。我想測試一下蒸汽是否在運行,如果不是(我退出蒸汽大圖)我想讓它回到我的默認顯示器設置。我使用過多的互聯網資源製作了這些代碼,但我似乎無法得到最後一部分的權利。任何幫助將不勝感激!

回答

0

也許它會幫助,如果你說它是什麼,而不是讓我們想知道它做什麼。顯然,儘管存在steam.exe,但它似乎正在執行切換。這是正確的嗎?

當執行tasklist時,AFAICS,可能是steam未實際加載。您可能需要插入延遲。

timeout /t 1 >nul 

應該照顧 - 1秒。

或者,也許你可以嘗試

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

應該等待蒸汽繼續下一步之前退出。可能不會需要tasklist都這樣...


編輯:起點線更加清楚

+0

然後我就實現,在 – user3116885

+0

您是否嘗試過我建議的解決方案的問題? – Magoo

+0

我還沒有嘗試過你建議的最後一步,我不知道如何實現/ wait – user3116885