zoukankan      html  css  js  c++  java
  • 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 text
    10   LPTSTR lpString,  // address of buffer for text
    11   int nMaxCount     // maximum number of characters to copy
    12 );
    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 }

     

  • 相关阅读:
    Robot Framework--06 用户关键字User Keyword
    Robot Framework--05 案例设计之流程与数据分离
    Robot Framework--04 工作区
    Robot Framework--03 案例及资源区
    Robot Framework--02 菜单栏&工具栏
    Robot Framework--01 创建简单工程示例
    uoj#35 后缀排序(后缀数组模版)
    【学习笔记】动态树Link-Cut-Tree
    【随意学学】三分法
    【学习笔记】dsu on tree
  • 原文地址:https://www.cnblogs.com/callback/p/4245286.html
Copyright © 2011-2022 走看看