子ウインドウを列挙する
子ウインドウを列挙するサンプルです。
サンプルの実行画面
APIの宣言
[EnumChild.bas]
'ウインドウ(コントロール)のキャプションを取得するAPI関数
'<引数>
'hWnd:ウインドウのハンドル
'lpString:文字列を格納するバッファ
'MaxCoun:文字列のバッファサイズ
'<戻り値>
' 文字列のバイト数
Public Declare Function GetWindowText Lib "USER32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
'子ウインドウを列挙するAPI関数
'<引数>
'hWndParent:親ウインドウのハンドル
'lpEnumFunc:コールバック関数へのポインタ
'lParam&:コールバック関数へ渡す32ビット値
'<戻り値>
'正常終了0以外
Public Declare Function EnumChildWindows Lib "USER32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
'-------------------------------------------------
'■関数名 EnumChildProc
'■用途 子ウインドウ(コントロール)を列挙する
'■引数 hWnd:親ウインドウのハンドル
'-------------------------------------------------
Public Function EnumChildProc(ByVal hWnd As Long) As Long
Dim Ret As Long
Dim Leng As Long
Dim Name As String
'バッファ確保
Name = String(255, Chr(0))
Leng = Len(Name)
'名前を取得する
Ret = GetWindowText(hWnd, Name, Leng)
If Ret <> 0 Then Form1.List1.AddItem Name
EnumChildProc = 1
End Function
APIの呼び出し
[EnumChild.frm]
Private Sub Command1_Click() Ret = EnumChildWindows(hWnd, AddressOf EnumChildProc, 0) End Sub
ソースコード一式のダウンロード
vbapi_enumchildwindow.zip 2.11 KB (2,162 バイト)
このサンプルの動作環境について
このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
| 前の記事: | ウインドウのマウス入力とキーボード入力を無効にする |
| 次の記事: | ウインドウを列挙する |
公開日:2015年03月06日
記事NO:00416
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









