【问题标题】:UIAWrapper returns incorrect rectangle for windowUIAWrapper 为窗口返回不正确的矩形
【发布时间】:2022-01-09 14:07:24
【问题描述】:

我试图获取所有正在运行的进程,并希望将其显示为列表中的小快照图像。我能够做到这一点。但是对于我的一个应用程序(一个用 C# 开发的 winforms 应用程序),它不能按预期工作。我可以清楚地看到应用程序正在运行并且可见。

 windows = Desktop(backend='uia').windows()
 for win in windows:
    print(win.element_info.rectangle)

这里的矩形给了我上面提到的应用程序的<RECT L0, T0, R0, B0>。 当我尝试使用窗口句柄获取窗口矩形时,我也没有得到正确的值。

left, top, right, bot = win32gui.GetWindowRect(hwnd)

这给了我如下值。

left : -40000
top: -40000
right:-39751
bot: - 39957

这里有什么问题?我在该应用程序中只有一个窗口。它适用于所有其他窗口(explorer、outlook、chrome、edge、VS Code 等)

【问题讨论】:

    标签: python pywinauto win32gui


    【解决方案1】:

    如果连Win32 API OS函数都得到错误的数据,那是app端的窗口本身有问题。请向应用程序开发人员报告。 Python 端无事可做。

    【讨论】:

      猜你喜欢
      • 2021-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      相关资源
      最近更新 更多