| |
|
|
|
Beschreibung:
RegSetValueEx speichert Daten in einem geöffneten Registryschlüssel.
Deklaration:
DEF @RegSetValueEx(6) !ADVAPI32,RegSetValueExA
Parameter:
1.Parameter: Handle eines schon geöffneten Keys als LongInt oder folgende vordefinierte Werte => -HKEY_CLASSES_ROOT = $80000000 -HKEY_CURRENT_USER = $80000001 -HKEY_LOCAL_MACHINE = $80000002 -HKEY_USERS = $80000003 2.Parameter: Adresse des Namens des zu ändernden Wertes oder Bereichsvariable mit dem Namens des zu ändernden Wertes. 3.Parameter: Reserviert, muß 0 sein. 4.Parameter: Flag, der den Typ des ausgelesenen Wertes angibt => -$3 = Binärer Schlüssel (Bytefolge unterschiedlicher Größe). -$4 = 4 Byte oder LongIntwert. Oft werden nur die zwei oberen Bytes des Wertes berücksichtigt. -$5 = 4 Byte oder LongIntwert. Die unteren 2 Byte des Wertes werden berücksichtigt. -$2 = String mit abschließendem Nullbyte. Kann Umgebungsvariablen enthalten. -$6 = Ein symbolischer Link im Unicode Format. -$7 = Ein Array nullterminierter Strings. -$0 = Nicht definierter Datentyp. -$8 = Treiber Resourcenliste. -$1 = String mit abschließendem Nullbyte ohne Umgebungsvariablen. 5.Parameter: Bereichvariable mit den Daten, die gespeichert werden sollen. 6.Parameter: Die Größe des abzuspeichernden Bereichs in Byte von Parameter 5.
Rückgabewert:
0 bei Erfolg, bei Misserfolg ein Wert <>0 (Fehlercode).
Beispiele:
KompilierenMarkierenSeparierenDeclare Handle#,FEHLER&,Key#,Name#,Wert#,Size#,Type#,Button&
Declare WriteWert$,Wert2#
DEF @RegCloseKey(1) !"ADVAPI32","RegCloseKey"
DEF @RegSetValueEx(6) !"ADVAPI32","RegSetValueExA"
DEF @RegCreateKey(3)!"ADVAPI32","RegCreateKeyA"
DEF @RegDeleteKey(2) !"ADVAPI32","RegDeleteKeyA"
Windowstyle 31
Windowtitle "Registryschlüssel erstellen"
Window 0,0-640,440
Let Button&=@Createbutton(%HWND,"Schlüssel löschen",20,300,200,30)
DIM Key#,260
DIM Handle#,4
DIM Name#,250
DIM Size#,4
DIM Wert#,260
DIM Wert2#,4
Dim Type#,4
String Key#,0="SoftwareAH Test"
LET Fehler&=@RegCreateKey($80000001,Key#,Handle#)
Print "Fehlercode beim Erstellen/Öffenen des Schlüssels SoftwareAH Test: ";Fehler&
IF Fehler&=0
LET Writewert$="Meine Software"
String Wert#,0="Softwarepfad"
LET FEHLER&=@RegSetValueEx(@Long(Handle#,0),@addr(WriteWert$),0,1,Wert#,@len("Softwarepfad")+1)
Print "Fehlercode RegSetValueEx Softwarepfad: ";Fehler&
LET Writewert$="Seriennummer"
Long Wert2#,0=22334
LET FEHLER&=@RegSetValueEx(@Long(Handle#,0),@addr(WriteWert$),0,4,Wert#,4)
Print "Fehlercode RegSetValueEx Seriennummer: ";Fehler&
LET Writewert$="Byteliste"
Clear Wert#
Byte Wert#,0=65
Byte Wert#,1=66
Byte Wert#,2=67
Byte Wert#,3=68
LET FEHLER&=@RegSetValueEx(@Long(Handle#,0),@addr(WriteWert$),0,3,Wert#,10)
Print "Fehlercode RegSetValueEx Byteliste: ";Fehler&
Print "Fehlercode RegCloseKey: ";@RegCloseKey(@Long(Handle#,0))
Endif
Dispose Type#
Dispose Wert#
Dispose Wert2#
Dispose key#
Dispose Handle#
Dispose Name#
Dispose Size#
While 0=0
Waitinput
If @Getfocus(Button&)
DIM Key#,260
Print ""
String Key#,0="SoftwareAH Test"
LET Fehler&=@RegDeleteKey($80000001,Key#)
Print "Fehlercode beim Löschen des Schlüssels SoftwareAH Test: ";Fehler&
Dispose key#
@SetFocus(%HWND)
endif
wend
|
|
|
| |
|
|