EnumWindows

函式功能 該函式枚舉所有螢幕上的頂層視窗,並將視窗句柄傳送給應用程式定義的回調函式。回調函式返回FALSE將停止枚舉,否則EnumWindows函式繼續到所有頂層視窗枚舉完為止。 函式原型 BOOL EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam); 參數: lpEnumFunc:指向一個應用程式定義的回調函式指針,請參看EnumWindowsProc。 lPararm:指定一個傳遞給回調函式的應用程式定義值。 回調函式原型 BOOL CALLBACK EnumWindowsP

基本介紹

  • 外文名:EnumWindows
  • 類別:計算機函式
  • 原型:BOOL EnumWindows
  • 功能:枚舉
函式功能,函式原型,返回值,備註,速查,舉例,

函式功能

該函式枚舉所有螢幕上的頂層視窗,並將視窗句柄傳送給應用程式定義的回調函式。回調函式返回FALSE將停止枚舉,否則EnumWindows函式繼續到所有頂層視窗枚舉完為止。

函式原型

參數:
lpEnumFunc:指向一個應用程式定義的回調函式指針,請參看EnumWindowsProc
lPararm:指定一個傳遞給回調函式的應用程式定義值。
回調函式原型
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam);
參數:
hwnd:頂層視窗的句柄
lparam:應用程式定義的一個值(即EnumWindows中lParam)

返回值

如果函式成功,返回值為非零;如果函式失敗,返回值為零。若想獲得更多錯誤信息,請調用GetLastError函式。

備註

EnumWindows函式不列舉子視窗。
在循環體中調用這個函式比調用GetWindow函式更可靠。調用GetWindow函式中執行這個任務的應用程式可能會陷入死循環或指向一個已被銷毀的視窗的句柄。

速查

Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;
頭檔案:winuser.h中聲明,包含windows.h即可.
庫檔案:user32.lib。

舉例

代碼VC++ MFC(列舉所有桌面視窗,視窗標題放在全局變數string buf[]數組中,n是靜態變數):
BOOL CALLBACK lpEnumFunc(HWND hwnd, LPARAM lParam)
{
char str[100];
::GetWindowText(hwnd,str,sizeof(str));
buf[n++]=str;
return 1;
}
void CEnumWindowsDlg::OnOK()
{
// TODO: Add extra validation here
n=0;
EnumWindows(lpEnumFunc,NULL);
int i;
for(i=0;i<n;i++)
{
if(buf!="")
m_list.AddString(buf.c_str());
}
//CDialog::OnOK();
}

相關詞條

熱門詞條

聯絡我們