Source wurde am 15.07.2007 aus qui MMJ-Quellcodesammlung (Dietmar Horn) dans qui Babyklappe sur XProfan.Com abgelegt:
Registry: Wert dans einem Registryschlüssel effacer
RegDeleteValue löscht une Wert dans einem Registryschlüssel
L1(Param.1 Longint ): Handle eines déjà geöffneten Keys comme LongInt ou bien folgende vordefinierte Werte =>
HKEY_CLASSES_ROOT = $80000000
HKEY_CURRENT_USER = $80000001
HKEY_LOCAL_MACHINE = $80000002
HKEY_USERS = $80000003
L2(Param.2 Longint ) ou bien B3(Param.3 Bereich ): Handle ou bien Bereichsvariable avec dem Namen des Wertes, qui gelöscht volonté soll.
Déclarer Handle#,Fehler&,Key#,nom#,Wert#,Size#,Type#,Button&,Button2&
Déclarer Writewert$,Wert2#
Def @Regclosekey(1) !ADVAPI32,RegCloseKey
Def @Regsetvalueex(6) !ADVAPI32,RegSetValueExA
Def @Regcreatekey(3)!ADVAPI32,RegCreateKeyA
Def @Regdeletekey(2) !ADVAPI32,RegDeleteKeyA
Def @Regdeletevalue(2) !ADVAPI32,RegDeleteValueA
Def @Regopenkeyex(5) !ADVAPI32,RegOpenKeyExA
Windowstyle 31
Windowtitle Registryschlüssel erstellen
Fenêtre 0,0-640,440
Laisser Button&=@Createbutton(%Hwnd,Schlüssel effacer,20,300,200,30)
Laisser Button2&=@Createbutton(%Hwnd,Werte effacer,320,300,200,30)
Faible Key#,260
Faible Handle#,4
Faible nom#,250
Faible Size#,4
Faible Wert#,260
Faible Wert2#,4
Faible Type#,4
String Key#,0=SoftwareMMJ-Test
Laisser Fehler&=@Regcreatekey($80000001,Key#,Handle#)
Imprimer Fehlercode beim Erstellen/Öffenen des Schlüssels SoftwareMMJ-Test: ;Fehler&
Si Fehler&=0
Laisser Writewert$=mon Software
String Wert#,0=Softwarepfad
Laisser Fehler&=@Regsetvalueex(@Long(Handle#,0),@Addr(Writewert$),0,1,Wert#,@Len(Softwarepfad)+1)
Imprimer Fehlercode RegSetValueEx Softwarepfad: ;Fehler&
Laisser Writewert$=Seriennummer
Long Wert2#,0=22334
Laisser Fehler&=@Regsetvalueex(@Long(Handle#,0),@Addr(Writewert$),0,4,Wert#,4)
Imprimer Fehlercode RegSetValueEx Seriennummer: ;Fehler&
Laisser Writewert$=Byteliste
Claire Wert#
Byte Wert#,0=65
Byte Wert#,1=66
Byte Wert#,2=67
Byte Wert#,3=68
Laisser Fehler&=@Regsetvalueex(@Long(Handle#,0),@Addr(Writewert$),0,3,Wert#,10)
Imprimer Fehlercode RegSetValueEx Byteliste: ;Fehler&
Imprimer Fehlercode RegCloseKey: ;@Regclosekey(@Long(Handle#,0))
Endif
Dispose Type#
Dispose Wert#
Dispose Wert2#
Dispose Key#
Dispose Handle#
Dispose nom#
Dispose Size#
Tandis que 0=0
Waitinput
Si @Getfocus(Button&)
Faible Key#,260
Imprimer
String Key#,0=SoftwareMMJ-Test
Laisser Fehler&=@Regdeletekey($80000001,Key#)
Imprimer Fehlercode beim Effacer des Schlüssels SoftwareMMJ-Test: ;Fehler&
Dispose Key#
@SetFocus(%Hwnd)
Elseif @Getfocus(Button2&)
Imprimer
Faible Key#,260
Faible Handle#,4
Faible nom#,256
String Key#,0=SoftwareMMJ-Test
Laisser Fehler&=@Regopenkeyex($80000001,Key#,0,$F003f,Handle#)
Imprimer Fehlercode beim Öffnen des Schlüssels SoftwareMMJ-Test: ;Fehler&
Si Fehler&=0
String nom#,0=mon Software
Laisser Fehler&=@Regdeletevalue(@Long(Handle#,0),nom#)
Imprimer Fehlercode beim Effacer des Wertes mon Software: ;Fehler&
String nom#,0=Seriennummer
Laisser Fehler&=@Regdeletevalue(@Long(Handle#,0),nom#)
Imprimer Fehlercode beim Effacer des Wertes Seriennummer: ;Fehler&
String nom#,0=Byteliste
Laisser Fehler&=@Regdeletevalue(@Long(Handle#,0),nom#)
Imprimer Fehlercode beim Effacer des Wertes Byteliste: ;Fehler&
Imprimer Fehlercode RegCloseKey: ;@Regclosekey(@Long(Handle#,0))
Endif
Dispose Key#
Dispose Handle#
Dispose nom#
@SetFocus(%Hwnd)
Endif
Wend