我的应用程序中的™符号不允许我使用pywinauto启动应用程序

时间:2017-04-03 11:43:27

标签: python-3.x ui-automation pywinauto

我尝试了多种启动应用程序的方法。在某些情况下,我能够启动它但无法使用print_control_identifier,或者在另一种情况下,我甚至无法启动我的应用程序。我尝试了pywinauto 0.6.2开始文档中显示的这段代码。

# coding: utf-8
# -*- coding: utf-8 -*-
from subprocess import Popen
from pywinauto import Desktop
Popen('TRACE™ 3D Plus.exe', shell=True)
dlg = Desktop(backend="uia").TRACE™ 3D Plus
dlg.wait('visible')

现在,当我从命令提示符运行这段代码时,我收到错误

File "3d.py", line 6
dlg = Desktop(backend="uia").TRACE\ufffd 3D Plus
SyntaxError: invalid character in identifier

正如我所看到的,在执行代码段时,我的应用程序名称中的™符号未被正确解释。

有关同样的想法以及我能做些什么来使其发挥作用?

提前致谢!

1 个答案:

答案 0 :(得分:0)

正如我们通过Skype所知,以下方法适用于此应用:

import os
from pywinauto import Application

exe_folder = "C:\\Program Files (x86)\\Trane\\TRACE 3D Plus"
executable = os.path.join(exe_folder, "TRACE\u2122 3D Plus.exe")

os.chdir(exe_folder)
app = Application(backend="uia").start(executable)

即使从cmd.exe开始运行此可执行文件也非常困难。我们还必须将工作目录更改为可执行文件所在的文件夹。否则它会显示内部异常(似乎是应用程序问题)。