#include <はWindows.h> の#include <iostreamの> する#include < ストリング > 静的BOOL CALLBACK enumchildWindowCallback(HWND hWndは、LPARAMのLPARAM){ int型の長さ= GetWindowTextLength(のhWnd)。 CHAR *バッファ= 新しいCHAR [長さ+ 1 ]。 GetWindowText(hWndは、バッファ、長さ + 1 )。 std :: 文字列WINDOWTITLE(バッファ); std :: coutの <<のhWnd << " : " << WINDOWTITLE << はstd ::てendl; 返すTRUE; } int型 メイン() { HWND HWND =(HWND)0x000D0DEE ; // の親ウィンドウハンドル EnumChildWindows(HWND、enumchildWindowCallback、NULL); STD :: cin.ignore(); 戻り 0 ; }
開発:(子ウィンドウは含みません)を使用するEnumWindows列挙ウィンドウハンドル
#include <はWindows.h> の#include < ストリング > の#include <iostreamの> 静的BOOL CALLBACK enumchildWindowCallback(HWND hWndは、LPARAMのLPARAM){ int型の長さ= GetWindowTextLength(のhWnd)。 CHAR *バッファ= 新しいCHAR [長さ+ 1 ]。 GetWindowText(hWndは、バッファ、長さ + 1 )。 std :: 文字列WINDOWTITLE(バッファ); INT、N =(INT )のhWnd。 // 見えないか、不足しているタイトルの場合は、Windowsを無視 // もし(IsWindowVisible(hWndを)&&長!= 0){ std :: coutの<< N << " :" << WINDOWTITLE << はstd ::てendl; // } を返すTRUE; } 静的BOOL CALLBACK enumWindowCallback(HWND hWndは、LPARAMのM){ TCHAR _classbuf [ 255 ]。 INT長= GetWindowTextLength(のhWnd)。 CHAR *バッファ= 新しい CHAR [長さ+ 1 ]。 GetWindowText(hWndは、バッファ、長さ + 1 )。 std :: 文字列WINDOWTITLE(バッファ); M = getClassNameメソッド(hWndは、_classbuf、1024 )。 int型N =(INT )のhWnd。 // 目に見えないまたはタイトル不足している場合は、Windowsを無視 // するif(!IsWindowVisible(hWndを)&&長さ= 0){ のstd :: coutの<< nは<< " :" << WINDOWTITLE << はstd ::てendlを。 // EnumChildWindows(hWndは、enumWindowCallback、M)。 // } を返すTRUE; } int型のmain() { のstd :: COUT << " Enmumeratingウィンドウ... " << はstd :: ENDL。 EnumWindows(enumWindowCallback、NULL); std :: cin.ignore(); リターン 0 ;
あなたはEnumChildWindows(hWndを、enumWindowCallback、m)の注意事項を削除すると、すべてのウィンドウを列挙