防止python窗口被聚焦

时间:2012-05-26 14:57:15

标签: python windows-7 focus subprocess

我在Windows 7上运行Python脚本,每隔几秒就打开一个子进程。此子进程打开一个窗口并抓取焦点,破坏用户在脚本运行时执行正常工作的任何尝试。我没有能力修改子进程代码本身。有没有办法将python脚本打开的所有子进程指定为非聚焦?

澄清:我需要打开窗口并且可以查看/选择,只是不要立即跳到其他正在进行的操作上。换句话说,它需要在后台打开,而不是强迫自己进入前台。

2 个答案:

答案 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)