Redirectoutput

23/08/2009 - 17:49 von Michael Kolowicz | Report spam
Hallo,

ich habe einen Windows-Dienst geschrieben. Dieser Dienst startet eine
CMD-Datei. Da der Dienst keinen sichtbare Ausgabe hat, möchte ich eine
Logdatei schreiben.

Wie kan nich die Ausgabe, die normalerweise beim Ausführen der CMD
erscheint, in ein textfile schreiben? Dies sollte auch möglich sein,
wenn die CMD (der Prozess, der erzeugt wurde) noch nicht beendet ist (er
hàngt oder stoppt - das Logfile soll mir dann sagen, was angezeigt
wurde)

Hàtte jemand ein VB.NET Beispiel?

Hier mein derzeit verwendeter Code dazu:

With pInfo
.Arguments = String.Format("{0}", Arguments)
.FileName = PathToApplication
.WindowStyle = WindowsState

.ErrorDialog = False
.RedirectStandardError = True
.RedirectStandardInput = True
.RedirectStandardOutput = True
.UseShellExecute = False

If AdminPassword.Length > 0 Then
.Verb = "runas"
.Password = sPassword
.UserName = AdminUser
.Domain = AdminDomain
End If
.CreateNoWindow = False
End With

pProcess = Process.Start(pInfo)
With pProcess
outputError = .StandardError
outputOutput = .StandardOutput

WriteStringToFile(outputOutput.ToString, "C:
\LogOutput.txt", True)
WriteStringToFile(outputError.ToString, "C:
\LogError.txt", True)

'.WaitForInputIdle()
.WaitForExit()

End With
 

Lesen sie die antworten

#1 Michael Kolowicz
23/08/2009 - 19:36 | Warnen spam
In article ,
says...

Hey,

für alle, die ein àhnliches Problem haben - hier ein super Artikel dazu:

http://www.codeproject.com/KB/cs/co..._file.aspx

mfg
Michael

Ähnliche fragen