VC++MFC 枚举当前打开的所有窗口

本文介绍了如何使用VC++ MFC来枚举并显示当前系统中所有可见窗口的标题和类名。通过定义EnumWindowsProc回调函数,遍历窗口,并将窗口信息填充到ListBOX控件中,实现窗口信息的实时展示。
摘要由CSDN通过智能技术生成

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_nam

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值