gpt4 book ai didi

windows - 使用 VirtuaWin 时,资源管理器窗口的 GetWindowRect 值非常负

转载 作者:可可西里 更新时间:2023-11-01 10:39:58 27 4
gpt4 key购买 nike

我正在拼凑一些东西,列出我的 Windows 盒子上的每个窗口,似乎(仅)我的一个窗口 GetWindowRect 返回一个 y 坐标非常负的矩形。

可能的并发症:(1) 我有多个显示器,但 (1a) y 坐标非常负,大约为 -24000,并且 (1b) 两个显示器上的其他窗口都没有显示这种效果; (2) 我正在使用 VirtuaWin 虚拟桌面工具,但是 (2a) 其他窗口,在多个不同的虚拟桌面和两个显示器上,都没有显示这种效果; (3) 我在 Python 中使用 pywin32 模块完成所有这些工作。

有问题的窗口是 Windows 资源管理器窗口。它的大小或位置并无异常(至少通过肉眼观察)。当前事件的虚拟桌面上的资源管理器窗口不会显示此行为,但当我在其他虚拟桌面上创建资源管理器窗口时,它们会显示相同的意外效果。

我运行的是 Windows XP 和 VirtuaWin 4.3 版。

那么,这是怎么回事?

最佳答案

所以,事实证明,这与Python或多显示器无关。 VirtuaWin 有两种不同的方法可以在非当前虚拟桌面上隐藏窗口。其中之一涉及隐藏窗口;另一个涉及弄乱他们的坐标以将他们移出屏幕。

坐标修改技术用于 Windows 资源管理器窗口(我相信也用于某些版本的 Internet Explorer 的窗口),因为这些应用程序,如果您隐藏一个窗口然后创建一个新窗口,关闭先前隐藏的窗口!

因此,从 2.6 开始的 VirtuaWin 版本将属于这些应用程序的窗口移到屏幕外而不是隐藏它们。

效果是这些窗口的 y 坐标从它们的“真实”值中减去 25000。

关于windows - 使用 VirtuaWin 时,资源管理器窗口的 GetWindowRect 值非常负,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5107150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com