ウィンドウ名とハンドルの取得
Posted: 2006年5月12日(金) 19:32
現在起動しているアプリケーションのウィンドウ名とハンドルを
列挙して表示することは可能でしょうか。
列挙して表示することは可能でしょうか。
コード: 全て選択
Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long,ByVal lPalam As LPARAM) As BOOL
コード: 全て選択
Function EnumWndProc(ByVal hWnd As HWND,ByVal lParam As LPARAM) As BOOL
' 各ウィンドウに対してしたい処理
' -----ここまで-----
EnumWndProc=TRUE
End Function
コード: 全て選択
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
EnumWindows(AddressOf(EnumWndProc),0)
End Sub
コード: 全て選択
Function EnumWndProc(ByVal hWnd As HWND,ByVal lParam As LPARAM) As BOOL
Dim wndName As BytePtr ' ウィンドウ名を持つ
Dim length As Long ' NULLを含むウィンドウ名の長さを持つ
length=GetWindowTextLength(hWnd)+1
wndName=calloc(length)
If GetWindowTextLength(hWnd,wndName,length) Then
SendMessage(GetDlgItem(hMainWnd,ListBox1),LB_ADDSTRING,NULL,wndName)
End If
free(wndName)
EnumWndProc=TRUE
End Function