Я могу получить координаты окна вся область и координаты клиентской области с помощью вызовов GetWindowRect Win32 и GetClientRect. Моя проблема состоит в том, что GetClientRect всегда возвращается 0,0 для верхнего левого. Как я выясняю то, что фактический клиентский регион относительно окна, реагируют?
Вы можете использовать ClientToScreen , чтобы получить координаты верхней левой (0,0) точки в координатах экрана. RECT, возвращаемый GetClientRect, будет подходящим, чтобы получить вам правый нижний угол (просто добавьте ТОЧКУ, установленную ClientToScreen).
Используйте ClientToScreen для преобразования координат клиента в координаты экрана. Прямоугольник окна (GetWindowRect) уже находится в экранных координатах и включает неклиентскую область (границы, надпись и т.д.)
Вы также можете использовать функцию MapWindowPoints для преобразования всего RECT в экранные координаты за один раз.