溫馨提示×

windows怎么獲取窗口句柄

小億
815
2023-11-15 20:36:04
欄目: 智能運維

在Windows操作系統(tǒng)中,可以使用以下方法來獲取窗口句柄:

  1. 使用FindWindow函數(shù):該函數(shù)可以通過窗口的類名和窗口標(biāo)題來獲取窗口句柄。示例代碼如下:
HWND hwnd = FindWindow(NULL, "窗口標(biāo)題");
  1. 使用FindWindowEx函數(shù):該函數(shù)可以通過父窗口句柄、子窗口類名和子窗口標(biāo)題來獲取子窗口的句柄。示例代碼如下:
HWND hwnd = FindWindowEx(parentHwnd, NULL, "子窗口類名", "子窗口標(biāo)題");
  1. 使用GetForegroundWindow函數(shù):該函數(shù)可以獲取當(dāng)前活動窗口的句柄。示例代碼如下:
HWND hwnd = GetForegroundWindow();
  1. 使用EnumWindows函數(shù):該函數(shù)可以遍歷系統(tǒng)中所有窗口,并通過回調(diào)函數(shù)獲取每個窗口的句柄。示例代碼如下:
#include <iostream>
#include <Windows.h>

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

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

以上方法中,需要注意的是,窗口句柄(HWND)是一個指向窗口的唯一標(biāo)識符,可以通過該句柄來進(jìn)行窗口操作,如發(fā)送消息、改變窗口屬性等。

0