1.头文件中定义
static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);
2.声明一些用的东西
HWND hWnd;
HWND m_hwndFind[100] = {0};
int m_num = 0 ;
TCHAR m_store[MAX_PATH];
TCHAR m_name[MAX_PATH];
TCHAR m_strClass[MAX_PATH];
TCHAR m_FilePath[MAX_PATH];
TCHAR m_FileName[24];
3.枚举部分
BOOL CXXXDlg::EnumWindowsProc(HWND hWnd, LPARAM lParam)
{
if(::GetWindowLong(hWnd,GWL_STYLE)&WS_VISIBLE)
{
m_hwndFind[m_num] = hWnd;
m_num++;
}
return 1;
}
4.在事件中列出所有的窗口
void CXXXDlg::OnButton1()
{
::EnumWindows(CXXXDlg::EnumWindowsProc,NULL);
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);
m_strList.AddString(m_name);
}
}
m_strList是ListBOX关联的变量,可以编译了
