Bedingung für exe-Datei
-
@miller
Na hoffentlich übersieht er nicht, dass der Link zum Thema Mutex unter windows das eigentlich wichtige ist.Wenns einfach sein soll, würd ichs aber auch über ne einfache Datei lösen.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
prolog schrieb:
@miller
Na hoffentlich übersieht er nicht, dass der Link zum Thema Mutex unter windows das eigentlich wichtige ist.stimmt war ein bisschen unglücklich geschrieben

-
Der Mutex ist glaube ich nicht die richtige Lösung:
So wie ich das verstehe, will er sein Programm Dienstags nur ein einziges Mal startbar haben (und das nicht gleichzeitig, sondern generell, sprich: Programm schaut nach, heute Dienstag, wurde ich heute schon mal irgendwann gestartet, wenn ja: beenden).Mutexe sind nur sinnvoll, wenn man nur 1 Instanz seines Programmes zulassen will, also ein gleichzeitiges Benutzen mehrerer Instanzen verhindern will.
Wenn er das so haben will, ist die Frage extrem mißverständlich geschrieben...
-
ich hatte es schon so verstanden das nur dienstags eine instanz starten will und an den restlichen tagen so oft wie man will.
somit dachte ich mir ich erstelle nur dienstags einen mutex und überprüfe ob es diesen schon gibt und beende dann nötigenfalls. an den anderen tagen erstelle ich keinen.
wie würdest es denn du machen ? auch mit nem file oder regeintrag ?
-
Kommt halt drauf an wie er das will.
Nur eine Instanz gleichzeitig: Mutex, ganz klar!
Nur einmal am Tag starten: Datei oder Registry, wobei mir Datei besser gefällt wegen Registry-Zumüllung, allerdings ist das System nicht sonderlich sicher (User könnte Datei löschen und dann doch das Programm wieder starten.
Also sind für beide Problemstellungen Lösungen gepostet...
-
Hallo,
habe zufällig nochmal reingeschaut!
Ich habe mein Konzept ein bißchen verändert:
Bei jedem Programmstart, soll eine Zahl hochgezählt werden! Bei Anwendungsstart am nächsten Tag muss der Zähler auf "0" gestellt werden und von vorne beginnen!
Wie "Hepi" schon gasagt hat, wäre hierfür die Lösung mit der Datei zu unsicher und ich würde deswegen das mit der Registry bevorzugen!
Weiß jemand wie das geht?? Habe absolut keine Erfahrung in dieser Hinsicht!
Vielleicht kann mir ja jemand helfen...Gruß
Wolfgang2
-
Also ich würde als allererstes das aktuelle Datum (aus der Systemzeit) auslesen.
Wenn der aktuelle Wochentag dann ein Dienstag ist und der Inhalt eines bestimmten
Registry-Schlüssels dem aktuellen Datum übereinstimmt, würde ich das Programm
einfach per PostQuitMessage beenden lassen (Edit: Wenn nicht, wird der bestimmte Registry-Schlüssel mit dem aktuellen Datum erstellt).Feddisch!

-
Hallo,
die Bedingungen mit dem "Dienstag" und dem "schließen lassen", brauche ich gar nicht mehr! Ich muss nur die Zahl bei Anwendungsstart hochzählen lassen! Ich sehe dann an der Zahl in meiner Ausgabe, ob die Anwendung an dem Dienstag mehr als einmal ausgeführt wurde! Das ist eine bessere Lösung für meinen Fall!
Hat jemand vielleicht einen kleinen Algorithmus zu dem Vorschlag von "crazychicken"?? Würde mich freuen, weil wie gesagt, ich hab sowas noch nie gemacht...Wolfgang2
-
Das ist doch kein großartiger Algorithmus (falls man das überhaupt schon so nennen kann
)
Infos zum Umgang mit der Registry findest du hier in den FAQ