[VB6]Ajouter icone dans systray

aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 - 11 avril 2006 à 08:48
aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 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...

Pourriez vous m'aider svp

Merci :)

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
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.

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0
aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 1
11 avril 2006 à 11:43
A c'est pas ce que me disais ton collègue admin hier.
Mais ca m'étonne pas

Comment ajouter une form. Je veux dire faudra qu'elle se lance au démarrage? Ou alors je la lance à la main? (coment on fait?)


MErci bien :)
0
Rejoignez-nous