cf手游十连抽中奖率:关于VB的问题!
我想要启动时在任何桌面窗口的最上一层 要如何实现?
(例:就像QQ直播 一样 可以在桌面任何一个窗口的置前,没有其他窗口可以当着他)
环境:新建一个窗口,名字:frmOnTop
'在最顶输入定义函数
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
'=============================窗口最高层过程==================================
Public Sub OnTop()
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1
Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
If SetWindowPos(frmOnTop.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS) = True Then
success% = SetWindowPos(frmOnTop.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
End If
End Sub
'===============================================================================
'===================窗口代码====================
Private Sub Form_Load()
OnTop
End Sub
'===============================================
--------------------------------------------------------------------------------
撤消最高层:
'==================取消最高层过程=============================
Private Sub NoOnTop()
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1
Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
success% = SetWindowPos(frmOnTop.hWnd, 1, 1, 0, 0, 0, FLAGS)
End Sub
'============================================================
使用时,只要输入:
NoOnTop就行了