VB 让窗口强行置顶
我在VB用某代码让窗口置顶了,但是如果程序运行的时候有其他置顶的程序运行的话,那个程序的窗口就被置于本程序的上方,有没有办法让本程序强行置顶,不管是什么置顶的程序出现.我...
我在VB用某代码让窗口置顶了,但是如果程序运行的时候有其他置顶的程序运行的话,那个程序的窗口就被置于本程序的上方,有没有办法让本程序强行置顶,不管是什么置顶的程序出现.
我用的就是你说的那串代码,就是不能强制置顶
腾讯QQ登录框都是置于最顶层的,有办法把QQ登录框也压下下面吗? 展开
我用的就是你说的那串代码,就是不能强制置顶
腾讯QQ登录框都是置于最顶层的,有办法把QQ登录框也压下下面吗? 展开
4个回答
展开全部
Option Explicit
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
Private Const HWND_TOPMOST& = -1
' 将窗口置于列表顶部,并位于任何最顶部窗口的前面
Private Const SWP_NOSIZE& = &H1
' 保持窗口大小
Private Const SWP_NOMOVE& = &H2
' 保持窗口位置
Private Sub Form_Load()
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
' 将窗口设为总在最前
End Sub
'其实和楼上的一样, 不过这个置顶的是 加载的窗口, 你要置顶哪窗口就把代码放哪个里边 ,另外MSGBOX 的置顶是4096 系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。
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
Private Const HWND_TOPMOST& = -1
' 将窗口置于列表顶部,并位于任何最顶部窗口的前面
Private Const SWP_NOSIZE& = &H1
' 保持窗口大小
Private Const SWP_NOMOVE& = &H2
' 保持窗口位置
Private Sub Form_Load()
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
' 将窗口设为总在最前
End Sub
'其实和楼上的一样, 不过这个置顶的是 加载的窗口, 你要置顶哪窗口就把代码放哪个里边 ,另外MSGBOX 的置顶是4096 系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。
展开全部
代码如下;
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
Private Const a& = -1
Private Const b& = &H1
Private Const c& = &H2
Private Sub Form_Load()
SetWindowPos Me.hwnd, a, 0, 0, 0, 0, b Or c
End Sub
直接复制到窗体的代码窗口中,运行就行了!
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
Private Const a& = -1
Private Const b& = &H1
Private Const c& = &H2
Private Sub Form_Load()
SetWindowPos Me.hwnd, a, 0, 0, 0, 0, b Or c
End Sub
直接复制到窗体的代码窗口中,运行就行了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Timer中,每隔一段很短时间,用SetWindowPos置顶一次,不就永远置顶了么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个就要跟程序运行时的优先级别有关了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询