0

我正在尝试将应用程序“停靠”到 MS Word 的左侧。

但是,Word 窗口的 .Left 属性似乎是错误的 - 就像它以某种方式缩放一样。

当窗口靠近最左边 ​​(0) 时,.Left 的返回值接近我的预期 - 准确。

我将 Word 向右移动得越远,它就越不准确。如果我把它移到我的左边显示器上,同样的模式也会发生——负数越多越不准确。

我尝试通过两种方式检索 .Left 值:通过 p/调用 FindWindowByCaption(),然后调用 GetWindowRect(),以及使用 COM Interop 访问窗口。

对calculator.exe 使用第一种技术可以恢复正确的值,所以我认为它与DPI 没有任何关系。

4

1 回答 1

0

您是否尝试获取主屏幕,并将返回的坐标转换为像 GetCLientRect 这样的客户端?这似乎是您的解决方案:如何找到 Win32 控件/窗口相对于其父窗口的位置? 其中父窗口将为 0 ( Desktop )。

于 2013-10-16T06:00:13.603 回答