Page 1 sur 1

[..] Masquer une icône de la zone de notification

Posté : mer. 13 nov. 2013 20:33
par Utilisateur 4989 supprimé
Bonjour,
après de longues recherches, j'ai trouvé ceci pour masquer une icône de la zone de notification :

Code : Tout sélectionner

#Include <GuiToolBar.au3>
HotKeySet("{ESC}", "_Quit")
Opt("WinTitleMatchMode", 4)
Global $hTray = WinGetHandle("[CLASS:Shell_TrayWnd]")
Global $hToolbar = ControlGetHandle($hTray, "", "[CLASSNN:ToolbarWindow321]")
Global $iCnt = _GUICtrlToolbar_ButtonCount($hToolbar)
ConsoleWrite("Debug: $iCnt = " & $iCnt & @LF)
Global $iCmdVolume = -1
Global $sMsg, $sText, $iCmd
Global $bolVisible = True
For $n = 0 To $iCnt - 1
    $sMsg = "Index: " & $n
    $iCmd = _GUICtrlToolbar_IndexToCommand($hToolbar, $n)
    $sMsg &= "  CommandID: " & $iCmd
    $sText = _GUICtrlToolbar_GetButtonText($hToolbar, $iCmd)
    If StringInStr($sText, "Nom du programme") Then $iCmdVolume = $iCmd
    $sMsg &= "  Text: " & $sText
    ConsoleWrite("Debug: " & $sMsg & @LF)
Next
ConsoleWrite("Debug: $iCmdVolume = " & $iCmdVolume & @LF)
While 1
    $bolVisible = Not $bolVisible
    If $bolVisible Then
        _GUICtrlToolbar_SetButtonState($hToolbar, $iCmdVolume, $TBSTATE_ENABLED)
    Else
        _GUICtrlToolbar_SetButtonState($hToolbar, $iCmdVolume, $TBSTATE_HIDDEN)
    EndIf
    Sleep(1000)
WEnd
Func _Quit()
    _GUICtrlToolbar_SetButtonState($hToolbar, $iCmdVolume, $TBSTATE_ENABLED)
    Exit
EndFunc
Je souhaiterais une petite modification : comment faire pour que l'icône masquée ne laisse pas une case vide et que ce qu'il y a autour se déplace pour prendre sa place comme si l'icône n'était pas là ?
Merci d'avance.

Re: [..] Masquer une icône de la zone de notification

Posté : mer. 13 nov. 2013 21:59
par jguinch
Tu peux essayer avec _GUICtrlToolbar_DeleteButton

Re: [..] Masquer une icône de la zone de notification

Posté : ven. 15 nov. 2013 14:34
par Utilisateur 4989 supprimé
Merci !
Le problème est que dès que je ferme le programme qui a son icône dans la zone de notification, et que je le rouvre, son icône apparaît dans les icônes masquées de la zone de notification (dans les icônes apparaissant en cliquant sur la flèche). Du coup, l'icône ne s'enlève plus.
Donc :
- Comment faire pour que l'icône se remette dans les icônes visibles dans la zone de notification une fois que le programme est rouvert ?
- Ou comment faire pour supprimer une icône cachée de la zone de notification ?