`
wsql
  • 浏览: 11814280 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

MFC枚举所有窗体,并向打开的窗体发送关闭消息

 
阅读更多

源代码:http://download.csdn.net/detail/nuptboyzhb/4162747

枚举窗体的信息

1. 新建一个基于单文档的应用程序,注意将View类的父类设置为CListView,并在PreCreateWindow函数中设置它的风格:

cs.style |= LVS_REPORT | LVS_NOSORTHEADER;//设置列表视为报表格式

2.OnInitialUpdate消息响应函数中,增加列的标题:

CListCtrl& lc = GetListCtrl();//获得列表视图的控制

lc.InsertColumn(0, _T("窗口句柄"),LVCFMT_LEFT,180);

lc.InsertColumn(1, _T("窗口类"),LVCFMT_LEFT,180,1);

lc.InsertColumn(2, _T("窗口标题"),LVCFMT_LEFT,200,1);

lc.InsertColumn(3, _T("窗口风格"),LVCFMT_LEFT,100,1);

lc.InsertColumn(4, _T("窗口位置大小(屏幕坐标)"),LVCFMT_LEFT,210,1);

3. 新增一个菜单项,点击菜单,即执行获取函数,编辑代码如下:

CListCtrl& lc = GetListCtrl();

lc.DeleteAllItems();

EnumWindows(MyEnumWindowsProc, (LPARAM)this);//遍历窗口程序

注意:第一个参数是回调函数,第二个参数是回调函数的参数;回调函数应事先声明,

4. 编写回调函数;

BOOL CALLBACK CEnumWindowsProcView::MyEnumWindowsProc(HWND hwnd,

LPARAM lParam)

{

CEnumWindowsProcView* pView = (CEnumWindowsProcView*)lParam;

CListCtrl& lc =pView->GetListCtrl();

int iItem=-1;

DWORD dwStyle = GetWindowLong(hwnd, GWL_STYLE);//获得窗体的风格

CString s;

s.Format("主窗口(%04X)",hwnd);

//窗口句柄

iItem = lc.InsertItem(lc.GetItemCount(),s);

CWnd* pWnd = CWnd::FromHandle(hwnd);

// 窗口类名

::GetClassName(hwnd, s.GetBuffer(256), 256);

int iSubitem = 1;

lc.SetItemText(iItem,iSubitem++,s);

// 窗口标题

pWnd->GetWindowText(s);

lc.SetItemText(iItem,iSubitem++,s);

CString str;

// 窗口风格

str.Format(_T("0x%x"),dwStyle);

lc.SetItemText(iItem,iSubitem++,str);

CRect rect;

::GetWindowRect(hwnd,&rect);

//窗口大小及位置

str.Format(_T("(x0=%d,y0=%d,x1=%d,y1=%d)"),rect.left,rect.top,rect.right,rect.bottom);

lc.SetItemText(iItem,iSubitem++,str);

flag++;

return TRUE;

}

向窗体发送关闭消息

主要思路,就是对枚举得到的窗口进行过滤,用SendMessage函数,发送WM_CLOSE消息;

分享到:
评论

相关推荐

    MFC示例枚举进程系统

    MFC用于枚举当前所有窗体与进程,是个不太简单的程序,有志者可以看看

    MFC Dialog 控件随窗体调整动态缩放(第二版)

    基于MFC Dialog的动态缩放(子控件跟随缩放) 更新内容: 1. 将控件屏幕坐标转换为窗体坐标后再进行缩放,修正了子对话框内空间动态缩放时坐标漂移的bug 2. 细分缩放枚举值 3. 将缩放比例值修改为成员变量,计算缩放...

    精通MFC (光盘) 源代码

    7.4.1 投递和发送消息的概念 7.4.2 postMessage函数 7.4.3 SendMessage函数 7.4.4 SendMessage 7.5 SendNotifymessage和SendMessageCallback 7.6 使用自定义命令 7.7 使用自定义窗口消息 7.8 使用登记消息 ...

    77G 22套C语言 C++ 数据结构 程序设计视频课程合集 C丨C++相关学习视频全套视频教程

    026.MFC_发送消息.mp4 027.MFC_映射消息.mp4 028.MFC_自定义消息.mp4 029.MFC_拦截消息.mp4 030.MFC_定时器.mp4 031.讲VDD_注册表.mp4 032.MFC_系统度量.mp4 033.MFC_注销_关机_重启.mp4 034.MFC_鼠标消息....

    vc实例精通源码,windows基本控件的使用Demo

    07_ProcessList 枚举并得到系统中所有进程信息。 第10章(\ Chapter10) 示例描述:本章学习Windows线程的创建和管理方法。 01_PrimeNumberFinder 主线程和用户界面。 02_PrimeNumberFinderEx 创建和结束线程...

    Visual C++ 数据库系统开发完全手册.part1

    11.6.4 打开数据与关闭数据连接 11.7 如何使用ADO 11.7.1 如何打开记录集 11.7.2 怎样使用记录集 11.8 重新封装ADO 11.8.1 RxADO类的制作方法 11.8.2 RxRecordset类的制作方法 第12章 数据查询技巧 12.1 SQL简介 ...

    vc++ 应用源码包_1

    MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得...

    vc++ 应用源码包_2

    MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得...

    vc++ 开发实例源码包

    1) 客户向服务器发送请求, 每个请求的长度不定. 请求的长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP提供服务, 同时还是其他CP, TS, SP的客户....

    vc++ 应用源码包_6

    MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得...

    vc++ 应用源码包_3

    MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得...

    vc++ 应用源码包_5

    MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得...

    将exe嵌入到自己的窗口中

    将exe嵌入到自己的窗口中,采用的是枚举窗口,movewindow的法子,原理很简单 更加详细的可以见我博客里有相应文章

    Visual C++ 数据库系统开发完全手册.part2

    11.6.4 打开数据与关闭数据连接 11.7 如何使用ADO 11.7.1 如何打开记录集 11.7.2 怎样使用记录集 11.8 重新封装ADO 11.8.1 RxADO类的制作方法 11.8.2 RxRecordset类的制作方法 第12章 数据查询技巧 12.1 SQL简介 ...

    VC++获取所有窗体内的文字信息

    内容索引:VC/C++源码,系统相关,枚举 VC++获取所有窗体内的文字信息,主要是获取窗体标题栏的内容。

    《windows mobile 手机应用开发》源码

    贪吃蛇游戏 <br>第11章 SPNET:枚举网络标识连接和建立网络连接 HelloSMS:发送短信 SimPhoneBook:读取SIM卡电话簿条目 <br>第12章 Test_STLogFile_NoMFC:写LOG类库范例 <br>第13章 ...

Global site tag (gtag.js) - Google Analytics