/[cvs]/joko/ToolBox/Windows/VpnDial/src/TrayIcon.bas
ViewVC logotype

Contents of /joko/ToolBox/Windows/VpnDial/src/TrayIcon.bas

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations)
Tue Nov 22 22:19:00 2005 UTC (18 years, 7 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +6 -3 lines
+ Probleme mit TrayIcon behoben

1 Attribute VB_Name = "TrayIcon"
2 ' from: http://www.microsoft.com/msj/archive/S6BB.aspx
3
4 Option Explicit
5
6 ' alle benötigten API-Deklarationen
7 Public Declare Sub keybd_event Lib "user32" _
8 (ByVal bVk As Byte, ByVal bScan As Byte, _
9 ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
10
11 Public Const KEYEVENTF_KEYUP = &H2
12 Public Const VK_LWIN = &H5B
13
14 Public Type NOTIFYICONDATA
15 cbSize As Long
16 hwnd As Long
17 uId As Long
18 uFlags As Long
19 uCallBackMessage As Long
20 hIcon As Long
21 szTip As String * 64
22 End Type
23
24 Public Const NIM_ADD = &H0
25 Public Const NIM_MODIFY = &H1
26 Public Const NIM_DELETE = &H2
27
28 Public Const NIF_MESSAGE = &H1
29 Public Const NIF_ICON = &H2
30 Public Const NIF_TIP = &H4
31
32 Public Const WM_MOUSEMOVE = &H200
33
34 ' Konstanten für linke Maustaste
35 Public Const WM_LBUTTONDBLCLK = &H203 ' Doppelklick
36 Public Const WM_LBUTTONDOWN = &H201 ' Maus gedrückt
37 Public Const WM_LBUTTONUP = &H202 ' Maus losgelassen
38
39 ' Konstanten für rechte Maustaste
40 Public Const WM_RBUTTONDBLCLK = &H206 ' Doppelklick
41 Public Const WM_RBUTTONDOWN = &H204 ' Maus gedrückt
42 Public Const WM_RBUTTONUP = &H205 ' Maus losgelassen
43
44 Public Declare Function Shell_NotifyIcon Lib _
45 "shell32" Alias "Shell_NotifyIconA" ( _
46 ByVal dwMessage As Long, _
47 pnid As NOTIFYICONDATA) As Boolean
48
49 Public nid As NOTIFYICONDATA
50
51 Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
52 Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
53
54 Public Sub ShowTrayIcon(MainForm As Form, Caption As String)
55 ' Symbol der Anwendung zum SysTray hinzufügen
56 With nid
57 .cbSize = Len(nid)
58 .hwnd = MainForm.hwnd
59 .uId = vbNull
60 .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
61 .uCallBackMessage = WM_MOUSEMOVE
62 .hIcon = MainForm.Icon
63 '.szTip = MainForm.Caption & vbNullChar
64 .szTip = Caption & vbNullChar
65 End With
66 Shell_NotifyIcon NIM_ADD, nid
67
68 ' Anwendung jetzt "verstecken"
69 MainForm.Hide
70 'MainForm.WindowState = vbMinimized
71
72 End Sub
73
74 Public Sub RemoveTrayIcon()
75 ' Symbol aus dem Systray entfernen,
76 ' wenn das Programm beended wird
77 Shell_NotifyIcon NIM_DELETE, nid
78 End Sub
79
80 Public Sub UpdateTrayIcon(TipText As String)
81 With nid
82 .szTip = TipText & vbNullChar
83 End With
84 Shell_NotifyIcon NIM_MODIFY, nid
85 End Sub

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed