2024年3月16日发(作者:)

Option Explicit

Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent _

As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long

Declare Function EnumThreadWindows Lib "user32" (ByVal dwThreadId _

As Long, ByVal lpfn As Long, ByVal lParam As Long) As Long

Declare Function GetClassName Lib "user32" Alias "GetClassNameA" _

(ByVal hWnd As Long, ByVal lpClassName As String, _

ByVal nMaxCount As Long) As Long

Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _

(ByVal hWnd As Long, ByVal lpString As String, _

ByVal cch As Long) As Long

Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long

Public Declare Function CallWindowProc Lib "user32" Alias _

"CallWindowProcA" _

(ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal msg As Long, _

ByVal wParam As Long, ByVal lParam As Long) As Long

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _

(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) _

As Long

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _

(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As _

Long, ByVal lParam As Long) As Long

Public Declare Function WindowFromPointXY Lib "user32" _

Alias "WindowFromPoint" (ByVal xPoint As Long, _

ByVal yPoint As Long) As Long

Private Declare Function SystemParametersInfo Lib "user32" _

Alias "SystemParametersInfoA" _

(ByVal uAction As Long, _

ByVal uParam As Long, _

lpvParam As Any, _

ByVal fuWinIni As Long) As Long

Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As

Long, ByVal lParam As Long) As Long

Public Declare Function WindowFromPoint Lib "user32" (pt As POINTAPI) As Long

Public Declare Function GetWindowInfo Lib "user32" (ByVal hWnd As Long, ByRef pwi As WINDOWINFO) As Boolean

Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long

Public Declare Function FreeLibrary Lib "kernel32" Alias "FreeLibraryA" (ByVal hLibrary As Long) As Boolean

Private Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

Private Type WINDOWINFO

cbSize As Long

rcWindow As RECT

rcClient As RECT

dwStyle As Long

dwExStyle As Long

cxWindowBorders As Long

cyWindowBorders As Long

atomWindowtype As Long

wCreatorVersion As Long

End Type

Private Type POINTAPI

x As Long

y As Long

End Type

Private Type MOUSEHOOKSTRUCT

pt As POINTAPI

hWnd As Long

wHitTestCode As Long

dwExtraInfo As Long

End Type

Private Type MSLLHOOKSTRUCT

pt As POINTAPI

mouseData As Long

flags As Long

time As Long

dwExtraInfo As Long

End Type

Private Const WM_MOUSEWHEEL = &H20A

Private Const WM_MBUTTONUP = &H208

Private Const WM_MBUTTONDOWN = &H207

Private Const WM_MBUTTONDBLCLK = &H209

Private Const WM_LBUTTONDOWN = &H201

Private Const WM_LBUTTONUP = &H202

Private Const WM_RBUTTONUP = &H205

Private Const MK_LBUTTON = &H1

Private Const MK_MBUTTON = &H10