本帖最后由 jinder 于 2009-08-29 18:27:14 编辑

解决方案 »

  1.   

    貌似EnumWindows是按照Z轴顺序枚举窗口的
      

  2.   



    GetTopWindow 
    获取到的好像是创建窗口的顺序,不是此时的Z顺序,我用计时器+GetTopWindow(GetDesktopWindow())实验了一下效果不适合.GetForegroundWindow 
    获取的是此时具有焦点的窗口,不是符合所需要求,显示在最前方的不一定要具有焦点,就好比打开一个窗口后用鼠标点击一下桌面,此时该窗口会失去焦点,但仍显示在前方.
      

  3.   

    那个活动窗口应该在Z顺序的最上方:
    Private Declare Function GetActiveWindow Lib "user32" () As Long
    Private Sub Form_Load()
    Timer1.Interval = 1000
    End SubPrivate Sub Timer1_Timer()
    RE = GetActiveWindow()
    Debug.Print RE
    End Sub
      

  4.   


    正在试验ing...