スレッドに関連するウインドウを列挙する


ここでは自スレッッドに関連するウインドウを列挙してListBoxに表示します。

■必要なコンポーネント

■使用するAPI関数

■ソースは下記のようになります。

■自スレッドに関連するウインドウを列挙する処理
//定義
function EnumThreadWndProc(hWnd,lParm :integer) : Boolean;stdcall;

procedure TForm1.Button1Click(Sender: TObject);
begin
 //列挙開始
 EnumThreadWindows(GetCurrentThreadId,@EnumThreadWndProc, 0)
end;

function EnumThreadWndProc(hWnd,lParm :integer) : Boolean;
Var
Name :array[0..MAX_PATH] of Char;
begin

 If GetWindowText(hWnd, Name, MAX_PATH) <> 0 Then 
  Form1.ListBox1.Items.ADD(Name);

  Result :=True;

end;




Win32APIのページへ



ホーム PV ランキング