如何根据是否为GUI应用程序来启动函数并选择等待或不等待?
我在找一个Python函数,它的行为跟Windows的命令行工具cmd.exe
一样,能够在等待新启动的程序完成时表现得很像。目前我在用os.system()
,但这个函数总是会阻塞,也就是说它会一直等着,直到程序结束,哪怕是启动一些图形界面的应用程序(这些程序如果是用C/C++写的,通常会有一个WinMain
函数,并且是用/SUBSYSTEM:WINDOWS
链接的)。
那么我应该用什么代码来启动外部程序呢?我希望在启动控制台应用程序时函数能够阻塞,但在启动图形界面应用程序时又不想它阻塞?
2 个回答
0
Python没有一个标准的方法来查看你可以用进程API启动的可执行文件。
你可以试试用 cmd.exe
来启动外部命令?或者在 %TEMP%
目录下创建一个BAT脚本,然后运行它。
2
你可以写一个小的C语言程序,来检查子系统(可以用ImageNtHeader
这个函数)。如果其他方法都不行的话,你还可以直接解析PE头部信息。