IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Retourner le Handle de la barre des tâches Windows [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Points : 29
    Points
    29
    Par défaut Retourner le Handle de la barre des tâches Windows
    Bonjour,

    Je souhaite récupérer le Handle de la barre des tâches Windows en PowerShell.

    Pouvez-vous m'aider comme vous l'avez déjà fait dans le sujet quasi similaire suivant: Retourner Handle fenêtre active en powershell ?

    Merci d'avance.

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    Par défaut
    Bonjour,

    Je ne sais pas ce que tu magouille mais voici, la taskbar semble comporter un handle principale et des enfants en voici quelque un en plus


    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Add-Type @"
        using System;
        using System.Runtime.InteropServices;
        public class Win32 {
            [DllImport("User32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
            public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
     
            [DllImport("User32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
            public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
        }
    "@
     
    $handle_Shell_TrayWnd = [Win32]::FindWindow("Shell_TrayWnd", $null)
     
    $handle_TrayNotify = [Win32]::FindWindowEx($handle_Shell_TrayWnd, [IntPtr]::Zero, "TrayNotifyWnd", $null)
    $handle_SysPager = [Win32]::FindWindowEx($handle_TrayNotify, [IntPtr]::Zero, "SysPager", $null)
    $handle_Toolbar = [Win32]::FindWindowEx($handle_SysPager, [IntPtr]::Zero, "ToolbarWindow32", $null)

    Inspiré d'ici : https://docs.microsoft.com/en-us/ans...-a-window.html

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Merci, ça marche nickel.

    C'est pour ""magouiller"" ça:

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Import-Module '.\AutoItX' #import CmdLet AutoItX
     
    Add-Type @"
        using System;
        using System.Runtime.InteropServices;
        public class Win32 {
            [DllImport("User32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
            public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
            }
    "@
     
    $HandleWinBar = [Win32]::FindWindow("Shell_TrayWnd", $null) #Handle barre des tâches Windows
     
    Function AddToolsBar
    {
        [cmdletbinding()]
        Param
        (
            [string]$PathToolsBar                               #Chemin de la barre d'outils à ajouter
        )
        Process
        {
            Show-AU3WinActivate -WinHandle $HandleWinBar        #Active la barre des tâches Windows
            Send-AU3Key -Key "{APPSKEY}"                        #Touche Application Windows
            Send-AU3Key -Key "{DOWN}"                           #Flèche Bas
            Send-AU3Key -Key "{RIGHT}"                          #Flèche Droite
            Send-AU3Key -Key "{UP}"                             #Flèche Haute
            Send-AU3Key -Key "{ENTER}"                          #Validation
            Send-AU3Key -Key $PathToolsBar                      #Chemin de la barre d'outils à ajouter
            Send-AU3Key -Key "{TAB}"                            #Touche Tabulation
            Send-AU3Key -Key "{ENTER}"                          #Validation
        }
    }
     
    AddToolsBar -PathToolsBar "\\ServeurToto\Barre d'outils\Outils"
    AddToolsBar -PathToolsBar "\\ServeurToto\Barre d'outils\Liens Web"
    AddToolsBar -PathToolsBar "\\ServeurToto\Barre d'outils\Mails types"

    Un code qui permet d'ajouter des barres d'outils à la barre des tâches windows.

    J'arrivais à me passer du Handle en utilisant un mouvement de souris sauf que tout le monde n'a pas sa barre des tâches au même endroit.

    Encore merci.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Sinon, ya t il plus simple sans utiliser les cmdlet AutoIT ?

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    Par défaut
    Pour info, AutoIt peux nativement retrouver le handle

    Code autoit : Sélectionner tout - Visualiser dans une fenêtre à part
    $hTrayWnd = WinGetHandle("[CLASS:Shell_TrayWnd]")

    https://www.autoitscript.com/forum/t...-lock-taskbar/

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Oui, ça marche si on programme directement avec AutoIT, mais je souhaite le faire en PowerShell.

    La commande équivalente à WinGetHandle doit être une des deux suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Name                              Category  Module                    Synopsis                 
    ----                              --------  ------                    --------                 
    Get-AU3WinHandle                  Cmdlet    AutoItX                   Get-AU3WinHandle...      
    Get-AU3ControlHandle              Cmdlet    AutoItX                   Get-AU3ControlHandle...
    mais je n'arrive pas à les faire fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    help Get-AU3WinHandle  
    
    NOM
        Get-AU3WinHandle
        
    SYNTAXE
        Get-AU3WinHandle [-Title] <string> [[-Text] <string>]  [<CommonParameters>]
        
    
    ALIAS
        Aucun(e)
        
    
    REMARQUES
        Aucun(e)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    help Get-AU3ControlHandle
    
    NOM
        Get-AU3ControlHandle
        
    SYNTAXE
        Get-AU3ControlHandle [-Title] <string> [[-Text] <string>] [[-Control] <string>]  
        [<CommonParameters>]
        
        Get-AU3ControlHandle [-WinHandle] <IntPtr> [[-Control] <string>]  [<CommonParameters>]
        
    
    ALIAS
        Aucun(e)
        
    
    REMARQUES
        Aucun(e)

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    Par défaut
    Je comprends, je ne vais pas plus investiguer sur le sujet c'était pour info.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Encore merci pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Source] VDM dans la barre des tâches Windows
    Par moithibault dans le forum Contribuez
    Réponses: 3
    Dernier message: 23/01/2011, 19h53
  2. Masquer complètement la barre des tâches Windows 7
    Par thenaoh dans le forum Windows
    Réponses: 1
    Dernier message: 21/01/2011, 21h37
  3. Masquer nouveau shell dans barre des tâches Windows?
    Par pssst dans le forum SWT/JFace
    Réponses: 7
    Dernier message: 13/05/2009, 13h05
  4. Barre des Tâches Windows
    Par bandit boy dans le forum C++Builder
    Réponses: 7
    Dernier message: 03/05/2006, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo