已知一窗口句柄,它有三个子窗口,类名都一样,怎么取得第三个窗口句柄。三个子窗口顺序通过Spy++看的。

解决方案 »

  1.   

    类名一样,控件的标题是不是一样的呢?如果不一样的标题可以用标题判断,参考
    http://blog.csdn.net/laiyiling/archive/2004/11/21/189305.aspx
      

  2.   

    HWND hwnd = ::FindWindow(NULL, "子窗口标题")
      

  3.   

    GetNextWindow()好象可以取跟它同级的下一个窗口吧?楼主可以试下取到第一个子窗口的句柄后,用GetNextWindow来取取试试.
      

  4.   

    子窗口不能直接FindWindow寻找吧
      

  5.   

    三个窗口属于同一个类,但控件ID不一样。窗口标题都为空。GetNextWindow(),我用了,程序出错。
      

  6.   

    HD_Child = FindWindowEx(HD_Parent,HD_Child,"Afx:66000000:0",null);
    我用了两次才取得所需的HD_Child,不知道有其他方法吗?谢谢
      

  7.   

    FindWindowEx 是要用两次啊!
    楼主还真机灵哦!
      

  8.   

    FindWindowEx(父窗口句柄,NULL,类名,标题);
      

  9.   

    FindWindowEx  GetNextWindow   用这两个肯定能搞定
      

  10.   

    HWND hWnd = ::FindWindowEx(hParent, NULL, szClass, szTitle);
    hWnd = ::FindWindowEx(hParent, hWnd, szClass, szTitle);
    hWnd = ::FindWindowEx(hParent, hWnd, szClass, szTitle);
    三次就OK了