我在Windows 7上运行Python脚本,每隔几秒就打开一个子进程。此子进程打开一个窗口并抓取焦点,破坏用户在脚本运行时执行正常工作的任何尝试。我没有能力修改子进程代码本身。有没有办法将python脚本打开的所有子进程指定为非聚焦?
澄清:我需要打开窗口并且可以查看/选择,只是不要立即跳到其他正在进行的操作上。换句话说,它需要在后台打开,而不是强迫自己进入前台。
答案 0 :(得分:4)
以下是我最后的做法
# Hide the cmd prompt window
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = subprocess.SW_HIDE
p = subprocess.Popen(args, startupinfo=startupinfo)
答案 1 :(得分:1)
您可以使用subprocess.call
运行带有各种标记的进程此示例执行没有任何用户界面的控制台应用程序:
>>> import shlex, subprocess
>>> subprocess.call("C:\Windows\some_console_app.exe", shell=True)