congyinew

具体问题:手动双击软件图标,软件界面显示为原先设置好的中文,而用代码实现启动软件时,软件界面显示为英文。

程序运行环境:Python3

 

1 autoit.run(r\'D:\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种语句均能打开 中文界面的软件。问题解决。

 

分类:

技术点:

相关文章: