统计顶层窗口
这里主要用到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编译通过。 
|