Wie kann ich unter Visual C++ (API, kein MFC) verhindern das der User das Programm 2x startet. Unter VB ist das IF App.hinstance=True ...
Aber unter VC weiss ich nicht Hilfe!
Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge
Hi!
Ein Mutex ist eine Art Sperrmechanismus. Ein Programm setzt quasi eine globale Sperrvariable (der Name der Sperrvariable wird im Programm festgelegt). Will nun ein anderes Programm die gleiche Sperrvariable anlegen, dann wird dies zurückgewiesen bzw. das zweite Programm muss warten, bis das erste Program seine Variable wieder gelöscht hat.
Gedacht ist das in Hauptsache, damit eine Anwendung nicht mehrfach gestartet wird.
Oft wird sowas auch als Applikationssperre (application-lock) bezeichnet.
Damit sich also zwei völlig fremde Programme in die Quere kommen, müssten sie den gleichen Sperrvariablennamen in CreateMutex() angeben.
Das sollte man als Programmierer verhindern, in dem man ein möglichst eindeutigen Namen verwendet (in der Praxis wird man den Programmnamen als Bestandteil einfügen).
Ich hoffe, das hilft dir weiter.
Bis denn
Andreas