VB建立指定窗口置顶程序.doc
文本预览下载声明
VB建立指定窗口置顶程序
如图建立一下内容:
界面如图:
两个按钮:Command1,Command2修改caption属性为:置顶和自由
窗体中添加下面代码:
Option Explicit
Dim IsFree As Boolean
2009-04-27
Private Declare Function GetCursorPos Lib user32 (lpPoint As POINTAPI) As Long
Private Declare Sub CopyMemory Lib kernel32.dll Alias RtlMoveMemory ( _
ByRef Destination As Any, _
ByRef Source As Any, _
ByVal Length As Long)
键盘消息
Private Const WM_KEYDOWN = H100
Private Const WM_KEYUP = H101
Private Const WM_SYSKEYDOWN = H104
Private Const WM_SYSKEYUP = H105
Private Type POINTAPI
x As Long
Y As Long
End Type
Private Declare Function SetForegroundWindow Lib user32 (ByVal hwnd As Long) As Long
Dim cHwnd As Long
获取鼠标事件
Private Declare Function WindowFromPoint Lib user32 (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function ShowWindow Lib user32 (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const HC_ACTION As Long = 0
Dim WithEvents objHookLL As cHookLL
置顶
Private Const SWP_FRAMECHANGED = H20 强迫一条WM_NCCALCSIZE消息进入窗口,即使窗口的大小没有改变
Private Const SWP_DRAWFRAME = SWP_FRAMECHANGED 围绕窗口画一个框
Private Const SWP_HIDEWINDOW = H80 隐藏窗口
Private Const SWP_NOACTIVATE = H10 不激活窗口
Private Const SWP_NOMOVE = H2 保持当前位置(x和y设定将被忽略)
Private Const SWP_NOREDRAW = H8 窗口不自动重画
Private Const SWP_NOSIZE = H1 保持当前大小(cx和cy会被忽略)
Private Const SWP_NOZORDER = H4 保持窗口在列表的当前位置(hWndInsertAfter将被忽略)
Private Const SWP_SHOWWINDOW = H40 显示窗口
Private Const HWND_TOP = 0 将窗口置于Z序列的顶部;Z序列代表在分级结构中,窗口针对一个给定级别的窗口显示的顺序
Private Const HWND_TOPMOST = -1 将窗口置于列表顶部,并位于任何最顶部窗口的前面
Private Const HWND_BOTTOM = 1 将窗口置于窗口列表底部
Private Const HWND_NOTOPMOST = -2 将窗口置于列表顶部,并位于任何最顶部窗口的后面
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
显示全部