📄 modtray.bas
字号:
Attribute VB_Name = "Modtray"
Public Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_USER = &H400
Public Const GWL_WNDPROC = (-4)
Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIM_MODIFY = &H1
Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4
Public Const uID& = 88888
Public Const cbNotify& = WM_USER + 100
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex 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 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 Shell_NotifyIcon Lib "shell32.dll" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Global Formleft As Long
Global gHW As Long
Global ipPrevWinProc As Long
Public myNID As NOTIFYICONDATA
Public Const WM_LBUTTONUP = &H202
Public Const WM_RBUTTONUP = &H205
Public Ishook As Boolean
Function WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'get message
If wParam = uID Then
Select Case lParam
Case WM_LBUTTONDBLCLK
' unHook
ShowFrmMain
Case WM_RBUTTONUP, WM_LBUTTONUP
' FormMain.Left = 800000
' FormMain.Visible = True
frmMain.ShowMenu
Exit Function
End Select
End If
WindowProc = CallWindowProc(ipPrevWinProc, hw, uMsg, wParam, lParam)
End Function
Public Sub Hook()
'class form
If Ishook = True Then Exit Sub
ipPrevWinProc = SetWindowLong(gHW, GWL_WNDPROC, AddressOf WindowProc)
Ishook = True
End Sub
Sub unHook()
If Ishook = False Then Exit Sub
Dim temp As Long
temp = SetWindowLong(gHW, GWL_WNDPROC, ipPrevWinProc)
Ishook = False
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -