enumwindows函数怎么用?
enumwindows函数怎么用?
参数是什么?
是谁的子类?
问题点数:50、回复次数:1Top
1 楼sxbyl(sxbyl)回复于 2000-11-26 17:47:00 得分 50
EnumWindows是API,不是谁的子类。参数EnumWndProc是一个你定义的函数(不能是类的成员函数),参数LPARAM是用来传给你所定义的回调函数的。比如在我的程序中有
CWatcherDlg类中某函数有下面一句:
EnumWindows(EnumWndProc,(LPARAM)this);
回调函数定义如下:
BOOL CALLBACK EnumWndProc(HWND hwnd,LPARAM lParam)
{
HMODULE hModule;
TCHAR szTitle[256];
CString strTitleName;
tagProgramInfo *pInfo=NULL;
CWatcherDlg *pWnd=(CWatcherDlg *)lParam;
ASSERT(pWnd);
hModule=(HMODULE)GetWindowLong(hwnd,GWL_HINSTANCE);
CString str;
::GetWindowText(hwnd,szTitle,255);
strTitleName=pWnd->GetBaseName(szTitle);
strTitleName.TrimLeft();
if(strTitleName.IsEmpty())
return TRUE;
pInfo=pWnd->GetInfoFromName((LPCTSTR)strTitleName,true);
if(pInfo==NULL)
return TRUE;
::PostMessage(hwnd,WM_KEYDOWN,13,0x011c0001); //模拟按下Enter健
pInfo->nState&=STA_PAUSE;
pInfo->nState|=STA_ERROR;
return TRUE;
}Top




