externe Anwendung starten, bzw. aktivieren

24/12/2009 - 16:42 von Alberto Luca | Report spam
Hallo NewsGroup,

ich starte eine externe Anwendung per "Diagnostics.Process.Start".
Es wird jedoch immer wieder erneut eine Instanz gestartet.

Wie kann ich erreichen, dass die externe Anwendung gestartet (falls sie noch
nicht gestartet ist),
bzw. aktiviert wird (falls sie bereits gestartet ist)?

Coding:
System.Diagnostics.Process.Start("c:\abc\kunden.mde");

Besten Dank vorab!
Ciao, Alberto
 

Lesen sie die antworten

#1 Frank Dzaebel
24/12/2009 - 18:27 | Warnen spam
Hallo Alberto,

ich starte eine externe Anwendung per "Diagnostics.Process.Start".
Es wird jedoch immer wieder erneut eine Instanz gestartet.
Wie kann ich erreichen, dass die externe Anwendung gestartet (falls
sie noch nicht gestartet ist),
bzw. aktiviert wird (falls sie bereits gestartet ist)?



Kommt darauf an ...
Wenn Du Zugriff auf den Code der App hast zum Beispiel
über einen Mutex machbar (oft mit GC.KeepAlive implementiert).

[Ensuring that only a single instance of a .NET application is
running]
http://www.ai.uga.edu/mc/SingleInstance.html

[CodeProject: A Single Instance Application which Minimizes to the
System Tray when Closed]
http://www.codeproject.com/KB/cs/si...ation.aspx

[Mutex-Klasse (System.Threading)]
http://msdn.microsoft.com/de-de/lib...mutex.aspx
_______

Wenn Du keinen Zugriff auf den Code hast,
zum Beispiel u.a. über ProzessNamen etc.:
Process curr = Process.GetCurrentProcess();
Process[] procs = Process.GetProcessesByName(curr.ProcessName);

[Ensuring that only a single instance of a .NET application is
running]
http://www.ai.uga.edu/mc/SingleInstance.html
-> Searching the process table


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen