Éléments manquants suite conversion d'un Script PowerShell .ps1 vers .exe [Résolu]

Signaler
Messages postés
6
Date d'inscription
samedi 26 décembre 2020
Statut
Membre
Dernière intervention
2 juillet 2021
-
Messages postés
6
Date d'inscription
samedi 26 décembre 2020
Statut
Membre
Dernière intervention
2 juillet 2021
-
Bonjour à tous,
J'ai vérifier dans plusieurs forum et je trouve pas encore les réponses pour mes problèmes.

J'ai créer mon premier script PowerShell que j'ai converti en fichier exécutable avec l'utilitaire PS1toEXE qui fonctionne très bien, par contre j'ai quelques éléments manquant avec la conversion du script.

Voici les problèmes que j'ai rencontré :
1. Je ne vois pas mes messageBox -> [System.Windows.MessageBox]
2. Je ne suis pas capable de retiré la fenêtre "Windows PowerShell" qui s'ouvre derrière mon formulaire. (J'ai tenté l'option 64 bit | Windows (Invisible), mais je ne vois plus du tout mon graphique)

Avez-vous une idée pour résoudre mon problème :/

Merci beaucoup pour votre aide.

Configuration: Windows

3 réponses

Messages postés
6
Date d'inscription
samedi 26 décembre 2020
Statut
Membre
Dernière intervention
2 juillet 2021
1
J'ai finalement résolu tout mes problèmes :)
Si jamais quelqu'un d'autre à les même problèmes, voici les solutions:

Pour afficher les MessageBox dans un fichier exécutable à partir de PowerShell, voici la commande a ajouter dans le script :
#Show MessageBox
Add-Type -AssemblyName PresentationFramework


Pour résoudre le problème de la fenêtre de la console Windows Powershell, voici la commande à ajouter dans le script :
# Hide PowerShell Console
Add-Type -Name Window -Namespace Console -MemberDefinition '
[DllImport("Kernel32.dll")]
public static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow);
'
$consolePtr = [Console.Window]::GetConsoleWindow()
[Console.Window]::ShowWindow($consolePtr, 0)


J'espère que cela pourra être utile à quelqu'un d'autre.
Messages postés
13618
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
28 juillet 2021
4 491
Bonjour,

Ca me semble logique que tu ne vois pas tes messageBox puisque tu as choisi l'invisibilité.

Messages postés
6
Date d'inscription
samedi 26 décembre 2020
Statut
Membre
Dernière intervention
2 juillet 2021
1
Non je n'ai pas choisi l'invisibilité, car avec l'invisibilité je ne voyais même plus mon graphique.

J'ai seulement indiqué que j'avais "tenté l'option 64 bit | Windows (Invisible)" pour dire qu'elle option j'avais essayé pour ne pas que quelqu'un me propose cette solution, car elle ne fonctionne pas.

Et dois-je rappeler que j'ai indiqué "J'ai créer mon premier script PowerShell..." alors quelque chose qui peut vous sembler logique, ne l'ai peut-être pas pour moi.

Merci pour votre commentaire enrichissant.
Messages postés
13618
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
28 juillet 2021
4 491 >
Messages postés
6
Date d'inscription
samedi 26 décembre 2020
Statut
Membre
Dernière intervention
2 juillet 2021

Je sens de la frustation dans ta réponse, j'essayais juste de te guider en te montrant le problème.

Bonne continuation.
Messages postés
6
Date d'inscription
samedi 26 décembre 2020
Statut
Membre
Dernière intervention
2 juillet 2021
1
J'ai résolu la moitié de mon problème.

Je suis maintenant capable de voir mes messageBox en ajoutant cette commande au début de mon script :
Add-Type -AssemblyName PresentationFramework


Il me reste maintenant à résoudre la fenêtre de commande PowerShell qui s'ouvre seule que j'aimerais retirer. (voir image)