GetWindowRect()失败,但IsWindow()失败

时间:2013-09-02 05:42:40

标签: winapi visual-c++

我正在尝试获取外部窗口的大小:

POINT point;

point.x = 100;
point.y = 100;

HWND hwnd = WindowFromPoint(point);

LPRECT pRect = {0};
bool ret1 = IsWindow(hwnd);
bool ret = GetWindowRect(hwnd, pRect);

IsWindow的返回值为true,但GetWindowRect失败并出现以下错误:

  

1400:窗口句柄无效

有什么不对?

1 个答案:

答案 0 :(得分:9)

窗口句柄不是无效的,但是您将作为第二个参数传递给GetWindowRect()的空指针。

LPRECT pRect = {0};

这只是将指针定义为RECT并将指针初始化为0.您需要提供实际的RECT结构,如:

RECT rc = { 0 };
GetWindowRect(hwnd, &rc);