当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++ Builder教程

Win32ApiByCB(1)统计顶层窗口

--写给C++ Builder Win32 SDK/API 论坛

声明:所有转载需要注明 URL 原始链接。这些链接应当来自于www.csdn.com。

这里主要用到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编译通过。

相关内容
赞助商链接