用GetWindow枚举较上层的窗体排在前面

解决方案 »

  1.   

    Public Declare Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
      

  2.   

    用API:GetWindow VB声明 
    Declare Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As Long, ByVal wCmd As Long) As Long 
    说明 
    获得一个窗口的句柄,该窗口与某源窗口有特定的关系 
    返回值 
    Long,由wCmd决定的一个窗口的句柄。如没有找到相符窗口,或者遇到错误,则返回零值。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hwnd Long,源窗口 
    wCmd Long,指定结果窗口与源窗口的关系,它们建立在下述常数基础上: 
    GW_CHILD 寻找源窗口的第一个子窗口 
    GW_HWNDFIRST 为一个源子窗口寻找第一个兄弟(同级)窗口,或寻找第一个顶级窗口 
    GW_HWNDLAST 为一个源子窗口寻找最后一个兄弟(同级)窗口,或寻找最后一个顶级窗口 
    GW_HWNDNEXT 为源窗口寻找下一个兄弟窗口 
    GW_HWNDPREV 为源窗口寻找前一个兄弟窗口 
    GW_OWNER 寻找窗口的所有者 
    注解 
    兄弟或同级是指在整个分级结构中位于同一级别的窗口。如某个窗口有五个子窗口,那五个窗口就是兄弟窗口。尽管GetWindow可用于枚举窗口,但倘若要在枚举过程中重新定位、创建和清除窗口,那么EnumWindows和EnumChildWindows更为可靠
     
      

  3.   

    呵呵,解决了不是层次的事,是控件的GW_VISIBLE的事呵呵……
    给分