RunSysTrayIcon
Écrit par Gilles LAURENT   
16-09-2008

Exécution en ligne de commandes des icônes situés dans la zone de lancement rapide ou de notification

L'outil RunSysTrayIcon permet de manipuler les icônes présents dans la zone de lancement rapide (Quick Launch Bar) et également ceux présents dans la zone de notification (System Tray) de la barre des tâches de Windows et cela en ligne de commandes. Il permet d'une part de déterminer le nombre d'icône présent dans la zone spécifiée ainsi que le titre de l'icône et d'autre part d'exécuter une action de souris (clic / double-clic gauche, clic / double clic droit, ou simplement un survol ) sur un icône spécifique. Cet outil permet donc, par exemple, d'exécuter une action ou alors déclencher une alarme dés lors qu'un icône de la zone de notification possèdera un titre prédéterminé.

Important:
- L'option Conserver la barre des tâches au dessus des autres fenêtres doit être activée
- L'option Masquer automatiquement la barre des tâches ne doit pas être activée
- Seuls les icônes visibles peuvent être manipulés. Leurs titres seront toutefois affichés
- La configuration Droitier / Gaucher des boutons de souris est supportée
- Les actions seront correctement exécutées quelque soit l'emplacement de la barre des tâches

Exemple d'utilisation en VBScript avec la console WSH Shell:

                                                                                
WSH D:\Test> Dim arr(): Redim arr(0)                                            
WSH D:\Test> arr(0)="Title" & shell.strTableFieldSep & "State" & shell.strTableF
ieldSep & "Tray" & shell.strTableFieldSep & "Client" & shell.strTableFieldSep & 
"Screen"                                                                        
WSH D:\Test> Set oSh=CreateObject("WScript.Shell")                              
WSH D:\Test> Set oEx=oSh.Exec ("RunSysTrayIcon -showicontitles -ansi")          
WSH D:\Test> While Not oEx.StdOut.AtEndOfStream {                               
  >> sLine=oEx.StdOut.ReadLine()                                                
  >> sLine=Replace(sLine, "|", shell.strTableFieldSep)                          
  >> Redim Preserve arr(UBound(arr)+1)                                          
  >> arr(UBound(arr))=sLine                                                     
  >> Wend                                                                       
  >>                                                                            
WSH D:\Test> Set oEx=oSh.Exec ("RunSysTrayIcon -showicontitles -quicklaunch -ans
i")                                                                             
WSH D:\Test> While Not oEx.StdOut.AtEndOfStream {                               
  >> sLine=oEx.StdOut.ReadLine()                                                
  >> sLine=Replace(sLine, "|", shell.strTableFieldSep)                          
  >> Redim Preserve arr(UBound(arr)+1)                                          
  >> arr(UBound(arr))=sLine                                                     
  >> Wend                                                                       
  >>                                                                            
WSH D:\Test> ft arr,"","","*"                                                   
                                                                                
Title                                  State    Tray          Client     Scre...
-----                                  -----    ----          ------     ----...
Symantec AntiVirus                     Visible  System Tray   (108,0)    (962...
Aucun nouveau message                  Visible  System Tray   (90,0)     (944...
Alertes de sécurité Windows            Visible  System Tray   (72,0)     (926...
Volume                                 Visible  System Tray   (54,0)     (908...
Dispositif de pointage de Synaptics    Visible  System Tray   (36,0)     (890...
UC utilisée : 1%                       Visible  System Tray   (18,0)     (872...
Connexion réseau sans fil (---- WiFi)  Visible  System Tray   (0,0)      (854...
Afficher le Bureau                     Visible  Quick Launch  (0,0)      (94,...
Démarrer Internet Explorer             Visible  Quick Launch  (23,0)     (117...
IrfanView 4.00                         Visible  Quick Launch  (46,0)     (140...
Leechftp                               Visible  Quick Launch  (69,0)     (163...
Microsoft Excel                        Visible  Quick Launch  (92,0)     (186...
Microsoft PowerPoint                   Visible  Quick Launch  (115,0)    (209...
Microsoft Word                         Visible  Quick Launch  (138,0)    (232...
Outlook Express with OE-QuoteFix       Hidden   Quick Launch  (N/A,N/A)  (N/A...
VMware Workstation                     Hidden   Quick Launch  (N/A,N/A)  (N/A...
                                                                                

Note: Dans cet exemple, il ne sera pas possible d'exécuter une action de souris sur les deux derniers icônes de la zone de lancement rapide (Quick Launch Bar) car ils sont masqués (attribut Hidden). Leurs titres sont toutefois correctement affichés.

Historique:

Version 1.0.0.2 - 20081209
                      - Ajout de l'option none permettant uniquement de survoler l'icône spécifié

Version 1.0.0.1 - 20080917
                      - Première Release Publique

Plateformes supportées:
Windows 2000 et versions supérieures

Usage:
RunSysTrayIcon -showicontitles [-quicklaunch] [-ansi]
RunSysTrayIcon -run <icontitle> [-quicklaunch] [-click <options>]

Aide en ligne:
RunSysTrayIcon v1.0.0.1 (c) 2008 Gilles LAURENT
Runs the specified System Tray or Quick Launch icon
Usage : RunSysTrayIcon -showicontitles [-quicklaunch] [-ansi]
            RunSysTrayIcon -run <icontitle> [-quicklaunch] [-click <options>]
Commands :

-ansi                  Translates from OEM-defined character set to ANSI
-click <options>   Specifies which click combination to synthesize
                                    l     = clicks the left mouse button (default)
                                    r     = clicks the right mouse button
                                    ldble = double-clicks the left mouse button
                                    rdble = double-clicks the right mouse button
                                    none  = moves the cursor over the specified icon
-quicklaunch       Uses the Quick Launch bar instead of the System Tray
-run <icontitle>   Executes the icon with the specified (substring) title
-showicontitles    Displays icon's titles found in the specified traybar

Examples :

RunSysTrayIcon -showicontitles
RunSysTrayIcon -showicontitles -quicklaunch
RunSysTrayIcon -run "VMware Tools" -click ldble
RunSysTrayIcon -run Connection
RunSysTrayIcon -run Excel -quicklaunch

Téléchargement:
Guide PDF: -
Archive: RunSysTrayIcon.zip

Quelques exemples d'utilisation de l'outil RunSysTrayIcon sur un poste XP FR-Fr:

:: Afficher tous les icônes présents dans la zone de notification
\> RunSysTrayIcon -showicontitles

:: Afficher tous les icônes présents dans la zone de lancement rapide
\> RunSysTrayIcon -showicontitles -quicklaunch

:: Iconiser toutes les fenêtres actives
\> RunSysTrayIcon -run Bureau -quicklaunch

:: Ouvrir la fenêtre d'état de la connexion réseau (l'icône doit être présent dans la zone de notification)
\> RunSysTrayIcon -run Connexion

:: Envoyer un message à l'administrateur si l'icône "Alertes de sécurité Windows" est présent
:: dans la zone de notification d'un poste XP
\> RunSysTrayIcon -showicontitles | find/i "Alerte" && msg Administrateur "Alertes de sécurité Windows détectées sur l'ordinateur %computername%"

:: Afficher le pourcentage UC utilisée (le gestionnaire des tâches doit être démarré)
\> RunSysTrayIcon -showicontitles | find/i "UC"

Dernière mise à jour : ( 09-12-2008 )