我想打开Windows资源管理器并选择特定文件。 这是API:explorer /select,"PATH"
。因此,导致下面的代码(使用python 2.7):启动GUI进程而不会产生黑色外壳窗口
import os
PATH = r"G:\testing\189.mp3"
cmd = r'explorer /select,"%s"' % PATH
os.system(cmd)
的代码工作正常,但是当我切换到非壳模式(pythonw
),之前的资源管理器是出现了片刻黑色外壳窗口推出。
这是与os.system
预计。我创建了以下函数来启动进程而不产生窗口:
import subprocess, _subprocess
def launch_without_console(cmd):
"Function launches a process without spawning a window. Returns subprocess.Popen object."
suinfo = subprocess.STARTUPINFO()
suinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
p = subprocess.Popen(cmd, -1, stdout=subprocess.PIPE, stderr=subprocess.PIPE, startupinfo=suinfo)
return p
这对没有GUI的shell可执行文件工作正常。但它不会启动explorer.exe
。
如何在不产生黑窗的情况下启动过程?
令人吃惊:我第C的WinExec与和ShellExec试图/ C++代码,它给我相同的行为。 – lucasg