遍历window下所有窗口
HWND m_hwndFind[100];
int m_num;
//添加回掉函数
static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);
BOOL C***Dlg::EnumWindowsProc(HWND hWnd, LPARAM lParam)
{
if(::GetWindowLong(hWnd,GWL_STYLE)&WS_VISIBLE)
{
if (IsWindow(hWnd))
{
m_hwndFind[m_num] = hWnd;
m_num++;
}
}
return 1;
}
增加按钮btn并添加响应事件
Void C***Dlg::OnStartEnumWindow()
{
m_num = 0 ;
::EnumWindows(CSimVisionDlg::EnumWindowsProc,NULL);
TCHAR m_store[MAX_PATH];
TCHAR m_name[MAX_PATH];
TCHAR m_strClass[MAX_PATH];
TCHAR m_FilePath[MAX_PATH];
TCHAR m_FileName[24];
for(int i = 0;i <=m_num;i++)
{
HWND m_wnd = m_hwndFind[i];
::GetWindowText(m_wnd,m_store,128);
::GetClassName(m_wnd,m_strClass,MAX_PATH-1);
sprintf(m_name,"(%d)标题名称:",i);
strcat(m_name,m_store);
strcat(m_name,"类名称:");
strcat(m_name,m_strClass);
}
}