exe程序窗口总在最前

exe程序窗口总在最前,第1张

--程序窗口总在最前,不被其他窗口覆盖吗?

--是。

--请使用API函数

在需要总在最前的窗体代码中加入以下声明:

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)

再添加Form_Load事件:

Private Sub Form_Load()

MeShow

Call SetWindowPos(Mehwnd, -1, 0, 0, 0, 0, 3)

'……其它代码

End Sub

我们看到有的应用程序不管窗口是否活动都使窗口保持在最上层,常见的Microsoft Word的文件打开和编辑查找窗口就是这样。在VB开发中可以通过调用SetWindowsPos()API函数实现这个功能。该函数声明如下:

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

---- hWnd变元是窗口的句柄;x,y是窗口的左上角的坐标;cx、cy是窗口宽度和高度;hWndInsertAfter变元是窗口清单中hWnd窗口前面的窗口句柄,有四个可选值:

序号 可 选 值 作 用

1 HWND_BOTTOM 把窗口放在窗口清单的底部

2 HWND_TOP 把窗口放在窗口清单的字符顺序的顶部

3 HWND_TOPMOST 把窗口放在窗口清单的顶部

4 HWND_NOTOPMOST 把窗口放在窗口清单的顶部,最上层窗口之下

---- WFlags变元为整型值,有八个可选值:

序号 可 选 值 作 用

1 SWP_DRAWFRAME 在窗口周围画一个方框

2 SWP_HIDEWINDOW 隐藏窗口

3 SWP_NOACTIVATE 不激活窗口

4 SWP_NOMOVE 保持窗口当前位置

5 SWP_NOREDRAW 窗口不自动重画

6 SWP_NOSIZE 保持窗口当前尺寸

7 SWP_NOZORDER 保持窗口在窗口清单中的当前位置

8 SWP_SHOWWINDOW 显示窗口

---- 下面的例子程序Test演示了对函数中的以上7个变元作正确的选择后,应用程序运行后窗口总可保持在最上层,程序清单如下:

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_SHOWWINDOWS = &H40

Private Sub Form_Load()

Dim retValue As Long

retValue = SetWindowPos(Mehwnd,

HWND_TOPMOST, MeCurrentX, _

MeCurrentY, 300, 300, SWP_SHOWWINDOWS)

End Sub

---- 备注:编写函数声明时,整个函数声明须在一行中写完,不可提行。一般是自动从系统中得到函数声明,方法是从VB的外接程序管理中启动“API 浏览”程序,在“API 浏览”程序中找到所需的函数声明,然后复制到VB代码中。

程序总是靠前是软件工程师开发的时候做的功能,而大多数软件都是没有设置默认总是靠前,有的软件设置项里面有总是靠前的功能,需要手动 *** 作。

腾讯QQ是工程师设定默认就是总是靠前的,当然在设置里面也能取消这一项。

你可以看看你所使用的软件设置项里面有没有类似QQ里的这个功能,如果有就可以让它总是靠在其他软件的前面。希望能对你有用

使用WinSet, Attribute, Value [, WinTitle, WinText, ExcludeTitle, ExcludeText]

第一个参数AlwaysOnTop, [On|Off|Toggle]:让窗口处于置顶状态使用 ON 打开此设置, 使用 OFF 关闭, 而使用 TOGGLE 切换到当前的相反状态 如果省略, 默认为 TOGGLE 可以使用单词 Topmost 代替 AlwaysOnTop

示例:

WinSet, AlwaysOnTop, toggle, Calculator ; 切换计算器的置顶状态

激活匹配指定条件的窗口(将它置于最前端)。WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText]如果窗口处于最小化状态,它首先会还原到原来的状态,再被激活。

以上就是关于exe程序窗口总在最前全部的内容,包括:exe程序窗口总在最前、如何在VB6里让程序始终处于最最前面显示要在别的全屏模式的程序的前面啊、怎么不让某一程序界面永远在最前面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10118092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存