温馨提示×

windows怎么获取窗口句柄

小亿
375
2023-11-15 20:36:04
栏目: 智能运维

在Windows操作系统中,可以使用以下方法来获取窗口句柄:

  1. 使用FindWindow函数:该函数可以通过窗口的类名和窗口标题来获取窗口句柄。示例代码如下:
HWND hwnd = FindWindow(NULL, "窗口标题");
  1. 使用FindWindowEx函数:该函数可以通过父窗口句柄、子窗口类名和子窗口标题来获取子窗口的句柄。示例代码如下:
HWND hwnd = FindWindowEx(parentHwnd, NULL, "子窗口类名", "子窗口标题");
  1. 使用GetForegroundWindow函数:该函数可以获取当前活动窗口的句柄。示例代码如下:
HWND hwnd = GetForegroundWindow();
  1. 使用EnumWindows函数:该函数可以遍历系统中所有窗口,并通过回调函数获取每个窗口的句柄。示例代码如下:
#include <iostream>
#include <Windows.h>

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
    char title[256];
    GetWindowTextA(hwnd, title, sizeof(title));
    std::cout << "窗口标题:" << title << std::endl;
    return TRUE;
}

int main()
{
    EnumWindows(EnumWindowsProc, NULL);
    return 0;
}

以上方法中,需要注意的是,窗口句柄(HWND)是一个指向窗口的唯一标识符,可以通过该句柄来进行窗口操作,如发送消息、改变窗口属性等。

0