S D K 学 习 笔 记2 统计顶层窗口

来源:互联网 发布:淘宝李医生旗舰店 编辑:程序博客网 时间:2024/05/21 19:34

统计顶层窗口

这里主要用到EnumWindows函数来遍历所有顶层窗口。

   原音重现:

BOOL EnumWindows(  WNDENUMPROC lpEnumFunc,   // callback function  LPARAM lParam             // application-defined value);

 这个函数需要一个自定义的回调函数EnumWindowsProc,

原音重现:

BOOL CALLBACK EnumWindowsProc(  HWND hwnd,       // handle to parent window  LPARAM lParam    // application-defined value);

好了,现在我们开始统计吧:

int iWndNums; //窗口的数量

BOOL CALLBACK EnumWindowsProc(
     HWND hwnd, // handle to parent window
     LPARAM lParam // application-defined value
)
{

  if(hwnd==NULL)
  { 
    return false; //结束枚举
  }


  //这个hwnd就是枚举到的当前窗体的句柄
  
  //统计窗口的数量
  iWndNums++;


  //继续枚举
  return true;


}
//---------------------------------------------------------------------------
//测试
void __fastcall TForm1::TestBitBtnClick(TObject *Sender)
{
  LPARAM lmyParam;
  bool bRet;

  iWndNums=0;

  //枚举顶层窗口
  bRet=EnumWindows((WNDENUMPROC)EnumWindowsProc,lmyParam);

   //iWndNums的值就是统计的顶层窗口的数量
}

以上CB5编译通过。

原创粉丝点击