Entwickler-Ecke

WinForms - [WinForm] Event in einer Batch-Datei auslösen


Sh3va - Mi 11.01.12 10:49
Titel: [WinForm] Event in einer Batch-Datei auslösen
Guten morgen zusammen,

da ich google langsam nicht mehr sehen kann, frage ich (mal wieder) hier :-/

Ausgangspunkt: Ich schreibe ein Programm, welches ein Script am Ende ausführt. Während der Durchführung des Scriptes möchte ich die Form ausblenden lassen, und sobald das Script fertig ist, soll die Form wieder erscheinen.

Ich hab mir gedacht, dass die Batch i.ein Event auslöst(im Grunde ist es ja egal was, hauptsache die Form bekommt es mit), sodass ich dann die Form wieder erscheinen lassen kann, und ggfls. noch Buttons o.ä. da sind, um weiter im Programm fortzufahren.

Falls jemand eine bessere Idee hat, ich bin offen für alles ;-)

Gruß,
Sh3va


Ralf Jansen - Mi 11.01.12 11:11

Wie führst du das Script aus? Über die Process Klasse? Dann kannst du dich einfach an dessen Exited [http://msdn.microsoft.com/de-de/library/system.diagnostics.process.exited.aspx] Event hängen bzw. da es scheint das dein Programm solange der Batch läuft selbst nichts tun soll kannst du auch einfach die WaitForExit [http://msdn.microsoft.com/de-de/library/fb4aw7b8.aspx] Methode aufrufen.


Sh3va - Mi 11.01.12 11:40

Ja genau, über die Process-Klasse. Aber ich erstelle kein Objekt der Klasse wie beim Beispiel von MSDN.
Ich starte die Batch mit diesem Befehl:

Quelltext
1:
System.Diagnostics.Process.Start(batchfilePath);                    


Sollte ich lieber ein Objekt erstellen? Dann würde ich es denke (hoffentlich^^) ab hier an alleine hinbekommen.
Aber geht es auch mit mit meiner "Version"?

Danke vielmals für deine Hilfe Ralf =)


Ralf Jansen - Mi 11.01.12 11:48

Du erstellst bereits ein Process Objekt. Nämlich das was von Process.Start zurückgegeben wird. Du scheinst das nur im Moment zu ignorieren.

Edit : Aber wenn du den Exited Event verwenden willst ist es trotzdem besser das Process Object vor dem starten selbst zusammenzubauen. Damit du denn Event auch vor dem starten verdrahten kannst.


Sh3va - Mi 11.01.12 11:57

Okay, ich hab ein Process Object erstellt, und es funktioniert auch so, wie ich es mir vorgestellt habe.

Danke nochmal für deine Geduld und für die Hilfen ;-)

Gruß,
Sh3va