[EDIT]Abgeteilt von mehrere Programminstanzen verhindern?[EDIT]
Wie mache ich das denn unter Verwendung vom Compact Framework 1.0 und Einbindung von OpenNETCF.
Die Mutex Methode brauch nur eine bool Variable und die Process Klasse von OpenNETCF enthält die Methode GetProcessesByName() nicht.
Gibt es eine Variante ?
Ich möchte, dass meine Windows CE 4.20 Anwendung nicht in mehreren Instanzen laufen kann. Dass habe ich mit der Hilfe von OpenNETCF auch hinbekommen:
static void Main()
{
bool notrunning = false;
OpenNETCF.Threading.MutexEx mutex = new OpenNETCF.Threading.MutexEx(false, "SingleInstance", ref notrunning);
if (notrunning)
{
Application.Run(new Form1());
mutex.Close();
}
}
Jetzt habe ich allerdings folgendes Problem:
In meiner Form1 befinden sich Buttons (die rufen in ihren Click Events andere Funktionen auf und verwenden dabei OpenNETCF.Diagnostics.Process()).
Nachdem so ein Button betätigt wird, wird seine Funktion einmal ausgeführt und anschliessen meine Hauptanwendung beendet.
Weiss jemand woran das liegen kann? Springt der nach so einem ButtonEvent wieder zurück in die Main() Funktion?
OK. Weiss auch nicht warum das Problem bei mir vorhin immer aufgetreten ist. Habe nicht viel am Code geändert. So funktioniert es jetzt bei mir.
Mein Problem hatte vielleicht mit dem schwachen Akku von meinem Gerät zu tun...