powershell windows form browes dialogue

Im essayant de créer un formulaire windows dispose d'un bouton lorsque l'utilisateur clique dessus va afficher un dossier/fichier browes la fenêtre, l'utilisateur sélectionne le fichier/dossier et clique sur OK et je peux alors utiliser le chemin d'accès sélectionné comme une chaîne de caractères pour un autre script.

le problème est que lorsque je l'exécute par le biais de PowerGUI (scripts powershell app), il fonctionne très bien, mais quand je le lance via windows powershell il se bloque lors du chargement de la boîte de dialogue parcourir, n'importe qui vu ça avant, ou voir ce que j'ai mal fait ou reçu une solution de rechange, toute aide serait appréciée.

cls
$button = $browse = $form = 0
[void][reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
$browse = new-object system.windows.Forms.FolderBrowserDialog
$browse.RootFolder = [System.Environment+SpecialFolder]'MyComputer'
$browse.ShowNewFolderButton = $false
$browse.selectedPath = "C:\"
$browse.Description = "Choose a directory"

$button1 = New-Object system.Windows.Forms.Button
$button1.Text = "Choose Directory"
$button1.Add_Click({$browse.ShowDialog()})
$button1.left = 20
$button1.top = 20

$form = New-Object system.windows.forms.Form
$form.controls.add($button1)
$form.ShowDialog()
$form.Dispose()

$browse.SelectedPath
  • Je suis sur windows 7 x32, powershell v3.0 et votre code fonctionne en console et en ISE.
  • Le Script fonctionne très bien sur mon Windows 7 x64 et PowerShell 2.0 de la console. Est-il possible que PowerGui a installé quelque chose qui peut être en gardant votre script à partir de l'exécution? Aussi, essayez d'ajouter { $ErrorActionPreference = se Renseigner } pour savoir si des erreurs s'y sont vous passer par? Ou d'utiliser certains { écriture d'hôtes "xxxxx" } pour obtenir une meilleure idée de l'endroit où votre application est suspendue, puis mise à jour de votre question.
  • yep mon powershell comand écran continue de fonctionner comme la version 1 mais quand je fais $psversiontable en PS je peux le voir, j'ai V2 installé mais mon script ne s'exécute pas comme V2 étrange 😐
InformationsquelleAutor Kam0106 | 2013-01-27