Chris
At 03:14 PM 1/4/2004, you wrote:
Hast du es schon mit WMI probiert? Das hat bei mir eigentlich immer gut funktioniert. Win32_Prozess liefert auch mehr infos als die Processklasse uas System.Diagnostics.
lG Peter
> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Helge Lenuweit > Sent: Sunday, January 04, 2004 12:49 PM > To: [EMAIL PROTECTED] > Subject: [CSharp.net] Prozesse �berwachen > > Hallo Liste, > > ich m�chte gern externe Anwendungen starten und mitbekommen, > wenn sie beendet werden. Ich dachte dabei an > System.Diagnostics.Process und wollte die Zuordnung �ber die > ProcessID herstellen, also z.B. so: > Process prDoc = new Process(); > prDoc.StartInfo.UseShellExecute = true; > prDoc.StartInfo.FileName = strFullPathFileName; // z.B. > "C:\\Testdok.doc" oder "C:\\Testtxt.txt" > prDoc.Start(); > > und dann int ProcessID = prDoc.Id; > > Leider klappt das so nicht immer, denn in der letzten Zeile > bekomme ich bei MS-Office-Applikationen eine > InvalidOperationException zur�ck, die eigentlich lt. Doku nur > dann auftreten darf, wenn der Prozess nicht gestartet wurde. > Bei Notepad funktioniert es hingegen einwandfrei. > > Laut einer verwegenen MSDN-Seite (hab den Link jetzt nicht > zur Hand) haben die Office-Programme eine Besonderheit beim > Eintrag ihres Prozesses in die Prozesstabelle der > ausf�hrenden Maschine. Auf der bewu�ten Seite, die aber das > Word-Objektmodell zur�ckliefern soll, werden Tricks �belster > Sorte (20x versuchen, dazwischen Sleeps von je > 1/2 Sekunde, Fokuswechsel auf die eigene Anwendung) > verwendet, deren Einsatz ich nach M�glichkeit vermeiden will. > Gibt es eine zuverl�ssige Methode, einen Prozess zu starten > und die Prozessid zur�ckzugeben (oder eine andere eindeutige > Referenz auf den laufenden Proze�)? > > Ich will dabei nach M�glichkeit nicht mit dem Exited-Ereignis > arbeiten, weil meine Anwendung u.U. zwischendurch beendet > wird (ich schreibe Temp-Dateien mit der Proze�information). > > Gru�, Helge
_______________________________________________ CSharp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/csharp.net
