zoukankan      html  css  js  c++  java
  • 枚举顶级窗口函数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);  
          ...  
      }

  • 相关阅读:
    golang reflect知识集锦
    go test benchmark
    go build -tags 的使用
    golang http 服务器的接口梳理
    go中如何更好的迭代
    滚动条css实现
    记vue nextTick用到的地方
    捕获Ctrl + C中断 优雅的退出程序 golang
    如何处理动态JSON in Go
    golang实现参数可变的技巧
  • 原文地址:https://www.cnblogs.com/buffer/p/1257708.html
Copyright © 2011-2022 走看看