Prblème avec l'API Shell_NotifyIconA en VBA

slyman00 Messages postés 1 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 23 juin 2009 - 23 juin 2009 à 17:10
CTAC Messages postés 133 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 8 juin 2012 - 28 juin 2009 à 18:51
Bonjour à tous!

Je tente d'ajouter un icone dans le "system tray" en VBA sous msaccess 2007 et j'y arrive pas...

Je suis sous vista

Voici le code que j'ai palcé dans un module:

Option Compare Database
Option Explicit



Public Declare Function GetLastError Lib "kernel32" () As Integer






Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long




Private 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




Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2




Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4




Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Const WM_RBUTTONDBLCLK = &H206
Private Const WM_MBUTTONDOWN = &H207
Private Const WM_MBUTTONUP = &H208
Private Const WM_MBUTTONDBLCLK = &H209




Dim NID As NOTIFYICONDATA




Public Sub CreateIcon()
    With NID
        .cbSize = Len(NID)
        .hWnd = Forms(0).hWnd
        .uCallbackMessage = WM_MOUSEMOVE
        .uID = 1
        .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
        .szTip = "SYS TRAY" & vbNullChar
        .hIcon = LoadPicture("Z:\Bibliothèque\Icone\boss.ico")
    End With
   
    Debug.Print Shell_NotifyIcon(NIM_ADD, NID)
End Sub

Voila... la fonction Shell_NotifyIcon me retourne toujours 0 et je sais pas quoi faire de plus

Quelqu'un à une idée ??

Merci à l'avance !

2 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 juin 2009 à 17:17
Bonjour,

Essaye d'en savoir plus sur la provenance de l'erreur via l'API GetLastError en lui passant en paramètre la valeur retouné par l'api Shell_NotifyIcon.

Mayzz.
                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
0
CTAC Messages postés 133 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 8 juin 2012 5
28 juin 2009 à 18:51
Bonjour,

1 petit exemple ici sur Excel.

http://excelabo.net/exemples/ac-excelsystray

ctac
0
Rejoignez-nous