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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide 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 joko 1.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 joko 1.2 hwnd As Long
17 joko 1.1 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 joko 1.2 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 joko 1.1
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 joko 1.2 .hwnd = MainForm.hwnd
59 joko 1.1 .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 joko 1.2 'MainForm.WindowState = vbMinimized
71    
72 joko 1.1 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