首页 > 代码库 > MFC 记录- 遍历窗口
MFC 记录- 遍历窗口
加深记忆------
经常用到这些,做个记录!
这里列出两种遍历方式...
用到的函数原型:
1 HWND GetWindow( 2 HWND hWnd, // handle to original window 3 UINT uCmd // relationship flag 4 ); 5 6 HWND GetDeskTopWindow(VOID) 7 8 int GetWindowText( 9 HWND hWnd, // handle to window or control with text10 LPTSTR lpString, // address of buffer for text11 int nMaxCount // maximum number of characters to copy12 );13 14 //----代码15 TCHAR chTitleText[MAX_PATH]={0}; //用来保存窗口标题16 //在Windows下,所有窗口都为Windows的子窗口.17 HWND nHwnd=::GetWindow(GetDeskTopWindow,GW_CHILD);18 19 //循环遍历出来20 while(nHwnd!=NULL)21 {22 //获取窗口标题并且保存在数组里23 ::GetWindowText(nHwnd,chTitleText,MAX_PATH);24 //判断标题是否大于0,大于则输出25 if(_tcslen(chTitleText)>0) MessageBox(chTitleText);26 //继续下一次遍历27 nHwnd = ::GetWindow(nHwnd,GW_HWNDNEXT); 28 }
方式2,使用FindWindow
使用到的函数原型:
1 //使用到的参数原型 2 HWND FindWindow( 3 LPCTSTR lpClassName, // 类名 4 LPCTSTR lpWindowName // 标题名 5 ); 6 HWND FindWindowEx( 7 HWND hwndParent, // 父窗口句柄 8 HWND hwndChildAfter, // 子窗口句柄 9 LPCTSTR lpszClass, // 类名10 LPCTSTR lpszWindow // 标题名11 );12 13 int GetWindowText(14 HWND hWnd, // 要获取标题的窗口句柄15 LPTSTR lpString, // 获取标题后存放的变量16 int nMaxCount // 获取的长度17 );18 #define g_ClassNme "D3D Window" //窗口类名19 TCHAR titleText[MAX_PATH]={0}; //存放标题数组20 21 HWND nHwnd = ::FindWindow(g_ClassNme,NULL); //查找窗口22 while(nHwnd!=NULL) //循环遍历23 {24 ::GetWindowText(nHwnd,titleText,MAX_PATH); //获取标题25 if(_tcslen(titleText)>0)MessageBox(titleText); //判断长度输出标题26 27 nHwnd = ::FindWindowEx(0,nHwnd,g_ClassNme,NULL); //继续查找下一个28 }
MFC 记录- 遍历窗口
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。