zoukankan      html  css  js  c++  java
  • MFC枚举窗口

    去年七月份开始学C#,今年六月份因为公司的原因,重新学习MFC。
    以前一直以为VC++编程很麻烦,现在越来越感觉到上手了;尽管VC++没有VS那样方便,MFC不像C#那样易上手,但从效率上讲MFC是很好的选择,只是动态库及多线程没有C#方便,这是比较郁闷的。
    近来写QQ游戏的外挂,写了找茬的、连连看的,昨晚上写火拼俄罗斯的时出问题了,游戏窗口获取的不对,问个网友才知道栏题是“火拼俄罗斯方块”的窗口不是一个,所以得枚举窗口。
    现在网上枚举窗口最多的就是EnumWindows,这是要回调函数的,回调的函数必须是全局的,或者静态的,对MFC来说太麻烦了。寻找窗口MFC用CWnd::FindWindow,对应的API是FindWindow;枚举窗口API是EnumWindows,MFC也应该有对应的啊。刚刚研究了一下发现一个好办法。

     CWnd* wnd = this;
     while(true)
     {
      if(wnd == NULL)
       break;
      CRect rect;
      wnd->GetWindowRect(&rect);
      CString str;
      wnd->GetWindowText(str);
      if(rect是你想要的窗口的大小&&str是你想要的窗口的标题)
      {
         break;
      }
      wnd = wnd->GetNextWindow(GW_HWNDNEXT);
     }
    if(wnd != NULL)
    {
      wnd对应的窗口就是你想要的
    }

    好久没写博客了,分享一下。
  • 相关阅读:
    朝花夕拾-4-shell
    具体解释Android中AsyncTask的使用
    加入中文文字水印乱码问题
    PID教程
    Windows环境下用C#编程将文件上传至阿里云OSS笔记
    【Linux】linux经常使用基本命令
    Nothing2
    发送请求工具—Advanced REST Client
    socketpair的使用
    Oracle 11g 的server结果缓存result_cache_mode
  • 原文地址:https://www.cnblogs.com/yjh4866/p/1557011.html
Copyright © 2011-2022 走看看