此段源程序一定能解决你的问题!:Option ExplicitPrivate 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 LongConst HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1Const FormFlags = SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATEPublic Sub WindowAlwaysOnTop(Form_Hwnd As Long, vStaus As Boolean)
Dim Dummy As Long
If vStaus Then
' 常在顶端
Dummy = SetWindowPos(Form_Hwnd, HWND_TOPMOST, 0, 0, 0, 0, FormFlags)
Else
' 不常在顶端
Dummy = SetWindowPos(Form_Hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FormFlags)
End If
End SubPrivate Sub Form_Load()
' 举例
WindowAlwaysOnTop Me.hwnd, True
End Sub郭子
Const HWND_NOTOPMOST = -2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1Const FormFlags = SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATEPublic Sub WindowAlwaysOnTop(Form_Hwnd As Long, vStaus As Boolean)
Dim Dummy As Long
If vStaus Then
' 常在顶端
Dummy = SetWindowPos(Form_Hwnd, HWND_TOPMOST, 0, 0, 0, 0, FormFlags)
Else
' 不常在顶端
Dummy = SetWindowPos(Form_Hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FormFlags)
End If
End SubPrivate Sub Form_Load()
' 举例
WindowAlwaysOnTop Me.hwnd, True
End Sub郭子
用你的OICQ和这个程序比比,就知道了。
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, y, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1 '前
Private Const HWND_NOTOPMOST = -2 '普
Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
Private Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE
'代码:放在form1_load()中
SetWindowPos Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS'前