You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pywinauto 0.6.8是否兼容Windows11?Application类调用报错求助

pywinauto在Windows11中使用Application类报错的解决方法

你遇到的并非pywinauto完全不兼容Windows11,而是0.6.8版本对Windows11的窗口识别逻辑存在适配问题,以下是几种可行的解决办法:

  • 增加窗口加载延迟
    Windows11的应用窗口初始化节奏和Win10存在差异,旧版本pywinauto可能在窗口完全创建前就尝试获取,导致报错。可以在启动应用后添加等待时间,或者通过进程ID连接:

    from pywinauto import application
    import time
    
    app = application.Application()
    app.start('Notepad.exe')
    time.sleep(2)  # 等待窗口加载完成
    app.top_window().PrintControlIdentifiers()
    

    更可靠的进程ID连接方式:

    from pywinauto import application
    
    app = application.Application()
    proc = app.start('Notepad.exe')
    app.connect(process=proc.process_id)
    app.top_window().PrintControlIdentifiers()
    
  • 升级pywinauto版本
    0.6.8是2020年的旧版本,后续版本已经针对Windows11做了适配。执行以下命令升级到最新稳定版:

    pip install --upgrade pywinauto
    

    升级后无需修改原代码,即可正常运行。

  • 结合Desktop类定位窗口
    既然你测试Desktop类可用,可通过进程ID过滤来定位目标窗口:

    from pywinauto import application, Desktop
    
    app = application.Application()
    proc = app.start('Notepad.exe')
    notepad_window = Desktop(backend="uia").window(process=proc.process_id)
    notepad_window.PrintControlIdentifiers()
    

内容的提问来源于stack exchange,提问作者Tao Sun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 00:25:57