一、用ShowWindow函数只能显示窗口,不能改变窗口位置
二、用SetWindowPos函数可以把窗口显示为总在最前,应该可以有效的,不知道你为什么无法奏效,用TOPMOST参数设置为总在最前就可以了。
三、用me.show和用showwindow函数道理是一样的
四、用Me.WindowState=Normal就没什么道理了。
你可以用Zorder属性来试试看

解决方案 »

  1.   

    to major2:
    我只想用top,不想用topmost,用top时有时候第一次行了,当窗口再次被覆盖时就不行了,Zorder属性我试过,不大会用,教教我吧
    qianqian:
    setfocus我也试过,还是不行,标题栏闪了几下,还是没有弹出到最前面哪位老大救救我?最好是试过确实可行才告诉我,谢谢了!!
      

  2.   

    to major2:
    我只想用top,不想用topmost,用top时有时候第一次行了,当窗口再次被覆盖时就不行了,Zorder属性我试过,不大会用,教教我吧
    to qianqian:
    setfocus我也试过,还是不行,标题栏闪了几下,还是没有弹出到最前面哪位老大救救我?最好是试过确实可行才告诉我,谢谢了!!
      

  3.   

    用me.Zorder 方法或API函数setwindowpos hwnd(窗口句柄),HWND_TOP
      

  4.   

    让我郁闷的是
    我在程序里控制别的程序的窗口弹出到最上面就可以
    控制自己的就是不行,只有当最上面的窗口是VB IDE时才可以
    把程序编译成.exe文件也不行
    我真的很想不通为什么自己把自己弹出就不行
      

  5.   

    各位老大,我找遍了所有的api,连以下三个都实现不了了,快救救我!!!
    Private Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function SetActiveWindow Lib "user32" (ByVal hwnd As Long) As Long
    Private Sub Timer1_Timer()
        BringWindowToTop Me.hwnd
        SetForegroundWindow Me.hwnd
        SetActiveWindow Me.hwnd
    End Sub
      

  6.   

    可能因为Form有一个隐藏的Owner。
    试试:
    SetForegroundWindow getwindow(form1.hwnd,gw_owner)
    或者:
    SetWindowPos me.hwnd,1,0,0,0,0,swp_nomove or swp_nosize or swp_showwindow
      

  7.   

    或者:
    me.hide
    me.show
    me.zorder
      

  8.   

    thriller,还是无法自己弹出,比如把最上面的IE窗口覆盖,但是能覆盖VB IDE
    请您测试通过了再通知我吧,万分感谢
    我就是不明白为什么winpopup能自动弹出,我就做不到呢?
    郁闷!
      

  9.   

    555555555555
    最近CSDN被黑,以致俺上不来,只能得50分了
    不甘心。
      

  10.   

    Janver,谢谢你
    其实我还想给其它朋友分的
    但听你这么说,我倒不好意思了,就给你50吧