如何获得Microsoft Word文档的准确窗口位置?

时间:2013-10-12 23:16:53

标签: c# windows winapi ms-word

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

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

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

我向右移动Word越远,它就越不准确。 如果我将它移动到我的左侧监视器,则会出现相同的模式 - 越是负面,越不准确。

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

对calculator.exe使用第一种技术会带回正确的值,所以我认为它与DPI无关。

1 个答案:

答案 0 :(得分:0)

您是否尝试获取主屏幕,并将返回的坐标转换为客户端,如GetCLientRect?这似乎是您的解决方案:How do I find position of a Win32 control/window relative to its parent window? 父窗口将为0(桌面)。