簡體   English   中英

從Windows命令行啟動進程時如何抑制程序GUI?

[英]How to suppress a program GUI when starting a process from Windows command line?

您好,我是第一次在這樣的網站上提問,因此,如果我誤入歧途(或需要澄清),請幫助我。 開始:

我已經構建了一個python腳本,該腳本成功地在Windows 7中作為新進程(或子進程?是真的嗎?)啟動程序。該程序及其GUI打開並運行一個特定的文本文件,並在完成后生成結果數據保存到.csv中,程序和進程終止。 相關的python代碼如下:

import subprocess
import os
pw_directory = r"C:\Program Files (x86)\..." #directory of theProgram.exe
master_directory = r"C:\Users\...." #path to the .txt file that is executed in theProgram.exe
os.chdir(pw_directory)
my_process = subprocess.Popen([r"theProgram.exe", master_directory])

我的問題是:有沒有辦法在程序作為新進程啟動時取消其GUI界面? 我只想加載.txt文件並在后台執行它,因為由於所有操作都是自動化的,因此無需與GUI進行交互。

為了使問題更籠統,我沒有包括Program.exe名稱,盡管這可能是必要的信息。 不確定。 感謝您的任何建議。

某些 Windows程序允許它們從命令行運行,而GUI則禁止它們在程序之間變化。

無論是檢查具體方案網站/幫助/手冊/用戶組或嘗試從與從命令行運行-h -? -help--help標志-允許它的標志通常具有命令行幫助-並尋找一個安靜的選項(通常使用-q --quiet或--silent)。

另外,某些程序實際上是GUI前端,用於命令行后端處理,因此在命令行上可能會運行完全不同的命令-通常是尋找文檔的地方。

抱歉,這實際上是RTFM的長版本,但是我所知道的確實沒有完全通用的答案。

更新

這個答案 (來自塞巴斯蒂安·JF的評論)使我走上了:

startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = SW_HIDE # i.e. 0 you could also try 11 SW_FORCEMINIMIZE
subprocess.call(["theProgram.exe", etc], startupinfo = startupinfo)

這看起來可以滿足您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM