aurelien2723
Messages postés181Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention26 janvier 2011
-
11 avril 2006 à 08:48
aurelien2723
Messages postés181Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention26 janvier 2011
-
11 avril 2006 à 11:43
Bonjour,
je voudrais ajouter une icone dans la barre des taches lors de l'execution de mon application en VB6.
Je n'ai aucune form, mon programme n'utilise donc aussi aucun évenement.
Je pensais placer l'icone dans mes ressources, pour l'empacter dans l'exécutable, est ce possible?
J'ai trouver quelques sources, mais aucune ne fonctionne.
Voici ou j'en suis :
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
Private m_bAddedMenuItem As Boolean
Private m_iDefaultIndex As Long
....code
With nfIconData
.uId = LoadResData(102, "CUSTOM")
.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
.uCallBackMessage = WM_MOUSEMOVE
.szTip = App.FileDescription & Chr$(0)
.cbSize = Len(nfIconData)
End With
Shell_NotifyIcon NIM_ADD, nfIconData
Un espace vide s'affiche, mais lorsque je passe la souris dessus, il disparait...
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 avril 2006 à 09:34
Il me semble qu'il te faut obligatoirement une fenêtre rattachée à ton icône pour qu'elle s'affiche (étant donné que la structure NOTIFYICONDATA demande un hWnd).
Il te suffit donc de rajouter une form (non visible) à ton projet qui te permettra de gérer l'icône dans le systray.