开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1612|回复: 4
收起左侧

[分享] VC++.NET + VC#.NET 枚举窗口

[复制链接]
结帖率:33% (3/9)
发表于 2013-12-29 00:31:12 | 显示全部楼层 |阅读模式   四川省成都市




C#枚举窗口.rar (26.84 KB, 下载次数: 1)

点评

const char *pStr const 表示引用,别跳跳的说这是定义 常量   四川省成都市  发表于 2013-12-29 01:17
结帖率:33% (3/9)
 楼主| 发表于 2013-12-29 01:05:58 | 显示全部楼层   四川省成都市

// VC++ MFC
  1. CListCtrl* List;
  2. BOOL CallBack(HWND hWnd,LPARAM lParam);
  3. BOOL 枚举窗口Dlg::OnInitDialog()
  4. {
  5.         CDialogEx::OnInitDialog();
  6.         SetIcon(m_hIcon, TRUE);
  7.         SetIcon(m_hIcon, FALSE);
  8.         List= &ListView1;
  9.         ListView1.SetView(LVS_REPORT);
  10.         DWORD dwStyle = ListView1.GetExtendedStyle();
  11.         dwStyle |= LVS_EX_FULLROWSELECT;
  12.         dwStyle |= LVS_EX_GRIDLINES;
  13.         ListView1.SetExtendedStyle(dwStyle);
  14.         ListView1.InsertColumn(0,L"hWnd",LVCFMT_LEFT,60);
  15.         ListView1.InsertColumn(1,L"ClassName",LVCFMT_LEFT,60);
  16.         ListView1.InsertColumn(2,L"TextName",LVCFMT_LEFT,60);
  17.         EnumWindows((WNDENUMPROC)&CallBack,0);
  18.         return TRUE;  
  19. }
  20. wchar_t *str2wstrptr(const char *pStr)
  21. {
  22.         PSTR pMultiByteStr = (PSTR)pStr;
  23.         PWSTR pWideCharStr;
  24.         int nLenOfWideCharStr;
  25.         nLenOfWideCharStr = MultiByteToWideChar( CP_ACP, 0, pMultiByteStr, -1, NULL, 0);
  26.         pWideCharStr = (PWSTR)malloc(nLenOfWideCharStr * sizeof(WCHAR));
  27.         MultiByteToWideChar( CP_ACP, 0, pMultiByteStr, -1, pWideCharStr, nLenOfWideCharStr );
  28.         return pWideCharStr;
  29. }
  30. BOOL CallBack(HWND hWnd,LPARAM lParam)
  31. {
  32.         wchar_t buff_te[255];
  33.         wchar_t buff_cl[255];
  34.         char buff_hWnd[255];
  35.         itoa((int)hWnd,buff_hWnd,255);
  36.         GetWindowText(hWnd,buff_te,255);
  37.         GetClassName(hWnd,buff_cl,255);
  38.         int i=List->InsertItem(List->GetItemCount()+1,str2wstrptr(buff_hWnd));
  39.         List->SetItemText(i,1,buff_cl);
  40.         List->SetItemText(i,2,buff_te);
  41.         List->Update(i);
  42.         return TRUE;
  43. }
复制代码

点评

搞c++得骚年们都懂得,c++得数据太大了,将一个mfc基本要50mb,所以懒得传了   四川省成都市  发表于 2013-12-29 01:07
回复 支持 反对

使用道具 举报

结帖率:33% (3/9)
 楼主| 发表于 2013-12-29 01:10:15 | 显示全部楼层   四川省成都市
本来是说要用
GetDlgItem 只不过这货很坑(自定义)
要自己得当窗口HWND,还有资源Id
不然XXOO的报错了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表