1. 程式人生 > >用代碼打開軟件 和 手動雙擊打開軟件,軟件顯示不一致問題解決

用代碼打開軟件 和 手動雙擊打開軟件,軟件顯示不一致問題解決

str and win32 所在 回來 sys cor run nbsp

具體問題:手動雙擊軟件圖標,軟件界面顯示為原先設置好的中文,而用代碼實現啟動軟件時,軟件界面顯示為英文。

程序運行環境:Python3

1 autoit.run(rD:\AccessPort\accessport.exe)  # 調用autoit3的API
2 
3 os.startfile("D:\\AccessPort\\accessport.exe")  # os模塊中的startfile()
4 
5 os.system(r"D:\\AccessPort\\accessport.exe")
6 
7 win32api.ShellExecute(0, open, D:\\AccessPort\\accessport.exe
, ‘‘, ‘‘, 1) 8 9 handle = win32process.CreateProcess(D:\\AccessPort\\accessport.exe, ‘‘, None, None, 0, win32process.CREATE_NO_WINDOW, None, None, win32process.STARTUPINFO())

使用這5種語句,出現一樣的問題

打開命令行終端,直接輸入D:\AccessPort\accessport.exe並回車,軟件打開顯示界面依然為英文

之後嘗試切換路徑到D:\AccessPort,再執行D:\AccessPort\accessport.exe

,軟件打開顯示界面為正常的中文。

技術分享圖片

至此,得出問題解決方案,執行目錄必須為exe文件所在目錄。

# 代碼做出處理
current_dir = os.getcwd()
os.chdir("D:\\AccessPort")  # 更改工作目錄為軟件所在文件夾
os.startfile("D:\\AccessPort\\accessport.exe")  # 打開軟件執行語句
os.chdir(current_dir)  # 避免後續代碼運行出現問題,把目錄更改回來

經驗證,更改工作目錄後,之前的5種語句均能打開 中文界面的軟件。問題解決。

用代碼打開軟件 和 手動雙擊打開軟件,軟件顯示不一致問題解決