Interagir avec une application en ligne de commande
7 réponses
Nicolas B.
Bonjour,
J'essaie de faire un programme qui utilise une application fonctionnant
en ligne de commande, mais je ne sais pas comment faire pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages qu'elle
répondrait si elle était lancée dans une invite de commande.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred
Dans : news:, Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application fonctionnant en ligne de commande, mais je ne sais pas comment faire pour : - lancer l'application avec des arguments, - récupérer, quand je la lance dans mon programme, les messages qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1 Private Sub Test Dim psi As New ProcessStartInfo() psi.Arguments = "/C DIR *.*" psi.FileName = "CMD.EXE" psi.RedirectStandardOutput = True psi.StandardOutputEncoding = _ Encoding.GetEncoding("ibm850") psi.UseShellExecute = False Dim p As Process = Process.Start(psi) Using o As StreamReader = p.StandardOutput While Not o.EndOfStream Me.Label1.Text &= o.ReadLine & vbCrLf End While End Using End Sub End Class
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Dans : news:O0vt0s1MIHA.1188@TK2MSFTNGP04.phx.gbl,
Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un
label.
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
J'essaie de faire un programme qui utilise une application fonctionnant en ligne de commande, mais je ne sais pas comment faire pour : - lancer l'application avec des arguments, - récupérer, quand je la lance dans mon programme, les messages qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1 Private Sub Test Dim psi As New ProcessStartInfo() psi.Arguments = "/C DIR *.*" psi.FileName = "CMD.EXE" psi.RedirectStandardOutput = True psi.StandardOutputEncoding = _ Encoding.GetEncoding("ibm850") psi.UseShellExecute = False Dim p As Process = Process.Start(psi) Using o As StreamReader = p.StandardOutput While Not o.EndOfStream Me.Label1.Text &= o.ReadLine & vbCrLf End While End Using End Sub End Class
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Nicolas B.
Je n'ai pas encore testé, mais je pense que c'est exactement ce qu'il me faut. Merci !
Bonne journée,
Nicolas
Fred a écrit :
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1 Private Sub Test Dim psi As New ProcessStartInfo() psi.Arguments = "/C DIR *.*" psi.FileName = "CMD.EXE" psi.RedirectStandardOutput = True psi.StandardOutputEncoding = _ Encoding.GetEncoding("ibm850") psi.UseShellExecute = False Dim p As Process = Process.Start(psi) Using o As StreamReader = p.StandardOutput While Not o.EndOfStream Me.Label1.Text &= o.ReadLine & vbCrLf End While End Using End Sub End Class
Je n'ai pas encore testé, mais je pense que c'est exactement ce qu'il me
faut. Merci !
Bonne journée,
Nicolas
Fred a écrit :
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Public Class Form1 Private Sub Test Dim psi As New ProcessStartInfo() psi.Arguments = "/C DIR *.*" psi.FileName = "CMD.EXE" psi.RedirectStandardOutput = True psi.StandardOutputEncoding = _ Encoding.GetEncoding("ibm850") psi.UseShellExecute = False Dim p As Process = Process.Start(psi) Using o As StreamReader = p.StandardOutput While Not o.EndOfStream Me.Label1.Text &= o.ReadLine & vbCrLf End While End Using End Sub End Class
Nicolas B.
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Merci,
Nicolas
Fred a écrit :
Dans : news:, Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application fonctionnant en ligne de commande, mais je ne sais pas comment faire pour : - lancer l'application avec des arguments, - récupérer, quand je la lance dans mon programme, les messages qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1 Private Sub Test Dim psi As New ProcessStartInfo() psi.Arguments = "/C DIR *.*" psi.FileName = "CMD.EXE" psi.RedirectStandardOutput = True psi.StandardOutputEncoding = _ Encoding.GetEncoding("ibm850") psi.UseShellExecute = False Dim p As Process = Process.Start(psi) Using o As StreamReader = p.StandardOutput While Not o.EndOfStream Me.Label1.Text &= o.ReadLine & vbCrLf End While End Using End Sub End Class
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un
peu plus compliqué : l'application que je lance en ligne de commande me
pose des questions (du type "Voulez-vous écraser les fichiers ?") et je
dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à
récupérer dans mon programme les questions que me pose l'application
lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Merci,
Nicolas
Fred a écrit :
Dans : news:O0vt0s1MIHA.1188@TK2MSFTNGP04.phx.gbl,
Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Merci,
Nicolas
Fred a écrit :
Dans : news:, Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application fonctionnant en ligne de commande, mais je ne sais pas comment faire pour : - lancer l'application avec des arguments, - récupérer, quand je la lance dans mon programme, les messages qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1 Private Sub Test Dim psi As New ProcessStartInfo() psi.Arguments = "/C DIR *.*" psi.FileName = "CMD.EXE" psi.RedirectStandardOutput = True psi.StandardOutputEncoding = _ Encoding.GetEncoding("ibm850") psi.UseShellExecute = False Dim p As Process = Process.Start(psi) Using o As StreamReader = p.StandardOutput While Not o.EndOfStream Me.Label1.Text &= o.ReadLine & vbCrLf End While End Using End Sub End Class
OlivierH
Il faudrait connaitre les options de lancement de ton appli L'option silent en general => monappli.exe /s
Olivier
Nicolas B. a écrit :
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Merci,
Nicolas
Fred a écrit :
Dans : news:, Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application fonctionnant en ligne de commande, mais je ne sais pas comment faire pour : - lancer l'application avec des arguments, - récupérer, quand je la lance dans mon programme, les messages qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1 Private Sub Test Dim psi As New ProcessStartInfo() psi.Arguments = "/C DIR *.*" psi.FileName = "CMD.EXE" psi.RedirectStandardOutput = True psi.StandardOutputEncoding = _ Encoding.GetEncoding("ibm850") psi.UseShellExecute = False Dim p As Process = Process.Start(psi) Using o As StreamReader = p.StandardOutput While Not o.EndOfStream Me.Label1.Text &= o.ReadLine & vbCrLf End While End Using End Sub End Class
Il faudrait connaitre les options de lancement de ton appli
L'option silent en general => monappli.exe /s
Olivier
Nicolas B. a écrit :
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un
peu plus compliqué : l'application que je lance en ligne de commande me
pose des questions (du type "Voulez-vous écraser les fichiers ?") et je
dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à
récupérer dans mon programme les questions que me pose l'application
lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Merci,
Nicolas
Fred a écrit :
Dans : news:O0vt0s1MIHA.1188@TK2MSFTNGP04.phx.gbl,
Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Il faudrait connaitre les options de lancement de ton appli L'option silent en general => monappli.exe /s
Olivier
Nicolas B. a écrit :
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Merci,
Nicolas
Fred a écrit :
Dans : news:, Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application fonctionnant en ligne de commande, mais je ne sais pas comment faire pour : - lancer l'application avec des arguments, - récupérer, quand je la lance dans mon programme, les messages qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Public Class Form1 Private Sub Test Dim psi As New ProcessStartInfo() psi.Arguments = "/C DIR *.*" psi.FileName = "CMD.EXE" psi.RedirectStandardOutput = True psi.StandardOutputEncoding = _ Encoding.GetEncoding("ibm850") psi.UseShellExecute = False Dim p As Process = Process.Start(psi) Using o As StreamReader = p.StandardOutput While Not o.EndOfStream Me.Label1.Text &= o.ReadLine & vbCrLf End While End Using End Sub End Class
Fred
Dans : news:%, Nicolas B. disait :
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Oui sans doute, mais je n'ai pas testé. Il existe également RedirectStandardInput et le StreamWriter StandardInput. Il faudra donc tester chaque ligne lue sur le OutputStream pour éventuellement écrire une réponse sur le InputStream. Attention, il faut gérer la lecture caractère par caractère car lorsque'une question est posée, elle peut l'être avant le retour à la ligne.
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Dans : news:%23ROLFMFNIHA.4688@TK2MSFTNGP06.phx.gbl,
Nicolas B. disait :
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est
un peu plus compliqué : l'application que je lance en ligne de
commande me pose des questions (du type "Voulez-vous écraser les
fichiers ?") et je dois y répondre ("> oui"). Il faudrait que
j'arrive à la fois à récupérer dans mon programme les questions que
me pose l'application lancée et répondre à ces questions, là aussi à
partir de mon programme.
Est-ce faisable ?
Oui sans doute, mais je n'ai pas testé.
Il existe également RedirectStandardInput et le StreamWriter
StandardInput.
Il faudra donc tester chaque ligne lue sur le OutputStream pour
éventuellement écrire une réponse sur le InputStream.
Attention, il faut gérer la lecture caractère par caractère car
lorsque'une question est posée, elle peut l'être avant le retour à la
ligne.
--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Oui sans doute, mais je n'ai pas testé. Il existe également RedirectStandardInput et le StreamWriter StandardInput. Il faudra donc tester chaque ligne lue sur le OutputStream pour éventuellement écrire une réponse sur le InputStream. Attention, il faut gérer la lecture caractère par caractère car lorsque'une question est posée, elle peut l'être avant le retour à la ligne.
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Nicolas B.
Je vais essayer de m'en sortir en utilisant à la fois le StreamReader et le StreamWriter, mais ça va effectivement être un peu plus compliqué...
Bonne soirée,
Nicolas
Fred a écrit :
Dans : news:%, Nicolas B. disait :
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Oui sans doute, mais je n'ai pas testé. Il existe également RedirectStandardInput et le StreamWriter StandardInput. Il faudra donc tester chaque ligne lue sur le OutputStream pour éventuellement écrire une réponse sur le InputStream. Attention, il faut gérer la lecture caractère par caractère car lorsque'une question est posée, elle peut l'être avant le retour à la ligne.
Je vais essayer de m'en sortir en utilisant à la fois le StreamReader et
le StreamWriter, mais ça va effectivement être un peu plus compliqué...
Bonne soirée,
Nicolas
Fred a écrit :
Dans : news:%23ROLFMFNIHA.4688@TK2MSFTNGP06.phx.gbl,
Nicolas B. disait :
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est
un peu plus compliqué : l'application que je lance en ligne de
commande me pose des questions (du type "Voulez-vous écraser les
fichiers ?") et je dois y répondre ("> oui"). Il faudrait que
j'arrive à la fois à récupérer dans mon programme les questions que
me pose l'application lancée et répondre à ces questions, là aussi à
partir de mon programme.
Est-ce faisable ?
Oui sans doute, mais je n'ai pas testé.
Il existe également RedirectStandardInput et le StreamWriter StandardInput.
Il faudra donc tester chaque ligne lue sur le OutputStream pour
éventuellement écrire une réponse sur le InputStream.
Attention, il faut gérer la lecture caractère par caractère car
lorsque'une question est posée, elle peut l'être avant le retour à la
ligne.
Je vais essayer de m'en sortir en utilisant à la fois le StreamReader et le StreamWriter, mais ça va effectivement être un peu plus compliqué...
Bonne soirée,
Nicolas
Fred a écrit :
Dans : news:%, Nicolas B. disait :
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Oui sans doute, mais je n'ai pas testé. Il existe également RedirectStandardInput et le StreamWriter StandardInput. Il faudra donc tester chaque ligne lue sur le OutputStream pour éventuellement écrire une réponse sur le InputStream. Attention, il faut gérer la lecture caractère par caractère car lorsque'une question est posée, elle peut l'être avant le retour à la ligne.
OlivierH
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Si tu veux , tu peux utiliser aussi utiliser cette classe<br> <br> afin de simuler les commandes clavier<br> <br> <font color="#0033ff" size="2"><font face="Courier New">My.Computer.Keyboard.SendKeys("TAB"</font></font><font face="Courier New" size="2"><font color="#0033ff">) ' pour chan</font></font>ger<br> <br> <font color="#0033ff" size="2"><font face="Courier New">My.Computer.Keyboard.SendKeys("ENTER"</font></font><font face="Courier New" size="2"><font color="#0033ff">) ' pour chan</font></font>ger<br> <br> <a class="moz-txt-link-freetext" href="http://msdn2.microsoft.com/fr-fr/library/fx2k26ca(vs.80).aspx">http://msdn2.microsoft.com/fr-fr/library/fx2k26ca(vs.80).aspx</a><br> <br> <br> Ca m'a permis d'installer une appli en repondant aux questions.<br> <br> Et en foxpro j'utilise Wscript.Shell<br> oShell.SendKeys("{ENTER}{TAB}{TAB}{TAB}{TAB}{UP}{ENTER}{ENTER}{ENTER}")<br> <br> Et j'installe mon appli comme cela.<br> <br> olivier<br> <br> <font face="Courier New" size="2"><font color="#0033ff"><br> </font></font><br> <br> Nicolas B. a écrit : <blockquote cite="mid:" type="cite"> <pre wrap="">Je vais essayer de m'en sortir en utilisant à la fois le StreamReader et le StreamWriter, mais ça va effectivement être un peu plus compliqué...
Bonne soirée,
Nicolas
Fred a écrit : </pre> <blockquote type="cite"> <pre wrap="">Dans : <a class="moz-txt-link-freetext" href="news:%">news:%</a>, Nicolas B. disait : </pre> <blockquote type="cite"> <pre wrap="">Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ? </pre> </blockquote> <pre wrap="">Oui sans doute, mais je n'ai pas testé. Il existe également RedirectStandardInput et le StreamWriter StandardInput. Il faudra donc tester chaque ligne lue sur le OutputStream pour éventuellement écrire une réponse sur le InputStream. Attention, il faut gérer la lecture caractère par caractère car lorsque'une question est posée, elle peut l'être avant le retour à la ligne.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Si tu veux , tu peux utiliser aussi utiliser cette classe<br>
<br>
afin de simuler les commandes clavier<br>
<br>
<font color="#0033ff" size="2"><font face="Courier New">My.Computer.Keyboard.SendKeys("TAB"</font></font><font
face="Courier New" size="2"><font color="#0033ff">) ' pour chan</font></font>ger<br>
<br>
<font color="#0033ff" size="2"><font face="Courier New">My.Computer.Keyboard.SendKeys("ENTER"</font></font><font
face="Courier New" size="2"><font color="#0033ff">) ' pour chan</font></font>ger<br>
<br>
<a class="moz-txt-link-freetext" href="http://msdn2.microsoft.com/fr-fr/library/fx2k26ca(vs.80).aspx">http://msdn2.microsoft.com/fr-fr/library/fx2k26ca(vs.80).aspx</a><br>
<br>
<br>
Ca m'a permis d'installer une appli en repondant aux questions.<br>
<br>
Et en foxpro j'utilise Wscript.Shell<br>
oShell.SendKeys("{ENTER}{TAB}{TAB}{TAB}{TAB}{UP}{ENTER}{ENTER}{ENTER}")<br>
<br>
Et j'installe mon appli comme cela.<br>
<br>
olivier<br>
<br>
<font face="Courier New" size="2"><font color="#0033ff"><br>
</font></font><br>
<br>
Nicolas B. a écrit :
<blockquote cite="mid:etip7WQNIHA.4808@TK2MSFTNGP05.phx.gbl" type="cite">
<pre wrap="">Je vais essayer de m'en sortir en utilisant à la fois le StreamReader et
le StreamWriter, mais ça va effectivement être un peu plus compliqué...
Bonne soirée,
Nicolas
Fred a écrit :
</pre>
<blockquote type="cite">
<pre wrap="">Dans : <a class="moz-txt-link-freetext" href="news:%23ROLFMFNIHA.4688@TK2MSFTNGP06.phx.gbl">news:%23ROLFMFNIHA.4688@TK2MSFTNGP06.phx.gbl</a>,
Nicolas B. disait :
</pre>
<blockquote type="cite">
<pre wrap="">Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est
un peu plus compliqué : l'application que je lance en ligne de
commande me pose des questions (du type "Voulez-vous écraser les
fichiers ?") et je dois y répondre ("> oui"). Il faudrait que
j'arrive à la fois à récupérer dans mon programme les questions que
me pose l'application lancée et répondre à ces questions, là aussi à
partir de mon programme.
Est-ce faisable ?
</pre>
</blockquote>
<pre wrap="">Oui sans doute, mais je n'ai pas testé.
Il existe également RedirectStandardInput et le StreamWriter StandardInput.
Il faudra donc tester chaque ligne lue sur le OutputStream pour
éventuellement écrire une réponse sur le InputStream.
Attention, il faut gérer la lecture caractère par caractère car
lorsque'une question est posée, elle peut l'être avant le retour à la
ligne.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Si tu veux , tu peux utiliser aussi utiliser cette classe<br> <br> afin de simuler les commandes clavier<br> <br> <font color="#0033ff" size="2"><font face="Courier New">My.Computer.Keyboard.SendKeys("TAB"</font></font><font face="Courier New" size="2"><font color="#0033ff">) ' pour chan</font></font>ger<br> <br> <font color="#0033ff" size="2"><font face="Courier New">My.Computer.Keyboard.SendKeys("ENTER"</font></font><font face="Courier New" size="2"><font color="#0033ff">) ' pour chan</font></font>ger<br> <br> <a class="moz-txt-link-freetext" href="http://msdn2.microsoft.com/fr-fr/library/fx2k26ca(vs.80).aspx">http://msdn2.microsoft.com/fr-fr/library/fx2k26ca(vs.80).aspx</a><br> <br> <br> Ca m'a permis d'installer une appli en repondant aux questions.<br> <br> Et en foxpro j'utilise Wscript.Shell<br> oShell.SendKeys("{ENTER}{TAB}{TAB}{TAB}{TAB}{UP}{ENTER}{ENTER}{ENTER}")<br> <br> Et j'installe mon appli comme cela.<br> <br> olivier<br> <br> <font face="Courier New" size="2"><font color="#0033ff"><br> </font></font><br> <br> Nicolas B. a écrit : <blockquote cite="mid:" type="cite"> <pre wrap="">Je vais essayer de m'en sortir en utilisant à la fois le StreamReader et le StreamWriter, mais ça va effectivement être un peu plus compliqué...
Bonne soirée,
Nicolas
Fred a écrit : </pre> <blockquote type="cite"> <pre wrap="">Dans : <a class="moz-txt-link-freetext" href="news:%">news:%</a>, Nicolas B. disait : </pre> <blockquote type="cite"> <pre wrap="">Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un peu plus compliqué : l'application que je lance en ligne de commande me pose des questions (du type "Voulez-vous écraser les fichiers ?") et je dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à récupérer dans mon programme les questions que me pose l'application lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ? </pre> </blockquote> <pre wrap="">Oui sans doute, mais je n'ai pas testé. Il existe également RedirectStandardInput et le StreamWriter StandardInput. Il faudra donc tester chaque ligne lue sur le OutputStream pour éventuellement écrire une réponse sur le InputStream. Attention, il faut gérer la lecture caractère par caractère car lorsque'une question est posée, elle peut l'être avant le retour à la ligne.