Seite 1 von 1
Werte in der laufzeit speichern
Verfasst: 12.06.2015 16:25
von xXRobo_CubeXx

ich möchte Infos vorübergehend speichern aber nicht auf die hdd sondern nur in der Sessin.

Das heißt meine Infos sind bis zum herunterfahren gültig.
Wenn mein Programm neu gestartet wird sind die Infos da aber wenn man PC neustartet dann nicht mehr. Wie macht man es?

Re: Werte in der laufzeit speichern
Verfasst: 12.06.2015 17:03
von udg
Ich bin absolut kein Profi wie die Anderen hier

aber ich arbeite zzT an etwas, wo ich ebenfalls (jedoch nur TEXT) aus der Zwischenablage abrufe mit:
Case #btnBtn_Paste
SendMessage_(GadgetID(#GadgetiD),#WM_PASTE,0,0) ; schreibt den Inhalt aus Clipboard zu Gadget x, y
dies liest den Inhalt von irgend einem Gadget welches Du per iD angibst, oder TextDaten die in der Zwischenablage gerade sind und fügt sie dir in dein definiertes Ziel Gadget ein.
Ich hoffe dies hilft.
Lg
Re: Werte in der laufzeit speichern
Verfasst: 12.06.2015 18:48
von edel
Unter Windows gibt es die Moeglichkeit mit der Funktion MoveFileEx, die Datei beim Neustart zu löschen. Setzt aber Adminrechte voraus.
Alternativ ein Task oder eine Batch im Autostart, welche man bei der Installation installieren kann.
Re: Werte in der laufzeit speichern
Verfasst: 12.06.2015 19:06
von Derren
Wir würden jetzt spontan zwei Workarounds einfallen.
1) Das Programm beendet sich gar nicht, sondern geht nur in den Systray
2) Auf Festplatte speichern aber einfach beim nächsten Programmstart entfernen (möglicherweise verschlüsselt mit dem Zeitpunkt seit dem der PC läuft. Somit müsste man zum entschlüsseln eben jenen Zeitpunkt genau kennen)
Re: Werte in der laufzeit speichern
Verfasst: 12.06.2015 19:55
von Imhotheb
3) Einen Wert in der Registry speichern. z.B. Datum/Zeit und vergleichen wie lange Win schon läuft.
Aber du kannst nichts im Arbeitsspeicher behalten wenn dein Programm endet, da jeglicher Speicher nach dem beenden wieder freigegeben wird
Re: Werte in der laufzeit speichern
Verfasst: 15.06.2015 14:59
von xXRobo_CubeXx
Danke

für eure Vorschläge und Lösungsansätze

Hab in der Hilfe geguckt und fand SetEnvironmentVariable - warum ist mein gespeicherter Wert nur bis Beenidung meines Tools gültig und danach nicht mehr?

Geht das auch für immer?

Re: Werte in der laufzeit speichern
Verfasst: 15.06.2015 15:25
von ts-soft
xXRobo_CubeXx hat geschrieben:und fand SetEnvironmentVariable - warum ist mein gespeicherter Wert nur bis Beenidung meines Tools gültig und danach nicht mehr?

Geht das auch für immer?

Die EnvironmentVariable ist nur vererbbar, d. h., nur Programme, die Du startest, erhalten den Wert. Mit dem Beenden von
Windows ist auch die EnvironmentVariable weg.
Abhilfe verschafft ein Eintrag in die Registry, so das die EnvironmentVariable der Shell hinzugefügt wird und somit für Alle
Anwendungen gültig ist, die ab dem Eintrag gestarted werden. Es geht also auch für immer, aber es ist, wie die gesamte Registry,
auf der HDD gespeichert und somit sind Deine Bedingungen nicht erfüllt.
Gruß
Thomas
Re: Werte in der laufzeit speichern
Verfasst: 15.06.2015 15:57
von RSBasic
Oder einfach mit RunProgram() und "setx name wert". (für den aktuellen Benutzer)
Wenn du für alle Benutzer langfristig eine Umgebungsvariable anlegen möchtest, dann zusätzlich "/M". (Administratorrechte erforderlich)