Question
Résolu - Utilisez le composant 'ouvrir fichier'
- Lymnia
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 52
- Remerciements reçus 0
il y a 16 ans 6 mois #5256
par Lymnia
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Résolu - Utilisez le composant 'ouvrir fichier' a été créé par Lymnia
Bonjour,
Voilà aujourd'hui je fais un script qui doit mettre à jour une base de données à partir d'un fichier.
Et comme pour mes autres scripts, je commençais à écrire le chemin en dur lorsque je me suis dit: \"Cela ne sert à rien je connais pas le fichier...
\"
Je pourrais demander à l'utilisateur d'entrée le chemin avec un [code:1]$Chemin = Read-host \"Entrez le chemin\"[/code:1]
Mais je n'ose pas imaginer une faute de frappe...Surtout les miennes
D'où ma requête.
Savez-vous si l'on peu utiliser : OpenFileDialog
msdn.microsoft.com/fr-fr/library/61097ykx(VS.80).aspx
Et si oui, pouvez-vous m'aiguillez ? Car j'ai bien vue qu'il ne suffisait pas de mettre :[code:1]$global:CheminEntree=openFileDialog1.get_FileName[/code:1]

Merci<br><br>Message édité par: Lymnia, à: 3/09/09 15:46
Voilà aujourd'hui je fais un script qui doit mettre à jour une base de données à partir d'un fichier.
Et comme pour mes autres scripts, je commençais à écrire le chemin en dur lorsque je me suis dit: \"Cela ne sert à rien je connais pas le fichier...
Je pourrais demander à l'utilisateur d'entrée le chemin avec un [code:1]$Chemin = Read-host \"Entrez le chemin\"[/code:1]
Mais je n'ose pas imaginer une faute de frappe...Surtout les miennes
D'où ma requête.
Savez-vous si l'on peu utiliser : OpenFileDialog
msdn.microsoft.com/fr-fr/library/61097ykx(VS.80).aspx
Et si oui, pouvez-vous m'aiguillez ? Car j'ai bien vue qu'il ne suffisait pas de mettre :[code:1]$global:CheminEntree=openFileDialog1.get_FileName[/code:1]
Merci<br><br>Message édité par: Lymnia, à: 3/09/09 15:46
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Connexion ou Créer un compte pour participer à la conversation.
- Lymnia
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 52
- Remerciements reçus 0
il y a 16 ans 6 mois #5257
par Lymnia
Bon je me réponds à moi même...
Grâce à mon ami Google, j'ai pu trouvé celà :
[code:1][void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') $objForm = New-Object System.Windows.Forms.OpenFileDialog
$objForm.ShowDialog()[/code:1]
Et pour récupérer le nom du fichier ...........
[code:1]$global:CheminEntree = $objForm.FileName [/code:1]
En fait c'était tout simple mais cela pourra vous servir.<br><br>Message édité par: Lymnia, à: 3/09/09 15:45
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Réponse de Lymnia sur le sujet Re:Utilisez le composant 'ouvrir fichier'
Grâce à mon ami Google, j'ai pu trouvé celà :
[code:1][void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') $objForm = New-Object System.Windows.Forms.OpenFileDialog
$objForm.ShowDialog()[/code:1]
Et pour récupérer le nom du fichier ...........
[code:1]$global:CheminEntree = $objForm.FileName [/code:1]
En fait c'était tout simple mais cela pourra vous servir.<br><br>Message édité par: Lymnia, à: 3/09/09 15:45
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 6 mois #5259
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Utilisez le composant 'ouvrir fichier'
Salut,
le site Scripting Guy a publié un article sur le sujet .
Le seul petit soucis est que la fenêtre n'est pas placée en avant-plan de la fenêtre de la console, et elle n'est pas accessible via la barre de tâche, comme peut l'être une winform
le site Scripting Guy a publié un article sur le sujet .
Le seul petit soucis est que la fenêtre n'est pas placée en avant-plan de la fenêtre de la console, et elle n'est pas accessible via la barre de tâche, comme peut l'être une winform
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Lymnia
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 52
- Remerciements reçus 0
il y a 16 ans 6 mois #5261
par Lymnia
Euh, je doit être très chanceux, ma console powershell passe bien en arrière plan.
Pour information je tourne sous windows XP.
Et j'utilise Powershell 1
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Réponse de Lymnia sur le sujet Re:Utilisez le composant 'ouvrir fichier'
Pour information je tourne sous windows XP.
Et j'utilise Powershell 1
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 6 mois #5262
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Utilisez le composant 'ouvrir fichier'
Lymnia écrit:
, je voyais mal les auteurs de l'article cité proposé une solution \"bancale\".
J'ai testé sous un Windows 7 rc1, et je n'ai pas le soucis.
C'est donc un pb avec l'install d'XP sur mon poste, du coup j'ai trouvé une solution, via le site d'un MVP Japonais :
[code:1]
[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
$objForm = New-Object System.Windows.Forms.OpenFileDialog
#crée un objet référençant la fenêtre de la console, afin d'utiliser l'interface IWin32Window
# msdn.microsoft.com/fr-fr/library/system....32window(VS.85).aspx
$process = [Diagnostics.Process]::GetCurrentProcess()
#Auteur : Hiroshi Yoshioka
#MVP : mvp.support.microsoft.com/profile=94d147...13-9401-1b99a10d9538
#http://flamework.net/archives/11
$window = New-Object Windows.Forms.NativeWindow
$window.AssignHandle($process.MainWindowHandle)
#Utilise la surcharge ShowDialog(Window owner)
# owner = Handle to the window that owns the dialog.
$objform.ShowDialog($Window)
[/code:1]
Cela améliore un peu la situation, car lors de l'affichage de la fenêtre de dialogue sur mon poste:
- la console PS exécutant ce code perd le focus,
- du coup la fenêtre en arriére plan ( Z-Order ) se retrouve au premier plan.
Reste que si on se \"repositionne\" sur la console Ps, exécutant ce code, on se retrouve bien avec la fenêtre de dialogue en avant plan.
C'est toujours mieux que d'aller chercher la fenêtre du dialogue.
Sous Windows Seven rc1, PS v2, c'est plutot l'inverse.
Avec :
[code:1]
sleep 5;$objform.ShowDialog($Window)
#Sélectionnez une ou + autres appli
[/code:1]
- la console PS en arriére plan (Z-order 1 ou n) reprend le focus, la fenêtre de l'OpenFileDialog est en avant-plan.
Désolé pour cette infos erronée
<br><br>Message édité par: Laurent Dardenne, à: 4/09/09 11:09
J'ai effectivement pensé que cela était du au poste que j'utilise
Euh, je doit être très chanceux, ma console powershell passe bien en arrière plan.
J'ai testé sous un Windows 7 rc1, et je n'ai pas le soucis.
C'est donc un pb avec l'install d'XP sur mon poste, du coup j'ai trouvé une solution, via le site d'un MVP Japonais :
[code:1]
[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
$objForm = New-Object System.Windows.Forms.OpenFileDialog
#crée un objet référençant la fenêtre de la console, afin d'utiliser l'interface IWin32Window
# msdn.microsoft.com/fr-fr/library/system....32window(VS.85).aspx
$process = [Diagnostics.Process]::GetCurrentProcess()
#Auteur : Hiroshi Yoshioka
#MVP : mvp.support.microsoft.com/profile=94d147...13-9401-1b99a10d9538
#http://flamework.net/archives/11
$window = New-Object Windows.Forms.NativeWindow
$window.AssignHandle($process.MainWindowHandle)
#Utilise la surcharge ShowDialog(Window owner)
# owner = Handle to the window that owns the dialog.
$objform.ShowDialog($Window)
[/code:1]
Cela améliore un peu la situation, car lors de l'affichage de la fenêtre de dialogue sur mon poste:
- la console PS exécutant ce code perd le focus,
- du coup la fenêtre en arriére plan ( Z-Order ) se retrouve au premier plan.
Reste que si on se \"repositionne\" sur la console Ps, exécutant ce code, on se retrouve bien avec la fenêtre de dialogue en avant plan.
C'est toujours mieux que d'aller chercher la fenêtre du dialogue.
Sous Windows Seven rc1, PS v2, c'est plutot l'inverse.
Avec :
[code:1]
sleep 5;$objform.ShowDialog($Window)
#Sélectionnez une ou + autres appli
[/code:1]
- la console PS en arriére plan (Z-order 1 ou n) reprend le focus, la fenêtre de l'OpenFileDialog est en avant-plan.
Désolé pour cette infos erronée
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.049 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Résolu - Utilisez le composant 'ouvrir fichier'