我正在尝试将应用程序“停靠”在MS Word的左侧。
然而,Word窗口的.Left属性似乎是错误的 - 就像它以某种方式缩放。
当窗口靠近最左边(0)时,.Left的返回值接近我所期望的 - 准确。
我向右移动Word越远,它就越不准确。 如果我将它移动到我的左侧监视器,则会出现相同的模式 - 越是负面,越不准确。
我尝试以两种方式检索.Left值:通过p /调用FindWindowByCaption(),然后调用GetWindowRect(),以及使用COM Interop访问窗口。
对calculator.exe使用第一种技术会带回正确的值,所以我认为它与DPI无关。
答案 0 :(得分:0)
您是否尝试获取主屏幕,并将返回的坐标转换为客户端,如GetCLientRect?这似乎是您的解决方案:How do I find position of a Win32 control/window relative to its parent window? 父窗口将为0(桌面)。