Bonjour,
J'ai trouvé comment faire apparaitre une icône dans la zone à côté de l'heure de Windows. Voici le code :
Maintenant je souhaiterai y ajouter un menu contextuel qui apparaitra en cliquant sur l'icône du systray.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long Private Const WM_MOUSEMOVE = &H200 Private Const NIF_ICON = &H2 Private Const NIF_MESSAGE = &H1 Private Const NIF_TIP = &H4 Private Const NIM_ADD = &H0 Private Const NIM_MODIFY = &H1 Private Const NIM_DELETE = &H2 Private Const MAX_TOOLTIP As Integer = 64 Private Type NOTIFYICONDATA cbSize As Long hwnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * MAX_TOOLTIP End Type Private nfIconData As NOTIFYICONDATA Public Event SysTrayMouseDown(ByVal eButton As MouseButtonConstants) Public Event SysTrayMouseUp(ByVal eButton As MouseButtonConstants) Public Event SysTrayMouseMove() Public Event SysTrayDoubleClick(ByVal eButton As MouseButtonConstants) Public Event MenuClick(ByVal lIndex As Long, ByVal sKey As String) Private m_bAddedMenuItem As Boolean Private m_iDefaultIndex As Long Private Sub Form_Load() 'On ajoute l'icone dans la barre des tâches With nfIconData .hwnd = Me.hwnd .uID = Me.Icon .uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP .uCallbackMessage = WM_MOUSEMOVE .hIcon = Me.Icon.Handle .szTip = App.FileDescription & Chr$(0) .cbSize = Len(nfIconData) End With Shell_NotifyIcon NIM_ADD, nfIconData End Sub
Merci d'avance de votra aide !
Partager