powershell_messagebox

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
powershell_messagebox [2019/05/20 16:10] – [Interprétation des retours] nekanpowershell_messagebox [2021/03/05 16:00] (Version actuelle) nekan
Ligne 1: Ligne 1:
 ====== Afficher des boîtes de dialogues ====== ====== Afficher des boîtes de dialogues ======
 +<label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2019/05/19 12:09//
  
-Lors de l'execution d'un script, les différents messages s'affichent dans la console. Cependant, il peut arriver que l'on souhaite afficher une boîte de dialogue pour afficher un message précis ou avertir d'une erreur. Les bibliothèque systèmes Windows offre cette possibilité.+Lors de l'execution d'un script, les différents messages s'affichent dans la console. Cependant, il peut arriver que l'on souhaite afficher une boîte de dialogue pour afficher un message précis ou avertir d'une erreur. Les bibliothèques .NET offrent cette possibilité.
  
 ===== Comment faire ? ===== ===== Comment faire ? =====
  
   * On commence par charger la bibliothèque nécessaire :   * On commence par charger la bibliothèque nécessaire :
-<code:ps1>[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")</code>+<sxh powershell>[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")</sxh>
   * Ensuite, nous avons besoin de déterminer 4 variables :   * Ensuite, nous avons besoin de déterminer 4 variables :
     * **$Message** : la seule variable réellement obligatoire. Elle stocke le message affiché dans le corps de la boîte de dialogue.     * **$Message** : la seule variable réellement obligatoire. Elle stocke le message affiché dans le corps de la boîte de dialogue.
Ligne 24: Ligne 25:
       * 64 : Information (i blanc dans cercle bleu).       * 64 : Information (i blanc dans cercle bleu).
   * Cela nous donne donc les déclarations suivantes :   * Cela nous donne donc les déclarations suivantes :
-<code:ps1>$Message = "C'est sympa, non?"+<sxh powershell>$Message = "C'est sympa, non?"
 $Titre = "ShyrkaSystem" $Titre = "ShyrkaSystem"
 $Type = 4 $Type = 4
-$Icone = 32</code>+$Icone = 32</sxh>
   * Il nous reste plus qu'à affiché la boîte de dialogue :   * Il nous reste plus qu'à affiché la boîte de dialogue :
-<code:ps1>[System.Windows.Forms.MessageBox]::Show($Message, $Titre , $Type, $Icone)</code>+<sxh powershell>[System.Windows.Forms.MessageBox]::Show($Message, $Titre , $Type, $Icone)</sxh>
  
 __Code complet :__ __Code complet :__
-<code:ps1># Chargement des assembly+<sxh powershell># Chargement des bibliothèques
 [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
  
Ligne 41: Ligne 42:
 $Icone = 32 $Icone = 32
  
-# Chargement de la messagebox +# Chargement de la boîte de dialogue 
-[System.Windows.Forms.MessageBox]::Show($Message, $Titre , $Type, $Icone)</code>+[System.Windows.Forms.MessageBox]::Show($Message, $Titre , $Type, $Icone)</sxh>
  
 Le résultat que l'on obtient est : Le résultat que l'on obtient est :
-{{ :powershell:messagebox.png |}}+<image shape="thumbnail">{{ :powershell:messagebox.png |}}</image>
  
 ===== Interprétation des retours ===== ===== Interprétation des retours =====
Ligne 51: Ligne 52:
 En cliquant sur un bouton, la boîte de dialogue se ferme et renvoie dans la console le nom du bouton (en anglais). En cliquant sur un bouton, la boîte de dialogue se ferme et renvoie dans la console le nom du bouton (en anglais).
 Ainsi, il est possible de stocker cette information dans une variable : Ainsi, il est possible de stocker cette information dans une variable :
-<code:ps1>$MessageBox = [System.Windows.Forms.MessageBox]::Show($Message, $Titre , $Type, $Icone)</code+<sxh powershell>$MessageBox = [System.Windows.Forms.MessageBox]::Show($Message, $Titre , $Type, $Icone)</sxh
-On peut aussi rappeler cette information directement après la ligne d'appel grâce à la variable système ''$_''.+On peut ainsi traiter le retour en appliquant un test (if/switch) à la variable. Par exemple : 
 +<sxh powershell># Chargement des bibliothèques 
 +[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms"
 + 
 +# Déclarations des variables 
 +$Message = "C'est sympa, non?" 
 +$Titre = "ShyrkaSystem" 
 +$Type = 4 
 +$Icone = 32 
 + 
 +# Chargement de la boîte de dialogue 
 +$MessageBox = [System.Windows.Forms.MessageBox]::Show($Message, $Titre , $Type, $Icone)
  
- --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2019/05/19 12:09//+# Traitement du retour 
 +# Ecriture dans la console du retour en vert si on clique sur "Oui" ou rouge si c'est "Non" 
 +If ($MessageBox -eq "Yes"
 +
 +    Write-Host $MessageBox -ForegroundColor Green 
 +
 +Else 
 +
 +    Write-Host $MessageBox -ForegroundColor Red 
 +}</sxh>
  
 ~~DISCUSSION~~ ~~DISCUSSION~~
  • powershell_messagebox.1558361412.txt.gz
  • Dernière modification : 2019/05/20 14:10
  • (modification externe)