Español
Stammtisch & Café

RegSaveKey.

 


Descripción:

RegSaveKey speichert una Schlüssel y todos Unterschlüssel en binärer Form en un Expediente. Bajo NT-basierten Systemen es a Speicherung el Privileg ‚SeBackupPrivilege’ nötig, el vorher aktiviert voluntad muß.




Deklaration:

DEF @RegSaveKey(3)!ADVAPI32,RegSaveKeyA




Parámetro:

1.Parámetro: Handle uno geöffneten Keys (dessen Unterschlüssel uno listen möchte) como LongInt oder folgende Werte =>
-HKEY_CLASSES_ROOT = $80000000
-HKEY_CURRENT_USER = $80000001
-HKEY_LOCAL_MACHINE = $80000002
-HKEY_USERS = $80000003
2.Parámetro: Adresse uno Cuerdas oder Bereichsvariable con String, el el Dateinamen angibt, en el el Schlüsselfolge gespeichert voluntad se.
3.Parámetro: Bereichsvariable oder Struktur, el el Zugriffsrechte para el Expediente festlegt. Dieser Parámetro kann auch 0 ser.



Rückgabewert:

0 en Erfolg, en Misserfolg una Valor <>0 (Fehlercode).


Beispiele:

KompilierenMarcaSeparación
DEF @RegSaveKey(3)!"ADVAPI32","RegSaveKeyA" Speichert eine Schlüsselfolge in einen Hive.
DEF @RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA" Liefert Handle eines Registryschlüssels und öffnet ihn.
DEF @RegCloseKey(1) !"ADVAPI32","RegCloseKey" Schließt eine geöffneten Registryschlüssel.
DEF @LookupPrivilegeName(4)!"advapi32","LookupPrivilegeNameA" Ermittelt aus dem Luid eines Privilegs dessen Namen.
DEF @LookupPrivilegeValue(3) !"advapi32","LookupPrivilegeValueA" Ermittelt aus dem Namen eines Privilegs dessen Luid.
DEF @OpenProcessToken(3) !"advapi32","OpenProcessToken" Öffnet Einstellprozess.
DEF @AdjustTokenPrivileges(6) !"advapi32","AdjustTokenPrivileges" Stellt Privilegien ein.
DEF @GetCurrentProcess(0) !"kernel32","GetCurrentProcess" Ermittel das Handle des aktiven Prozesses.
Declare Fehler&,Schlüssel$,Handle#,Handle&,Button&,SaveFile$,IO%
Declare NewState#,Luid1#,Luid2#,Privileg1#,Token&,token#,ZAHL2&,ZAHL1&
Declare BUFFER#,OLDVALUE#,out#,Größe#,System$
Der Folgende Codeanteil ist nur unter NT-basierten nötig
DIM token#,4
DIM NewState#,16
DIM Luid1#,8
DIM Privileg1#,256
DIM BUFFER#,4
DIM OUT#,256
Dim Größe#,4
DIM OLDVALUE#,256
Clear Out#,OLDVALUE#,Größe#,BUFFER#,Privileg1#,Luid1#,token#,System$
Long NewState#,0=1 Nur ein Privileg soll geändert werden
Long NewState#,12=$00000002 Das Privileg soll eingeschaltet werden
LET FEHLer&=@OpenProcessToken(@GetCurrentProcess(),$0020 | $0008,Token#) Es wird ein Process mit dem Handle Token gestartet, der Privilegien für mein Programm einstellen soll.
Addstring "Fehlercode OpenProcessToken: "+@str$(Fehler&) Wenns geklappt hat, dann 1.
let token&=@long(token#,0) Das Handle des Einstellprozesses wird ausgelesen.
String Privileg1#,0="SeBackupPrivilege" Privileg für RegSaveKey
LET FEHLer&=@LookupPrivilegeValue(@addr(System$),Privileg1#,LUID1#) Wenn ich es richtig vestanden habe, wird hier aus dem Privilegnamen eine Art lokales Handle für dieses Privileg ermittelt.
Addstring "Fehlercode LookupPrivilegeValue: "+@STR$(Fehler&) Wenns geklappt hat, dann 1.
Byte NewState#,4=@Byte(Luid1#,0)
Byte NewState#,5=@Byte(Luid1#,1)
Byte NewState#,6=@Byte(Luid1#,2)
Byte NewState#,7=@Byte(Luid1#,3)
Byte NewState#,8=@Byte(Luid1#,4)
Byte NewState#,9=@Byte(Luid1#,5)
Byte NewState#,10=@Byte(Luid1#,6)
Byte NewState#,11=@Byte(Luid1#,7)
clear buffer#
LET ZAHL1&=256
LET ZAHL2&=0
LET FEHLER&=@AdjustTokenPrivileges(Token&,ZAHL2&,NewState#,ZAHL1&,Oldvalue#,Buffer#) Das Privileg wird aktiviert.
Addstring "Fehlercode AdjustTokenPrivileges: "+@str$(Fehler&) Wenns geklappt hat, dann 1.
Addstring "SIZE: "+@str$(@long(Buffer#,0))
Long Größe#,0=256
@LookupPrivilegeName(@addr(System$),LUID1#,OUT#,Größe#) Aus dem ersten Luid wird wieder der Privilegname ermittelt.
Addstring "PRIVILEG: "+@string$(Out#,0) Nur Rückmeldung, ob es geklappt hat.
Dispose Luid1#
Dispose Privileg1#
Dispose token#
Dispose Newstate#
Dispose OUT#
Dispose Größe#
Ab hier wird abgespeichert
Let Schlüssel$=""
Let SaveFile$="C:REGHIVE"
DIM Handle#,4
Let Fehler&=@RegOpenKeyEx($80000001,@addr(Schlüssel$),0,$F003F,Handle#) ...hole das Handle des Hive...
ADDSTRING "Errorcode Handle des Hive holen: "+@Str$(Fehler&)
Let Handle&=@long(Handle#,0) ..Handle für Startpunkt des Hives wird ausgelesen....
Let Fehler&=@RegSaveKey(Handle&,@addr(SaveFile$),0) ...speichere den Hive unter C:REGHIVE...
ADDSTRING "Errorcode Hive abspeichern: "+@Str$(Fehler&)
Let Fehler&=@RegCloseKey(Handle&) ...mach "die Kiste" zu..
ADDSTRING "Errorcode Schlüssel schließen: "+@Str$(Fehler&)
Dispose Handle#
Windowtitle "Abspeichern des Registryschlüssels Current_User in binärer Form"
WindowStyle 31
Window 0,0-640,440
Let Button&=@CreateButton(%HWND,"Gespeicherten Hive löschen?",20,300,250,30)
@EditBox("API-Rückmeldungen",1)
CHDIR "C:"

IF FindFirst$("REGHIVE")=""

    EnableWindow Button&,0

endif

While 0=0

    Waitinput

    IF @Getfocus(Button&)

        LET IO%=%IORESULT
        Assign #1,"C:REGHIVE"
        SetFAttr #1,$20
        Erase #1
        CHDIR "C:"

        IF FindFirst$("REGHIVE")=""

            @Messagebox("Hive wurde gelöscht!","Hinweis",64)
            EnableWindow Button&,0

        endif

    endif

wend


[keywords:ed0c458271]
Hive sichern abspeichern Registry
[/keywords:ed0c458271]
 
17.03.2005  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.107 Views

Untitledvor 0 min.

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie