Comment faire pour utiliser des icônes de la zone de notification de la barre des tâches dans Windows 95/98/Me

Traductions disponibles Traductions disponibles
Numéro d'article: 149276 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F149276
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Résumé

L'API Windows offre la possibilité d'ajouter, de modifier et de supprimer des icônes de la barre d'état système, ou zone de notification de la barre des tâches, disponible dans l'environnement Windows 95, Windows 98, Windows Millenium Edition, Windows NT 4.0 et Windows 2000. Cette fonctionnalité peut être obtenue à l'aide uniquement de la fonction Shell_NotifyIcon exportée par Shell32.dll. Cette fonction API permet également de spécifier une chaîne de texte pour l'info-bulle affichée lorsqu'un utilisateur place le pointeur de sa souris sur une icône. L'exemple de procédure étape par étape présenté dans cet article crée un programme Visual Basic qui vous montre comment utiliser cette fonction API.

La capacité de lancer une action si l'utilisateur clique sur une icône de la barre d'état système dépend d'une fonction de rappel. Étant donné que Visual Basic 4.0 ne prend pas en charge directement les fonctions de rappel, vous ne pouvez pas afficher un formulaire ni exécuter un code en utilisant uniquement Visual Basic 4.0. Cette fonctionnalité a été ajoutée dans Visual Basic 5.0 (et version ultérieure) avec l'opérateur AddressOf. Les développeurs Visual Basic 4.0 disposent de plusieurs options pour utiliser la fonctionnalité de rappel, notamment le Message Blaster OCX, l'OCX mentionné dans l'article de Microsoft Systems Journal indiqué dans la section « Références » de cet article ou le serveur Callback OLE présenté en détail dans l'ouvrage de Bruce McKinney, Hardcore Visual Basic (en anglais). Pour plus d'informations sur ces options, reportez-vous à la section « Références ». Ces produits n'incluant pas Visual Basic, les services de Support technique Microsoft ne prennent pas en charge leur utilisation.

Plus d'informations

L'exemple suivant permet de créer un projet Visual Basic contenant un formulaire qui vous montre comment utiliser la fonction API Shell_NotifyIcon.

Exemple étape par étape

  1. Démarrez Visual Basic. Form1 est créé par défaut.
  2. Modifiez la propriété de l'icône du formulaire pour la remplacer par celle qui s'affichera dans la barre d'état système.
  3. Dessinez trois boutons de commande sur le formulaire.
  4. Sélectionnez Module dans le menu Insertion pour ajouter un module de code au projet.
  5. Ajoutez le code suivant, qui déclare une fonction, un type et des constantes, dans le module1 :
          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
    
          Global Const NIM_ADD = 0
          Global Const NIM_MODIFY = 1
          Global Const NIM_DELETE = 2
          Global Const NIF_MESSAGE = 1
          Global Const NIF_ICON = 2
          Global Const NIF_TIP = 4
    
          Declare Function Shell_NotifyIconA Lib "SHELL32" _
          (ByVal dwMessage As Long,  lpData As NOTIFYICONDATA) As Integer
    					
  6. Le code suivant est une fonction qui traite les paramètres devant être configurés pour le type NOTIFYICONDATA pour retourner une variable de ce type. Dans Form1, ajoutez le code suivant :
          Private Function setNOTIFYICONDATA(hWnd As Long, ID As Long, _
              Flags As Long, CallbackMessage As Long, Icon As Long, _
              Tip As String) As NOTIFYICONDATA
    
              Dim nidTemp As NOTIFYICONDATA
    
              nidTemp.cbSize = Len(nidTemp)
              nidTemp.hWnd = hWnd
              nidTemp.uID = ID
              nidTemp.uFlags = Flags
              nidTemp.uCallbackMessage = CallbackMessage
              nidTemp.hIcon = Icon
              nidTemp.szTip = Tip & Chr$(0)
    
              setNOTIFYICONDATA = nidTemp
          End Function
    					
  7. Les trois procédures comprises dans ce bloc de code appellent la fonction créée à l'étape 5 pour ajouter, modifier et supprimer des icônes de la barre d'état système. Ajoutez également le code suivant dans Form1 :
          Private Sub Command1_Click()
              'Add an icon.  This procedure uses the icon specified in
              'the Icon property of Form1. This can be modified as desired.
    
              Dim i As Integer
              Dim s As String
              Dim nid As NOTIFYICONDATA
    
              s = InputBox("Enter string:")
              nid = setNOTIFYICONDATA(hWnd:=Form1.hWnd, _
                                      ID:=vbNull, _
                                      Flags:=NIF_MESSAGE Or NIF_ICON _
                                      Or NIF_TIP, _
                                      CallbackMessage:=vbNull, _
                                      Icon:=Form1.Icon, _
                                      Tip:=s)
    
                 i = Shell_NotifyIconA(NIM_ADD, nid)
             End Sub
    
             Private Sub Command2_Click()
                 'Modify an existing icon. This procedure uses the icon
                 'specified in the Icon property of Form1. This can be modified
                 'as desired.
    
                 Dim i As Integer
                 Dim s As String
                 Dim nid As NOTIFYICONDATA
    
                 s = InputBox("Enter string:")
                 nid = setNOTIFYICONDATA(hWnd:=Form1.hWnd, _
                                         ID:=vbNull, _
                                         Flags:=NIF_MESSAGE Or NIF_ICON _
                                         Or NIF_TIP, _
                                         CallbackMessage:=vbNull, _
                                         Icon:=Form1.Icon, _
                                         Tip:=s)
    
                 i = Shell_NotifyIconA(NIM_MODIFY, nid)
             End Sub
    
             Private Sub Command3_Click()
                 'Delete an existing icon.
    
                 Dim i As Integer
                 Dim nid As NOTIFYICONDATA
    
              nid = setNOTIFYICONDATA(hWnd:=Form1.hWnd, _
                                      ID:=vbNull, _
                                      Flags:=NIF_MESSAGE Or NIF_ICON _
                                      Or NIF_TIP, _
                                      CallbackMessage:=vbNull, _
                                      Icon:=Form1.Icon, _
                                      Tip:="")
    
              i = Shell_NotifyIconA(NIM_DELETE, nid)
          End Sub
    					
  8. Appuyez sur la touche F5 ou sélectionnez Démarrer dans le menu Exécuter pour exécuter l'application. Cliquez sur le premier bouton et entrez une chaîne de texte pour ajouter une icône. Cliquez sur le deuxième bouton pour modifier une icône existante, et sur le troisième pour supprimer une icône.

Références

Hardcore Visual Basic, Bruce McKinney, Microsoft Press 1995.

Microsoft Win32 SDK, Shell_NotifyIcon et NOTIFYICONDATA.

Microsoft Systems Journal, février 1996, The Visual Programmer, page 93.

Journal du programmeur Visual Basic, mars 1996, Q&A, page 136.

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
162613 Comment faire pour manipuler des icônes dans la barre d'état système à l'aide de Visual Basic

Propriétés

Numéro d'article: 149276 - Dernière mise à jour: samedi 22 février 2014 - Version: 3.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 4.0 Édition Standard
  • Microsoft Visual Basic 4.0 Édition professionnelle
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
  • Microsoft Visual Basic 5.0 Édition initiation
  • Microsoft Visual Basic 6.0 Édition initiation
  • Microsoft Visual Basic 5.0 Édition professionnelle
  • Microsoft Visual Basic 6.0 Édition professionnelle
  • Microsoft Visual Basic 5.0 Édition Entreprise
  • Microsoft Visual Basic 6.0 Édition Entreprise
Mots-clés : 
kbnosurvey kbarchive kbapi kbhowto KB149276
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com