• 枚举顶级窗口函数EnumWindows和它的回调函数的使用!


     首先是它的原型
    BOOL EnumWindows(
         WNDENUMPROC lpEnumFunc,     // 回调函数的地址--说白了就是回调函数的名字放这
         LPARAM lParam               // 要是枚举桌面所有窗口添0或NULL就行
    );
    在来看看回调函数原型
    BOOL CALLBACK EnumWindowsProc(
         HWND hwnd,         //句柄参数,这里返回的就是窗口句柄
         LPARAM lParam      // application-defined value--什么意思不知道,我是用不上
    );
    回调函数使用的时候一定要把上面的原型写出来,要一模一样,EnumWindowsProc这个函数名字可以
    随便启的,比如:BOOL CALLBACK abcd(HWND hwnd,LPARAM lParam);把“;”去掉接函数体就可以了,函数体就是你要执行的代码,比如:
    BOOL CALLBACK abcd(HWND hwnd,LPARAM lParam)
    {
    CString text;
    int len=::GetWindowTextLength (hwnd);//获得窗口句柄hwnd指向的窗口标题长度
    ::GetWindowText (hwnd,(LPSTR)(LPCTSTR)text,len+1);获得窗口句柄hwnd指向的窗口标题
    m_list.AddString ((LPSTR)(LPCTSTR)text);//m_list是指向列表框的CListBox m_list
    return 1;//这里必须返回1,返回0就不在枚举了
    }

    example:

     BOOL   CALLBACK   MyEnumProc(HWND   hwnd,   LPARAM   lParam   )  
      {  
          printf("窗口句柄是%x,传递的参数是%d",   hwnd,   lParam);  
      }  
      main  
      {  
          int   n=3;//任意的一个参数  
          EnumWindows(MyEnumProc,   (LPARAM)n);  
          ...  
      }

  • 相关阅读:
    Linux 禁用ipv6
    【搬运】Get Log Output in JSON,通过Log4j2与Logback输出JSON格式日志
    Gnome禁用tracker-miner-apps、tracker-miner-fs、tracker-store
    Sentry错误日志监控你会用了吗?
    django执行源生的mysql语句
    django实现自定义manage命令的扩展
    C++教程详解
    python数据分析教程大全
    将mysql主键id从1开始 变为自增
    django restful framework教程大全
  • 原文地址:https://www.cnblogs.com/buffer/p/1257708.html
Copyright © 2020-2023  润新知