ウィンドウのハンドルを取得する方法

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)はウィンドウを一意に識別するものであり、このハンドルを通してウィンドウ操作(メッセージの送信、ウィンドウ属性の変更など)が行えます。

广告
広告は10秒後に閉じます。
bannerAds