我正在尝试在 ClickOnce 应用程序中自动化一系列 GUI 控件,但是我在通过自动化代码启动应用程序时遇到问题。我想做的是用 启动应用程序CreateProcess()
,这样我就可以有一个窗口句柄来执行我的控件。
这是我当前的代码(我省略了应用程序的路径):
import win32process
import win32con
path_to_app = "path_to_application\\application.appref-ms"
startupinfo = win32process.STARTUPINFO()
(hprocess, hthread, dwprocessid, dwthreadid) = win32process.CreateProcess(path_to_app, None, None, None, 0, win32con.NORMAL_PRIORITY_CLASS, None, None, startupinfo)
# Execute controls here
这是我得到的错误:
pywintypes.error: (193, 'CreateProcess', '%1 不是有效的 Win32 应用程序。')
如果我尝试直接打开.exe
最终会运行的程序,它会失败并显示我应该通过快捷方式运行的消息(在本例中为.appref-ms
)。
如何启动应用程序并获取其窗口句柄?