子窗口的识别方法

作者在 2008-09-21 14:53:24 发布以下内容

原先打算使用窗口类型分辨子窗口:

首先找到你要枚举的主窗口  
  HWND   hWnd   =  ::FindWindow(NULL,"**"); 
  再枚举它的所有子窗口:  
  HWND   hChildWnd   =   ::GetWindow(hWnd,   GW_CHILD);  
  while(   hChildWnd!=NULL   )  
  {  
        //   在这里取子窗口的风格style  
        style=:: (childhwnd,GWL_STYLE); // 获得有关指定窗口的信息,GWL_STYLE:获得窗口风格

   
        //  
        hChildWnd   =   ::GetWindow(hChildWnd,   GW_HWNDNEXT);  
  }

但是发现一个对话框中可能由很多个相同风格的子窗口于是使用控件ID 识别

首先找到你要枚举的主窗口  
  HWND   hWnd   =  ::FindWindow(NULL,"**"); 
  再枚举它的所有子窗口:  
  HWND   hChildWnd   =   ::GetWindow(hWnd,   GW_CHILD);  
  while(   hChildWnd!=NULL   )  
  {  
        //   在这里取子窗口的控件ID  
        int   nID   =   ::GetDlgCtrlID(hChildWnd);  
        //  
        hChildWnd   =   ::GetWindow(hChildWnd,   GW_HWNDNEXT);  
  }

经验 | 阅读 4141 次
文章评论,共0条
游客请输入验证码
浏览1970324次