Wie kann man werhindern, das die gleiche Applikation nicht mehrmals auf dem Rechner gestartet werden kann?
-
Hallo Leute,
habe dies mal bei mir eingebaut.
Aber das funzt nur in der Debug-Version und nicht in der Release.
Warum?int main(array<System::String ^> ^args) { // Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); bool pobjIOwnMutex = false; System::Threading::Mutex^ pobjMutex = gcnew System::Threading::Mutex(true, "TestProg", pobjIOwnMutex); if (pobjIOwnMutex) { // Hauptfenster erstellen und ausführen Application::Run(gcnew Form1()); } else { MessageBox::Show("Programm läuft schon..."); } return 0; }
Kann mir einer helfen?
Gruß
-
Hallo,
du musst das Mutex-Objekt leben lassen, mit KeepAlive, als Erklärung siehe z.B.:
http://www.yoda.arachsys.com/csharp/faq/#one.application.instance
MfG,
Probe-Nutzer