Hallo
Hallo Werner,
du kannst in die Registry schreiben was du willst und soviel du willst, aber halt nur als Zeichenfolge. Willst du andere Werte schreiben, so musst du dich API Aufrufen bemuehen.
Funktionieren tut es immer solange die Rechte dazu da sind das in die Registry geschrieben werden kann 
und das geht immer und auch für mehrere Parameter???
Was meinst du denn mit mehreren Parametern?
Du kannst dir verschiedene Sektionen anlegen und dort verschiedene Schluessel. Zum bsp.
Appname = xyz
Sektion =Setting
Schluessel ... TOP, LEFT, WIDTH, HEIGHT,MAXIMIERT
Appname = xyz
Sektion =Recent Files
Schluessel = File 0, File 1, File 2 etc.
Appname = xyz
Sektion =ABC
Schluessel = Key1, Key2, Key3
Und die sind dann auch immer auf dem Rechner verfügbar, auch
wenn er mal aus war???
Die Werte sind dort gespeichert. Wenn du einmal dort was gespeichert hast, sind sie immer verfügerbar. Es seidenn du löscht sie mit deletesetting, dann würdest du aber den Default Wert bekommen.
DeleteSetting appname, [Section], [Key]
Sektion und Key sind optionale Parameter. Gibst du sie an, so wird der schluessel gelöscht. Wenn nicht dann wird der gesammte Inhalt gelöscht.
Wenn du nun nicht weisst wieviel Daten vorhanden sind so kannst du mit getallsetting alles auslesen.
dim x
x= getallsettings(appname,section)
Wenn in der Sektion daten vorhanden sind, so kannst du sie dann unter x abfragen. Das ist dann ein Zwei dimensionales Array, was den Schluesselnamen und den Wert beinhaltet.
Achte aber darauf das wenn keine daten vorhanden sind dann x glaub nothing ist. in diesem Falle arbeite mit on error resume next und fange die fehler ab 
Und man muss die Software nicht mal installiert haben und eine
einfache exe-Datei reicht aus???
Für die Aufrufe benötigst du soweit ich weiss keine weiteren Daten. Wenn die VB Runtimes installiert sind, sollte es klappen. Diese VB Runtimes brauchst du ja um überhaupt das EXE File zu starten 
Und die Parameter können dann auch wieder ersetzt werden???
Ja einfach dann den Wert neu speichern unter der gleichen Sektion mit dem gleichen Schluessel. Dann werden die Daten einfach überschrieben.
Bsp:
Es ist nocj kein schluessel vorhanden
dim x$
x=getsetting("XYZ","Setting","Data1","NoEntry")
'x = NoEntry, kein schluessel vorhanden deswegen wird der default
'werd zurueckgegeben
x="Test" 'x wird Test zugewiesen
SaveSetting "XYZ", "Setting", "Data1", x 'Variable wird gespeichert
x="" 'X wird auf "" festegelgt
x=getsetting("XYZ","Setting","Data1","NoEntry") 'Daten auslesen
'x=Test da der Wert vorhanden ist und ausgelesen wird
x="NeuerEintrag"' X wird eine neue Zeichenfolge zugewiesen
SaveSetting "XYZ", "Setting", "Data1", x 'x wird gespeichert und
'es wird der alte wert ueberschrieben
x="" 'X wird auf "" festgelegt
x=getsetting("XYZ","Setting","Data1","NoEntry") Daten auslesen
'x=NeuerEintrag
Ich frage nur nochmal nach.
Wow, das is aber schon gut, das man das mal weiss.
Für solche Faelle gibt es ja das Forum 
Da kann ich ja einiges in meinem Programm verändern und
optimieren und ein paar Parameter können nun direkt
gespeichert werden.
genau, so macht es der groesste anteil der Programmierer da es der einfachste / schnellste und sicherste weg ist. Somal wenn du die Daten in einem INI File speichern würdest, dieses auf 64 KB begrenzt waere und du gefahr kläufst das das File schnell geaendert werden kann ( In der Registry rummuddeln traut sich nicht jeder) und bei das das File zerstört / gelöscht werden koennte.
Du musst halt nur aufpassen das du die Rechte hast zum schreiben in die Registry. wie man das am einfachsten rausbekommt?
–> Programmstart
schreiben eines Dummy Eintrages in die Registry
lesen des wertes
löschen des dummy eintrages
tritt ein fehler auf so weisst du das du diese variante nicht nehmen kannst
Dann greife zur not auf ein Ini File
Mfg Werner
MFG Alex