通过窗口句柄c++获取窗口坐标宽高等信息
时间: 2024-10-01 07:10:07 浏览: 28
在C++中,获取窗口的坐标、宽度和高度通常需要利用Windows API或者第三方库,如Microsoft Windows SDK提供的函数。以下是一个基本的示例,使用`GetWindowRect`函数来获取窗口的位置(左上角坐标)和尺寸:
```cpp
#include <windows.h>
#include <tchar.h>
// 函数来获取窗口信息
void GetWindowInfo(HWND hWnd, int* left, int* top, int* width, int* height) {
RECT windowRect;
if (GetWindowRect(hWnd, &windowRect)) { // 获取窗口矩形
*left = windowRect.left; // 左上角X坐标
*top = windowRect.top; // 左上角Y坐标
*width = windowRect.right - windowRect.left; // 宽度
*height = windowRect.bottom - windowRect.top; // 高度
}
}
int main() {
HWND hWnd = FindWindow(NULL, L"Your Window Title"); // 找到目标窗口,替换为实际标题
if (hWnd != NULL) {
int left, top, width, height;
GetWindowInfo(hWnd, &left, &top, &width, &height);
_tprintf(_T("窗口左上角坐标: (%d,%d), 尺寸: %dx%d\n"), left, top, width, height);
} else {
_tprintf(_T("未找到窗口\n"));
}
return 0;
}
```
在这个例子中,你需要首先找到指定标题的窗口句柄,然后调用`GetWindowRect`获取窗口的矩形区域,并计算出具体的宽度和高度。
阅读全文