EnumWindows和FindWindowEx和SPY++的问题~~~~此题有难度
请问各位 我现在遇见这样的问题 我用SPY++查找软件(浩方)对话框层
我用::EnumWindows(EnumWindowsProc,NULL)枚举所有窗口,经过辨认找到该对话框在他下面的层是#32770 (Dialog),再下面又有2个#32770 (Dialog)和其它的层 问题出来了 我需要查找第2个#32770 (Dialog)层里面的东西 但是我的代码只能查找到第1个#32770 (Dialog) 请问 该怎么办
-----------------------------------------------------------------------------------------
void CAaaDlg::OnButton1()
{
CString str;
GetDlgItem(IDC_BUTTON2)->GetWindowText(str);
BOOL retCode = ::EnumWindows(EnumWindowsProc,NULL);//枚举窗口
}
BOOL CALLBACK EnumWindowsProc(HWND hWnd,LPARAM lParam)
{
TCHAR czWndText[MAX_LOADSTRING];
::GetWindowText(hWnd,czWndText,MAX_LOADSTRING);
TCHAR czClsName[MAX_LOADSTRING];
::GetClassName(hWnd,czClsName,MAX_LOADSTRING);
CString strWndText(czWndText);
CString strClsName(czClsName);
int iLen = strWndText.GetLength();
if ( -1 != strWndText.Find(_T("浩方对战平台")) )
FindNextWindow(hWnd,lParam);
return TRUE;
}
BOOL FindNextWindow(HWND hWnd,LPARAM lParam)
{
HWND hWnd32770 = ::FindWindowEx(hWnd,NULL,_T("#32770"),NULL);
HWND hWnd327701 = ::FindWindowEx(hWnd32770,NULL,_T("#32770"),NULL);//第1个#32770 (Dialog) 只能查找到第一个#32770 (Dialog) 在该层有2个#32770 (Dialog)
//HWND hWndTarget = ::FindWindowEx(hWnd327701,NULL,_T("AfxWnd42"),NULL);
//HWND hWnd327702 = ::FindWindowEx(hWndTarget,NULL,_T("#32770"),NULL);
//HWND hWndSys = ::FindWindowEx(hWnd327702,NULL,_T("SysListView32"),NULL);//我是想查找到这个层在第2个#32770 (Dialog)层里面
if(hWnd327701)
{
AfxMessageBox("aaaaaaaaaaaa");
}
return TRUE;
}