Bonjour,j'ai un code de la forme suivante:
(je n'ai pas mis les arguments mais ils y sont dans le code final)
Process myProcess = new Process();
myProcess.StartInfo.FileName= "wscript.exe";
myProcess.Start();
Lors de l'éxécution le processus wscript est bien crée mais il ne s'éxécute
pas, meme en tache de fond. Ce code marche pour une application mais pas une
webapplication. Le but pour moi est de lancer un script vbs via wscript.exe.
J'ai également essayé les exemples fourni pour "iexplorer.exe", de la meme
maniere le processus se lance mais rien n'apparait à l'écran.
Je pensais à un problème de droits mais je pense avoir tout tenté de se coté
la.
Merci de votrer aide.
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
Sebastien Bovo [MS]
Bonjour,
Dans le cas de iexplore.exe c'est normal que rien n'apparaisse à l'écran puisque le processus n'est pas lancé dans un session intéractive.
Voici un bout de code qui peut t'aider pour lancer un VBS :
Tu pourras faire : Lance("monscript.vbs", "parametres", 10) par exemple
Imports System.IO Imports System.Diagnostics
Public Class Commande
Public Shared Function Lance(ByVal Commande As String, ByVal Parametres As String, ByVal Timeout As Integer) As String Dim Sortie As StreamReader Dim TxtSortie As String Dim Succes As Boolean = False
Try Dim MonProcess As New Process MonProcess.StartInfo.FileName = Commande MonProcess.StartInfo.Arguments = Parametres MonProcess.StartInfo.UseShellExecute = False MonProcess.StartInfo.CreateNoWindow = True MonProcess.StartInfo.RedirectStandardOutput = True MonProcess.Start()
If Timeout = 0 Then Sortie = MonProcess.StandardOutput TxtSortie = Sortie.ReadToEnd() MonProcess.WaitForExit() Else Succes = MonProcess.WaitForExit(Timeout * 1000) If Succes Then Sortie = MonProcess.StandardOutput TxtSortie = Sortie.ReadToEnd() Else TxtSortie = "Expiration du delai de " & Timeout & " secondes" End If End If Catch ex As Exception Throw New Exception("Exception lors du lancement de la ligne de commande") Finally Sortie.Close() End Try
Return TxtSortie End Function End Class
-- Cordialement,
Sebastien Bovo Microsoft France ---------- Ce message est fourni en l'état, sans garantie d'aucune sorte, et ne vous confère aucun droit. Vous assumez tous les risques liés à son utilisation.
"Jean" wrote in message news:
Bonjour,j'ai un code de la forme suivante: (je n'ai pas mis les arguments mais ils y sont dans le code final)
Process myProcess = new Process(); myProcess.StartInfo.FileName= "wscript.exe"; myProcess.Start();
Lors de l'éxécution le processus wscript est bien crée mais il ne s'éxécute pas, meme en tache de fond. Ce code marche pour une application mais pas une webapplication. Le but pour moi est de lancer un script vbs via wscript.exe.
J'ai également essayé les exemples fourni pour "iexplorer.exe", de la meme maniere le processus se lance mais rien n'apparait à l'écran.
Je pensais à un problème de droits mais je pense avoir tout tenté de se coté la. Merci de votrer aide.
Bonjour,
Dans le cas de iexplore.exe c'est normal que rien n'apparaisse à l'écran
puisque le processus n'est pas lancé dans un session intéractive.
Voici un bout de code qui peut t'aider pour lancer un VBS :
Tu pourras faire : Lance("monscript.vbs", "parametres", 10) par exemple
Imports System.IO
Imports System.Diagnostics
Public Class Commande
Public Shared Function Lance(ByVal Commande As String, ByVal Parametres As
String, ByVal Timeout As Integer) As String
Dim Sortie As StreamReader
Dim TxtSortie As String
Dim Succes As Boolean = False
Try
Dim MonProcess As New Process
MonProcess.StartInfo.FileName = Commande
MonProcess.StartInfo.Arguments = Parametres
MonProcess.StartInfo.UseShellExecute = False
MonProcess.StartInfo.CreateNoWindow = True
MonProcess.StartInfo.RedirectStandardOutput = True
MonProcess.Start()
If Timeout = 0 Then
Sortie = MonProcess.StandardOutput
TxtSortie = Sortie.ReadToEnd()
MonProcess.WaitForExit()
Else
Succes = MonProcess.WaitForExit(Timeout * 1000)
If Succes Then
Sortie = MonProcess.StandardOutput
TxtSortie = Sortie.ReadToEnd()
Else
TxtSortie = "Expiration du delai de " & Timeout & " secondes"
End If
End If
Catch ex As Exception
Throw New Exception("Exception lors du lancement de la ligne de
commande")
Finally
Sortie.Close()
End Try
Return TxtSortie
End Function
End Class
--
Cordialement,
Sebastien Bovo
Microsoft France
----------
Ce message est fourni en l'état, sans garantie d'aucune sorte, et ne vous
confère aucun droit. Vous assumez tous les risques liés à son utilisation.
"Jean" <Jean@discussions.microsoft.com> wrote in message
news:D3F0B55A-BC09-4E2D-803D-2FE2FBF3030E@microsoft.com...
Bonjour,j'ai un code de la forme suivante:
(je n'ai pas mis les arguments mais ils y sont dans le code final)
Process myProcess = new Process();
myProcess.StartInfo.FileName= "wscript.exe";
myProcess.Start();
Lors de l'éxécution le processus wscript est bien crée mais il ne
s'éxécute
pas, meme en tache de fond. Ce code marche pour une application mais pas
une
webapplication. Le but pour moi est de lancer un script vbs via
wscript.exe.
J'ai également essayé les exemples fourni pour "iexplorer.exe", de la meme
maniere le processus se lance mais rien n'apparait à l'écran.
Je pensais à un problème de droits mais je pense avoir tout tenté de se
coté
la.
Merci de votrer aide.
Dans le cas de iexplore.exe c'est normal que rien n'apparaisse à l'écran puisque le processus n'est pas lancé dans un session intéractive.
Voici un bout de code qui peut t'aider pour lancer un VBS :
Tu pourras faire : Lance("monscript.vbs", "parametres", 10) par exemple
Imports System.IO Imports System.Diagnostics
Public Class Commande
Public Shared Function Lance(ByVal Commande As String, ByVal Parametres As String, ByVal Timeout As Integer) As String Dim Sortie As StreamReader Dim TxtSortie As String Dim Succes As Boolean = False
Try Dim MonProcess As New Process MonProcess.StartInfo.FileName = Commande MonProcess.StartInfo.Arguments = Parametres MonProcess.StartInfo.UseShellExecute = False MonProcess.StartInfo.CreateNoWindow = True MonProcess.StartInfo.RedirectStandardOutput = True MonProcess.Start()
If Timeout = 0 Then Sortie = MonProcess.StandardOutput TxtSortie = Sortie.ReadToEnd() MonProcess.WaitForExit() Else Succes = MonProcess.WaitForExit(Timeout * 1000) If Succes Then Sortie = MonProcess.StandardOutput TxtSortie = Sortie.ReadToEnd() Else TxtSortie = "Expiration du delai de " & Timeout & " secondes" End If End If Catch ex As Exception Throw New Exception("Exception lors du lancement de la ligne de commande") Finally Sortie.Close() End Try
Return TxtSortie End Function End Class
-- Cordialement,
Sebastien Bovo Microsoft France ---------- Ce message est fourni en l'état, sans garantie d'aucune sorte, et ne vous confère aucun droit. Vous assumez tous les risques liés à son utilisation.
"Jean" wrote in message news:
Bonjour,j'ai un code de la forme suivante: (je n'ai pas mis les arguments mais ils y sont dans le code final)
Process myProcess = new Process(); myProcess.StartInfo.FileName= "wscript.exe"; myProcess.Start();
Lors de l'éxécution le processus wscript est bien crée mais il ne s'éxécute pas, meme en tache de fond. Ce code marche pour une application mais pas une webapplication. Le but pour moi est de lancer un script vbs via wscript.exe.
J'ai également essayé les exemples fourni pour "iexplorer.exe", de la meme maniere le processus se lance mais rien n'apparait à l'écran.
Je pensais à un problème de droits mais je pense avoir tout tenté de se coté la. Merci de votrer aide.