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 }

     

  • 相关阅读:
    这个博客的由来
    PLSQL Developer 不能连接 oracle 12c 64位 的解决办法 for win 64
    Netflix 是如何推荐电影的
    Hadoop中国技术峰会引发Hadoop 2.0风暴
    JS如何导出Div的内容为图片
    jquery如何获取标签本生的文本内容,不获取本身子级元素及子级元素的内容
    superagent抓取gb2312网页出来是十六进制的解决办法
    一些常见html css遇到的问题
    es6 三行代码数组去重
    es6中的 Set、Map 和 WeakMap
  • 原文地址:https://www.cnblogs.com/callback/p/4245286.html
Copyright © 2011-2022 走看看