Funktion nur bei dem Ersten Start eines Programms zulassen



  • Sorry, wenn ich das Frage, aber wie kann ich diese Datei anlegen, bzw. wie ist der Code für den "Counter" des öffnens der Datei?



  • Ich verweise dich jetzt einfach mal hier her: http://www.c-plusplus.net/forum/viewtopic-var-t-is-212363.html



  • Okay, allerdings weiß ich jetzt nicht, wie ich einen Schlüssel einbaue, der anzeigt, ob das Programm gestartet ist(0/1).



  • Was genau meinst du mit "Ersten Start eines Programmes".

    Meinst du damit ob das Programm auf dem entsprechenden Rechner schonmal gestartet wurde oder ob bereits eine Instanz des Programms läuft oder oder oder



  • Öhm,

    vielleicht denke ich ja ein wenig zu einfach, aber was spräche denn dagegen beim Starten zu prüfen, ob die Datei einfach nur existiert?

    Und wenn dann die Datei nicht existiert, dann eben mit fstream erzeugen, String einlesen und dort ablegen ... fertig?

    Den Sinn und die Notwendigkeit in der Verwendung von Config/Ini-Files sehe ich bisher noch nicht, sofern nicht mit mehreren und eventuell sich ständig verändernden Schlüsseln und/oder Werten gearbeitet wird.

    -Dantalos-



  • Ich möchte nur darauf hinweisen das der Weg über eine Datei meist nur suboptimal ist.

    1. Könnten die Dateirechte hier Probleme bereiten
    2. Was ist wenn sich das Programm nicht sauber beendet hat? Ist dann wirklich sichergestellt das man das Programm überhaupt wieder starten kann...
    ...

    Hier wird man wohl eher über Betriebssystemspezifische Bibliotheken mehr erfolg haben.

    cu André



  • asc@ausgeloggt schrieb:

    Ich möchte nur darauf hinweisen das der Weg über eine Datei meist nur suboptimal ist.
    ...
    2. Was ist wenn sich das Programm nicht sauber beendet hat? Ist dann wirklich sichergestellt das man das Programm überhaupt wieder starten kann...

    Nun, jeanorwin schreibt: "Ich suche nach einer Lösung dafür, das eine Funktion nur bei dem Ersten Start eines Programmes aufgerufen wird"

    Wenn ich das richtig verstehe, quasi so eine Art "Initialisierung" mit einer Benutzereingabe. Z.B. "Bitt gib Deinen Namen an, wie Du in Zukunft von mir begrüsst werden möchtest".
    Wir reden hier also nicht von irgendwelchen "Lock"-Konzepten, wie ja bereits schon vermutet wurde, sondern mehr über etwas wie eine Art intiales "Profiling".
    Konnte die Datei nicht geschrieben werden (auf grund mangelnder Rechte oder Programmabsturzes), würde das Programm zwar starten, jedoch den Benutzer erneut zur Eingabe auffordern.

    Mein Senario ist wie gesagt nur eine Vermutung. Der TE könnte ja vielleicht noch ein paar mehr Infos zu dem Thema geben :).

    Für ein "Application locking" gebe ich Dir vollkommen recht, ist eine Datei natürlich vollkommen ungeeignet ;).
    Dann solle man schon eher mit einem Verzeichnis arbeiten. Da scheitert bereits bei Vorhandensein eines gleichnamigen Verzeichnisses die Operation erkennbar, egal welches Betriebssystem einem zugrunde liegt.

    -Danta-



  • einen eintrag in die registry schreiben , das das programm schonmal gestartet wurde..



  • Eine gute Lösung, hier leider nicht hilfreich, da es im C++ Standard keine Registry gibt 😃



  • Genau, es soll, wie von Datalos beschrieben, eine Eingabe getan werden, die man später nicht mehr, beziehungsweise nicht beim Start des Programmes, ändern kann.


Anmelden zum Antworten