Wie kann Ich eine MSG Box so programieren dass sie nur beim 1. Start desProgrammes gezeigt wird.Um z.B. auf Änderungen eines UPdates hinzuweisen...
MSG Box am Anfang das Programmes nur beim 1. Start
-
- [ gelöst ]
-
Masterking1996 -
14. Dezember 2010 um 15:54 -
Geschlossen -
Erledigt
-
-
Gibt mehrere Möglichkeiten:
- ini Datei in der du eine Wert setzt
- Textdatei in der du einen Wert einträgst
- Registryeintrag
usw. -
Am einfachsten sicher über einen Registry-Eintrag oder über eine ini-Datei.
Edit: zu langsam
-
Wie genau muss der aussehen (registry?)?
-
Siehe Hilfe zu Regwrite:
[autoit]RegWrite()
[/autoit] -
Schau dir mal:
[autoit]RegWrite() RegRead()
[/autoit]
[autoit]
an hier ein kleines Beispiel:If Not RegRead("HKEY_CURRENT_USER\Software\DEINPROGRAMMNAME", "FirstStart") = 1 Then
[/autoit]
MsgBox(0, "Erster Start", "Das Programm wurde zum ersten mal gestartet!")
RegWrite("HKEY_CURRENT_USER\Software\DEINPROGRAMMNAME", "FirstStart", "REG_SZ", "1")
EndIf -
Danke
-
Finde Registry nicht wirklich empfehlenswert, da die sehr schnell zumüllt mit sowas. Ich würde beim Start eine Textdatei (oder eine Ini, wenn du die sowieso brauchst) anlegen. So kannst du beim ersten Start prüfen, ob die Ini existiert, wenn nein ist das der erste Start des Programmes.
-
Wießo denn? Eine Registry ist genau für solche Zwecke gedacht nur sollte man halt auch beim Löschen wieder entfernen also ein DE-Instalations programm wäre von Vorteil
-
Ganz ehrlich ich bin auch kein Fan von Programmen die unnötig in die Registry schreiben.
Ganz einfach weil bestimmt 90 % aller Programme beim deinstallieren solche Einträge übrig lassen.
Wenn man viel Software testet hat man nach ner Weile nen zugemüllten Rechner der immer langsamer wird.
Und dann darf man ihn mal wieder neu aufsetzen.Sobald aber eine vernünftige Deinstallation dabei ist spricht für mich aber nichts dagegen
-
Vor Win XP hast du recht, aber seit XP wird nichtmehr die komplette Registry in den Ram geladen sondern nur die aktuell benötigten Bereiche. Von daher gehört die Aussage, dass viele Eintrage in der Registry einen Rechner langsamer macht in die Schublade der Mythen und Gerüchte. Es wird aber wie jeder Mythos weiterhin in den Köpfen der Leute verbleiben.
-
[autoit]
[/autoit]
If Not RegRead("HKEY_CURRENT_USER\Software\DEINPROGRAMMNAME", "FirstStart") = 1 Then
MsgBox(0, "Erster Start", "Das Programm wurde zum ersten mal gestartet!")
RegWrite("HKEY_CURRENT_USER\Software\DEINPROGRAMMNAME", "FirstStart", "REG_SZ", "1")
EndIf
Trotzdem braucht man für eine derart simple Abfrage Schreibrechte bei jeder Ausführung.
Ist für dieses Problem absolut unnötig. Dafür spricht eigentlich nichts. -
Außer dass genau für solche Konfigurationssachen die Registry seit NT da ist ;). Und man die exe beliebig an einen anderen Ort verschieben kann ohne z.b. noch darauf zu achten, dass auch die ini-Datei mit verschoben wird.
-
Konfigurationsdateien kommen bei mir in die dafür vorgesehenen Verzeichnisse.
Praktischerweise hat autoit dafür auch die passenden Makros:@AppDataCommonDir
@AppDataDir