我想把Form1老是放在桌面的最顶!不被别的程序遮住!
哪个参数?

解决方案 »

  1.   

    '申明
    '//SET FORM ON TOP(窗體至上)
    Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long'窗口Load时,
    SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE   '窗体放在最上层给分吧!!!
      

  2.   

    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal Cx As Long, ByVal Cy As Long, ByVal wFlags As Long) As Long
    Public Sub SetOnTop(ByVal IsOnTop As Integer)
    Dim rtn As Long
        If IsOnTop = 1 Then
            '将窗口置于最上面
            rtn = SetWindowPos(Form1.hwnd, -1, 0, 0, 0, 0, 3)
        Else
            rtn = SetWindowPos(Form1.hwnd, -2, 0, 0, 0, 0, 3)
        End If
    End Sub
    Private Sub Command1_Click()
    SetOnTop 1
    End Sub
    Private Sub Command2_Click()
    SetOnTop 0
    End Sub
      

  3.   

    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long'窗体最上面
    Sub StayOnTop(ByVal hwnd As Long, Optional ByVal Top As Boolean = True)
        If Top Then
            SetWindowPos hwnd, -1, 0, 0, 0, 0, 3
        Else
            SetWindowPos hwnd, -2, 0, 0, 0, 0, 3
        End If
    End SubPrivate Sub Form_Load()
        StayOnTop Me.hwnd, True
    End Sub
      

  4.   

    Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long这一句放在哪里呀?我刚学VB,不懂。这是一个方法吗?看上去又不像!
    Lib "user32"又是什么呀?