autoit不会在编译的python脚本中检测windows

2024-06-02 11:22:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用AutoItX3。通过win32控制com.客户端检测并关闭Windows安全对话框(“您信任…”)。我将WinExist与window title\text一起使用,在运行python脚本时它工作得很好(Autoit版本是3.3.8.1)。在

问题在于编译的Python脚本(用PyInstaller编译)。没有检测到窗户,我关不上。当我运行Autoit应用程序(SciTE4AutoIt3)时,它确实检测到窗口。在

有什么建议吗?在

/////添加更多信息: 使用以下autoit选项:

Opt('WinWaitDelay', 500)
Opt('SendKeyDelay', 8)
Opt('WinTitleMatchMode', 4)
Opt('WinSearchChildren', 1)
Opt('SendKeyDownDelay', 10)
Opt('WinDetectHiddenText', 1)

auto{auto{1>作为另一个进程的实例(^也是一个进程的实例)


Tags: 实例脚本com客户端auto进程windowswindow
3条回答

您是否尝试使用经典方法设置活动X选项?比如:

oAutoItx.AutoItSetOption("WinTitleMatchMode", 4)

而不是: oAutoItx.Opt("WinTitleMatchMode", 4)

AutoItx的帮助也说:“模式4(“只为向后兼容而保留)”。 所以检查一下你的选择,选择最简单的方法。在

请尝试使用以下代码:

import pythoncom
pythoncom.CoInitialize()

这将初始化调用线程的COM库。在

在此处查看更多信息: http://docs.activestate.com/activepython/2.5/pywin32/pythoncom__CoInitialize_meth.html

通过在同一脚本中同时运行autoit功能和进程触发弹出窗口并在进程运行时监视弹出窗口来解决问题: popup_p = Popen(*cmd_args, no_wait=True, *cmd_kwargs) while popup_p.is_running(): handle_window_func() time.sleep(1) 请注意,Popen在不等待的情况下运行-返回进程而不等待它完成。在

相关问题 更多 >