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

Résolu/Fermé
Tromar01 Messages postés 8 Date d'inscription samedi 26 décembre 2020 Statut Membre Dernière intervention 6 janvier 2022 - Modifié le 2 juil. 2021 à 20:41
Tromar01 Messages postés 8 Date d'inscription samedi 26 décembre 2020 Statut Membre Dernière intervention 6 janvier 2022 - 2 juil. 2021 à 22:53
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
A voir également:

3 réponses

Tromar01 Messages postés 8 Date d'inscription samedi 26 décembre 2020 Statut Membre Dernière intervention 6 janvier 2022 1
2 juil. 2021 à 22:53
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.
1
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
2 juil. 2021 à 21:03
Bonjour,

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

0
Tromar01 Messages postés 8 Date d'inscription samedi 26 décembre 2020 Statut Membre Dernière intervention 6 janvier 2022 1
2 juil. 2021 à 21:26
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.
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > Tromar01 Messages postés 8 Date d'inscription samedi 26 décembre 2020 Statut Membre Dernière intervention 6 janvier 2022
2 juil. 2021 à 22:06
Je sens de la frustation dans ta réponse, j'essayais juste de te guider en te montrant le problème.

Bonne continuation.
0
Tromar01 Messages postés 8 Date d'inscription samedi 26 décembre 2020 Statut Membre Dernière intervention 6 janvier 2022 1
2 juil. 2021 à 22:21
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)
0