www.pudn.com > HEX2BIN_VB.zip > Module2.bas
Attribute VB_Name = "Module2"
Option Explicit
'// Æ®·¹ÀÌ Å뺸 Á¤ÀÇ
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_USER = &H400
Public Const cbNotify& = WM_USER + 42
Public Const uID& = 61860
Public g_myNID As NOTIFYICONDATA
Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIM_MODIFY = &H1
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_RBUTTONDBLCLK = &H206
Public Const WM_MBUTTONDOWN = &H207
Public Const WM_MBUTTONUP = &H208
Public Const WM_MBUTTONDBLCLK = &H209
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 Const GWL_WNDPROC = (-4)
Public g_lpPrevWndProc As Long
Public g_HW As Long
Public Sub Hook()
g_lpPrevWndProc = SetWindowLong(g_HW, GWL_WNDPROC, AddressOf WindowProc)
End Sub
Public Sub UnHook()
Dim tmp As Long
tmp = SetWindowLong(g_HW, GWL_WNDPROC, g_lpPrevWndProc)
End Sub
Function WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If wParam = uID Then
Select Case lParam
Case &H204 'WM_RBUTTONDOWN
If Not frmMain.Visible Then frmMain.PopupMenu frmMain.mnuPopup
Case WM_LBUTTONDBLCLK
Case WM_LBUTTONUP
End Select
End If
WindowProc = CallWindowProc(g_lpPrevWndProc, hw, uMsg, wParam, lParam)
End Function