1
0
mirror of https://e.coding.net/circlecloud/VBFunctionBas.git synced 2025-11-24 21:26:26 +00:00
This commit is contained in:
2017-02-13 00:36:10 +08:00
parent 41975484fb
commit 6a65a33992

233
Tray_Tools.bas Normal file
View File

@@ -0,0 +1,233 @@
Attribute VB_Name = "Tray_Tools"
'#######################################ģ<><C4A3>˵<EFBFBD><CBB5>#########################################
'<27><><EFBFBD><EFBFBD>:<3A><><EFBFBD>̹<EFBFBD><CCB9><EFBFBD>
'<27><><EFBFBD><EFBFBD><><CAB5>VB<56><42><EFBFBD>̺<EFBFBD><CCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3>޸ģ<DEB8>ɾ<EFBFBD><C9BE><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2014<31><34>7<EFBFBD><37>10<31><30>
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
'<27><>λ:<3A>Ϻ<EFBFBD><CFBA>ж<EFBFBD><D0B6><EFBFBD>ˮ<EFBFBD><EFBFBD>̰<EFBFBD>װ<EFBFBD><D7B0><EFBFBD>޹<EFBFBD>˾
''====================================ģ<><C4A3>ʹ<EFBFBD><CAB9>˵<EFBFBD><CBB5>=======================================
'****************************************************
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD>Tray_Add (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> As Long, ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> As Long, <20><>ʾ<EFBFBD><CABE> As String), _
[<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD> As Boolean = False(Ĭ<EFBFBD>Ϲ<EFBFBD>)](<EFBFBD><EFBFBD>ѡ), _
[<EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD> As String](<EFBFBD><EFBFBD>ѡ), _
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> As String](<EFBFBD><EFBFBD>ѡ), _
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD> As NIIF_InFoType](<EFBFBD><EFBFBD>ѡ), _
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾʱ<EFBFBD><EFBFBD> As Long](<EFBFBD><EFBFBD>ѡ))
'<27>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>̣<EFBFBD>Tray_Change (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> As Long, ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> As Long, <20><>ʾ<EFBFBD><CABE> As String), _
[<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD> As Boolean = False(Ĭ<EFBFBD>Ϲ<EFBFBD>)](<EFBFBD><EFBFBD>ѡ), _
[<EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD> As String](<EFBFBD><EFBFBD>ѡ), _
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> As String](<EFBFBD><EFBFBD>ѡ), _
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD> As NIIF_InFoType](<EFBFBD><EFBFBD>ѡ), _
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾʱ<EFBFBD><EFBFBD> As Long](<EFBFBD><EFBFBD>ѡ))
<><C9BE><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD>Tray_Del()
'****************************************************
'<27><><EFBFBD>̲˵<CCB2><CBB5><EFBFBD>Tray_Menu (Frm As Form, Button As Integer, Shift As Integer, X As Single, Y As Single)
'#######################################ģ<><C4A3>˵<EFBFBD><CBB5>#########################################
Option Explicit
'''========================<3D><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>============================
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function Shell_NotifyIcon Lib "shell32.dll" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_MOUSEMOVING = &H200 '<27><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
Private Const WM_LBUTTONDOWN = &H201 '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Private Const WM_LBUTTONUP = &H202 '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
Private Const WM_LBUTTONDBLCLK = &H203 <><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Private Const WM_RBUTTONDOWN = &H204 '<27><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
Private Const WM_RBUTTONUP = &H205 '<27><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC>ͷ<EFBFBD>
Private Const WM_RBUTTONDBLCLK = &H206 <><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>
Private Const WM_MBUTTONDOWN = &H207 '<27><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
Private Const WM_MBUTTONUP = &H208 '<27><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC>ͷ<EFBFBD>
Private Const WM_MBUTTONDBLCLK = &H209 <><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>
Private Const WM_SETHOTKEY = &H32 '<27><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
Private Const WM_USER = &H400
Private Const WM_NOTIFYICON = WM_USER + 1 ' <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>Ϣ
Private Const GWL_WNDPROC = (-4) ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>Ϣ, 2000<30>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9>Ϣ
Private Const NIN_BALLOONSHOW = (WM_USER + &H2) ' <20><> Balloon Tips <20><><EFBFBD><EFBFBD>ʱִ<CAB1><D6B4>
Private Const NIN_BALLOONHIDE = (WM_USER + &H3) ' <20><> Balloon Tips <20><>ʧʱִ<CAB1>У<EFBFBD><D0A3><EFBFBD> SysTrayIcon <20><>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD> TimeOut ʱ<><EFBFBD><E4B5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Balloon Tips <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>Ϣ
Private Const NIN_BALLOONTIMEOUT = (WM_USER + &H4) ' <20><> Balloon Tips <20><> TimeOut ʱ<>䵽ʱִ<CAB1><D6B4>
Private Const NIN_BALLOONUSERCLICK = (WM_USER + &H5) ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Balloon Tips ʱִ<CAB1>С<EFBFBD>
' ע<><D7A2>:<3A><>XP<58><50>ִ<EFBFBD><D6B4>ʱ Balloon Tips <20><><EFBFBD>и<EFBFBD><D0B8>رհ<D8B1>ť,
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD>ť<EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>յ<EFBFBD> NIN_BALLOONTIMEOUT <20><>Ϣ<EFBFBD><CFA2>
Private Type NOTIFYICONDATA
cbSize As Long ' <20><EFBFBD><E1B9B9>С(<28>ֽ<EFBFBD>)
hwnd As Long ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ĵ<EFBFBD><C4B4>ڵľ<DAB5><C4BE><EFBFBD>
uId As Long ' Ψһ<CEA8>ı<EFBFBD>ʶ<EFBFBD><CAB6>
uFlags As Long ' Flags
uCallBackMessage As Long ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ĵ<EFBFBD><C4B4>ڽ<EFBFBD><DABD>յ<EFBFBD><D5B5><EFBFBD>Ϣ
hIcon As Long ' <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
szTip As String * 128 ' Tooltip <20><>ʾ<EFBFBD>ı<EFBFBD>
dwState As Long ' <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>״̬
dwStateMask As Long ' ״̬<D7B4><CCAC><EFBFBD><EFBFBD>
szInfo As String * 256 ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ı<EFBFBD>
uTimeoutOrVersion As Long ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʧʱ<CAA7><CAB1><EFBFBD><EFBFBD><EFBFBD>
' uTimeout - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʧʱ<CAA7><CAB1>(<28><>λ:ms, 10000 -- 30000)
' uVersion - <20>汾(0 for V4, 3 for V5)
szInfoTitle As String * 64 ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
dwInfoFlags As Long ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
End Type ' dwState to NOTIFYICONDATA structure
Private Const NIS_HIDDEN = &H1 ' <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
Private Const NIS_SHAREDICON = &H2 ' <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>' dwInfoFlags to NOTIFIICONDATA structure
Public Enum NIIF_InFoType
NIIF_NONE = &H0 ' <20><>ͼ<EFBFBD><CDBC>
NIIF_INFO = &H1 ' "<22><>Ϣ"ͼ<><CDBC>
NIIF_WARNING = &H2 ' "<22><><EFBFBD><EFBFBD><><CDBC>
NIIF_ERROR = &H3 ' "<22><><EFBFBD><EFBFBD><><CDBC>
End Enum ' uFlags to NOTIFYICONDATA structure
Private Const NIF_MESSAGE As Long = &H1
Private Const NIF_ICON As Long = &H2
Private Const NIF_TIP As Long = &H4
Private Const NIF_STATE As Long = &H8
Private Const NIF_INFO As Long = &H10 ' dwMessage to Shell_NotifyIcon
Private Const NIM_ADD As Long = &H0
Private Const NIM_MODIFY As Long = &H1
Private Const NIM_DELETE As Long = &H2
Private Const NIM_SETFOCUS As Long = &H3
Private Const lngNIM_SETVERSION As Long = &H4
Private Tray As NOTIFYICONDATA
Public OldWndProc As Long
Private Declare Function RegisterWindowMessage Lib "user32" Alias _
"RegisterWindowMessageA" (ByVal lpString As String) As Long
Private Const RASDIALEVENT = "RasDialEvent"
Private Const WM_RASDIALEVENT = &HCCCD&
Public m_RasMessage As Long
''''========================<3D><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>============================
Public Sub Tray_Add(ByVal hwnd As Long, ByVal Icon As Long, ByVal Tip As String, _
Optional ByVal bTipInfo As Boolean = False, _
Optional ByVal TipInfoTitle As String = vbNullString, _
Optional ByVal TipInfo As String = vbNullString, _
Optional ByVal TipInfoType As NIIF_InFoType = NIIF_INFO, _
Optional ByVal TipInfoDaily As Long = 1000)
With Tray
.cbSize = Len(Tray)
.uId = 0
.hwnd = hwnd '<27><><EFBFBD>̾<EFBFBD><CCBE><EFBFBD>
.hIcon = Icon
.szTip = Tip & vbNullChar '<27><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
.uFlags = NIF_TIP Or NIF_MESSAGE Or NIF_ICON
.uCallBackMessage = WM_NOTIFYICON
.dwState = 0
.dwStateMask = 0
If bTipInfo Then .uFlags = .uFlags Or NIF_INFO Or NIF_STATE
.szInfoTitle = TipInfoTitle & vbNullChar '<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>
.szInfo = TipInfo & vbNullChar '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
.dwInfoFlags = TipInfoType '<27><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
.uTimeoutOrVersion = TipInfoDaily '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<CAB1><CAB1>
End With
If OldWndProc = 0 Then
OldWndProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf TrayWndProc)
Shell_NotifyIcon NIM_ADD, Tray
Else
Shell_NotifyIcon NIM_MODIFY, Tray
End If
End Sub
Public Sub Tray_Change(ByVal hwnd As Long, _
Optional ByVal Icon As Long = 0, _
Optional ByVal Tip As String = "", _
Optional ByVal bTipInfo As Boolean = False, _
Optional ByVal TipInfoTitle As String = vbNullChar, _
Optional ByVal TipInfo As String = vbNullChar, _
Optional ByVal TipInfoType As NIIF_InFoType = NIIF_NONE, _
Optional ByVal TipInfoDaily As Long = 0)
With Tray
If Icon <> 0 Then .hIcon = Icon
If Tip <> "" Then .szTip = Tip & vbNullChar: .uFlags = NIF_TIP Or NIF_MESSAGE Or NIF_ICON
If bTipInfo Then .uFlags = .uFlags Or NIF_INFO Or NIF_STATE
.szInfoTitle = TipInfoTitle & vbNullChar
.szInfo = TipInfo & vbNullChar
.dwInfoFlags = TipInfoType
.uTimeoutOrVersion = TipInfoDaily
End With
Shell_NotifyIcon NIM_MODIFY, Tray
End Sub
Public Sub Tray_Del()
If OldWndProc <> 0 Then SetWindowLong Tray.hwnd, GWL_WNDPROC, OldWndProc
OldWndProc = 0
Shell_NotifyIcon NIM_DELETE, Tray
End Sub
''**************************************************************************
''*******<2A><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>'OldWndProc = SetWindowLong(Me.hWnd, GWL_WNDPROC, AddressOf TrayWndProc)
''**************************************************************************
'Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'Private Const WM_MOUSEMOVING = &H200 '<27><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
'Private Const WM_LBUTTONDOWN = &H201 '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
'Private Const WM_LBUTTONUP = &H202 '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
'Private Const WM_LBUTTONDBLCLK = &H203 '˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
'Private Const WM_RBUTTONDOWN = &H204 '<27><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
'Private Const WM_RBUTTONUP = &H205 '<27><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC>ͷ<EFBFBD>
'Private Const WM_RBUTTONDBLCLK = &H206 '˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>
'Private Const WM_MBUTTONDOWN = &H207 '<27><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
'Private Const WM_MBUTTONUP = &H208 '<27><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC>ͷ<EFBFBD>
'Private Const WM_MBUTTONDBLCLK = &H209 '˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>
'Private Const WM_SETHOTKEY = &H32 '<27><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
'Private Const WM_USER = &H400
'Private Const WM_NOTIFYICON = WM_USER + 1 ' <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>Ϣ
'Private Const GWL_WNDPROC = (-4) ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>Ϣ, 2000<30>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9>Ϣ
'Private Const NIN_BALLOONSHOW = (WM_USER + &H2) ' <20><> Balloon Tips <20><><EFBFBD><EFBFBD>ʱִ<CAB1><D6B4>
'Private Const NIN_BALLOONHIDE = (WM_USER + &H3) ' <20><> Balloon Tips <20><>ʧʱִ<CAB1>У<EFBFBD><D0A3><EFBFBD> SysTrayIcon <20><>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD> TimeOut ʱ<><EFBFBD><E4B5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Balloon Tips <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>Ϣ
'Private Const NIN_BALLOONTIMEOUT = (WM_USER + &H4) ' <20><> Balloon Tips <20><> TimeOut ʱ<>䵽ʱִ<CAB1><D6B4>
'Private Const NIN_BALLOONUSERCLICK = (WM_USER + &H5) ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Balloon Tips ʱִ<CAB1>С<EFBFBD>
''*******<2A><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*********************************************************
'Public Function TrayWndProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
' ' <20><><EFBFBD><EFBFBD> WM_NOTIFYICON <20><>Ϣ
' If Msg = WM_NOTIFYICON Then
' Select Case lParam
'
' Case WM_LBUTTONUP
' Debug.Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
'
' Case WM_LBUTTONDBLCLK
' Debug.Print "<22><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>"
'
' Case WM_RBUTTONUP
' Debug.Print "<22>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>"
'
' Case WM_RBUTTONDBLCLK
' Debug.Print "<22>Ҽ<EFBFBD>˫<EFBFBD><CBAB>"
'
' Case WM_MBUTTONUP
' Debug.Print "<22>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>"
'
' Case WM_MBUTTONDBLCLK
' Debug.Print "<22>м<EFBFBD>˫<EFBFBD><CBAB>"
'
' Case NIN_BALLOONSHOW
' Debug.Print "<22><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ"
'
' Case NIN_BALLOONHIDE
' Debug.Print "ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>"
'
' Case NIN_BALLOONTIMEOUT
' Debug.Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʧ"
'
' Case NIN_BALLOONUSERCLICK
' Debug.Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ"
'
' Case WM_MOUSEMOVING
' Debug.Print "<22><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>"
'
' Case Else
' Debug.Print lParam
'
' End Select
' End If
' TrayWndProc = CallWindowProc(OldWndProc, hWnd, Msg, wParam, lParam)'<27><><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
'End Function
''**************************************************************************
''*******<2A><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*******************************************************
''**************************************************************************