不要用 os.system() 会因为系统语言和中文导致失败
感谢
第19例子
https://www.programcreek.com/python/example/24860/win32api.ShellExecute
#coding=utf-8
import os
import sys
import win32api
import win32con
from win32comext.shell.shell import ShellExecuteEx
from win32comext.shell import shellcon
import win32process
import time
import win32event
import _thread
def experimentGuide(index):
if(index == 1):
exePath = r'C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe '
helplFile = r'D:\as.pdf'
# handle = win32api.ShellExecuteEx(0, 'open', helplFile, '', '', 1)
procInfo = ShellExecuteEx(nShow=win32con.SW_SHOWNORMAL,
fMask=shellcon.SEE_MASK_NOCLOSEPROCESS,
lpVerb='open',
lpFile=helplFile,
lpParameters='')
# handle = win32process.CreateProcess(exePath, helplFile, None, None, 0, win32process.CREATE_NO_WINDOW, None, None, win32process.STARTUPINFO())
print('wait for end')
#等待进程结束
print(win32event.WaitForSingleObject(procInfo['hProcess'], -1))
time.sleep(5)
print('close it')
if __name__ == '__main__':
experimentGuide(1)
# _thread.start_new_thread(experimentGuide())