Einzelnen Beitrag anzeigen

Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#3

Re: NotifyIcon und das Threading

  Alt 5. Dez 2005, 19:13
Okay, ich hab nun ne Lösung gefunden:

Ich hab das Process.WaitForExit() in einen eigenen Thread ausgelagert. Dann erzeuge ich in dem Thread, in dem ich auch das TrayIcon erzeugt hab, einen ApplicationContext. Nun starte ich eine Nachrichtenschleife mit dem Context als Parameter.

Wenn in dem anderen Thread der Prozess beendet wurde, verstecke ich das TrayIcon wieder und verlasse den Thread der Nachrichtenschleife (mit ApplicationContext.ExitThread()).

Code:
private System.Windows.Forms.ApplicationContext context;
.
.
.
Thread thread = new Thread(new ThreadStart(this.Wait));
thread.Start();
         
// Create an Application Context. The thread created above will kill
// it when finished waiting...
this.context = new System.Windows.Forms.ApplicationContext();
System.Windows.Forms.Application.Run(this.context);
.
.
.
context.ExitThread();
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat