Ich habe eine Verkehrsüberwachungssoftware geschrieben, die der Computer nur einmal ausführen soll, und der Code lautet wie folgt:
Finde, klicke sofort auf die Software, es wird angezeigt: "Eine Instanz wurde ausgeführt", aber,Nach 30 Sekunden Warten und dann auf die Software klicken, läuft es wieder erfolgreichEinmal!!
Es ist schade.Der obige Code ist im DEBUG-Modus in Ordnung, aber in RELEASE funktioniert er nicht. Das Problem ist, dass Mutex als lokale Variable deklariert ist und aufgrund von Optimierungsproblemen im Relese-Modus ist, möglicherweise weil der Compiler glaubt, Mutex werde nicht mehr verwendet
benutzt, recycelt, von mir selbst getestet,
Leg Mutex oben drauf und setze es als statische Variable auf !!RechtsDer Code lautet wie folgt:
|