BOOL EnumWindows( WNDENUMPROC lpEnumFunc, LPARAM lParam );该函数枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数,其中lParam是传递给lpEnumFunc的参数。回调函数返回FALSE将停止枚举,否则EnumWindows函数继续到所有顶层窗口枚举完为止。例如获取所有的桌面窗口句柄,并将其值放到CListBox中:

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
	static TCHAR szBuffer[90];
	static TCHAR szTemp[80];

	static TCHAR szFormat[] = _T("%08lX: %s");
	HWND hwndListBox = (HWND)lParam;
	CListBox* plb = (CListBox*)CWnd::FromHandle(hwndListBox);

	GetWindowText(hwnd, szTemp, sizeof(szTemp));
	_stprintf_s(szBuffer, 90, szFormat, hwnd, szTemp);

	return (plb->AddString(szBuffer) >= 0) ? TRUE : FALSE;
}
//CListBox* plb = (CListBox*)GetDlgItem("列表控件");
EnumWindows(EnumWindowsProc, (LPARAM)plb->GetSafeHwnd());

相关文章:

  • 2022-12-23
  • 2021-12-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-17
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案