| 

.NET C# Java Javascript Exception

3
Hallo,
ich möchte folgendes erreichen: Es soll ein Programm nur einmal ausgeführt werden, also nur eine Instanz. Wenn das Programm ein zweites Mal gestartet wird, soll das Hauptformular (das im SysTray minimiert ist) wieder angezeigt werden.

Die einzelne Instanz konnte ich durch einen Mutex sicherstellen. Um mein Formular wieder anzuzeigen, brauche ich in der zweiten Instanz das Formular-Objekt, oder?

// Mehrfachaufrufe abfangen
System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out createdNew);
if (createdNew)
{
frmMain frm = new frmMain();
frm.WindowState = FormWindowState.Minimized;
mutex.ReleaseMutex();
Application.Run(frm);
}
else
{
frmMain frm = null;

// hier muss die Magie wirken :-)

if (frm == null)
MessageBox.Show("Fehler");
else
{
frm.ShowInTaskbar = true;
frm.WindowState = FormWindowState.Normal;
}
}


Dazu fallen mir verschiedene Stichworte ein: IPC, WCF, Remoting, ...
Natürlich wäre eine möglichst einfache und kurze Lösung schön :-).

Der folgende Beitrag war auch hilfreich, aber das Anzeigen meines Formulars funktioniert nicht, weil es hidden ist:
http://codekicker.de/fragen/hintergrund-Singleton-implementiere-sowas-singleton-start-tastatur/645

Liebe Grüße, Tom
01.11.2013
Metal-Frog 946 1 7
1 Antwort

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH