VB 让窗口强行置顶

我在VB用某代码让窗口置顶了,但是如果程序运行的时候有其他置顶的程序运行的话,那个程序的窗口就被置于本程序的上方,有没有办法让本程序强行置顶,不管是什么置顶的程序出现.我... 我在VB用某代码让窗口置顶了,但是如果程序运行的时候有其他置顶的程序运行的话,那个程序的窗口就被置于本程序的上方,有没有办法让本程序强行置顶,不管是什么置顶的程序出现.
我用的就是你说的那串代码,就是不能强制置顶

腾讯QQ登录框都是置于最顶层的,有办法把QQ登录框也压下下面吗?
展开
 我来答
shuoyizhi
推荐于2017-11-27 · TA获得超过2596个赞
知道小有建树答主
回答量:1519
采纳率:0%
帮助的人:597万
展开全部
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 系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。
cnkriss
2009-03-29 · 超过24用户采纳过TA的回答
知道答主
回答量:225
采纳率:0%
帮助的人:0
展开全部
代码如下;
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
直接复制到窗体的代码窗口中,运行就行了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
verywzm
2009-03-29 · TA获得超过947个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:410万
展开全部
在Timer中,每隔一段很短时间,用SetWindowPos置顶一次,不就永远置顶了么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我什么也不知道怎么回答
2009-03-28 · TA获得超过171个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:161万
展开全部
这个就要跟程序运行时的优先级别有关了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式