Deutsch
Quelltexte/ Codesnippets

Auslesen Binärwert Doubleword Registry

 

Alfred
Wagner
hallo profaner

ich möchte einen binärwert aus der registry auslesen und in einen checkbox als abgehakt ,oder auch nicht anzeigen (versuch ich schon seit einigen jahren)
wäre nett wenn einer eine idee dazu hätte

grüsse
alfred
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
21.02.2007  
 



Einen Binärwert oder ein Long?
Ein Binärwert wäre das (Windows98):
KompilierenMarkierenSeparieren
Beispiel zu api_RegQueryValueExA,ADVAPI32
Declare Handle#,Fehler&,Key#,Name#,Wert#,Size#,Type#,Zaehler%,Binaer$
Def @Regopenkeyex(5) !ADVAPI32,RegOpenKeyExA
Def @Regqueryvalueex(6) !ADVAPI32,RegQueryValueExA
Def @Regclosekey(1) !ADVAPI32,RegCloseKey
Windowstyle 31
Windowtitle Aus Registry Binärwert auslesen
Window 0,0-640,440
Dim Key#,513
Dim Handle#,4
Dim Name#,250
Dim Size#,4
Dim Wert#,2000
Dim Type#,4
String Key#,0=SoftwareMicrosoftWindowsCurrentVersion zu öffnender Schlüssel
 $80000002=HKEY_LOCAL_MACHINE
 $80000001=HKEY_CURRENT_USER
Let Fehler&=@Regopenkeyex($80000002,Key#,0,$1,Handle#)
Print Fehlercode beim Öffenen des Schlüssels: +@str$(Fehler&)

If Fehler&=0

    String Name#,0=FirstInstallDateTime auszulesender Wert
    Long Size#,0=2000
    Let Fehler&=@Regqueryvalueex(@Long(Handle#,0),Name#,0,Type#,Wert#,Size#)
    Print Fehlercode beim Auslesen des Schlüssels: +@str$(Fehler&)
    Print
    Print Ausgelesener Wert:
    Clear Zaehler%,Binaer$

    While Zaehler%<@Long(Size#,0)

        LET Binaer$=Binaer$+@Hex$(@Byte(Wert#,Zaehler%))+
        Inc Zaehler%

    wend

    Print Binaer$
    Print Typ des Schlüssels: +@str$(@Long(Type#,0))
    Print Länge des Wertes: +@str$(@Long(Size#,0))+ Bytes
    Print
    @Regclosekey(@Long(Handle#,0))

Endif

Dispose Type#
Dispose Wert#
Dispose Key#
Dispose Handle#
Dispose Name#
Dispose Size#

While 1

    Waitinput

Wend



13 kB
Hochgeladen:22.02.2007
Ladeanzahl249
Herunterladen
 
22.02.2007  
 



Wenn du aber ein Doubleword (oder auch Long) meinst, geht das so:
KompilierenMarkierenSeparieren
Beispiel zu api_RegQueryValueExA,ADVAPI32
Declare Handle#,Fehler&,Key#,Name#,Wert#,Size#,Type#,Zaehler%,Binaer$,Box&
Def @Regopenkeyex(5) !ADVAPI32,RegOpenKeyExA
Def @Regqueryvalueex(6) !ADVAPI32,RegQueryValueExA
Def @Regclosekey(1) !ADVAPI32,RegCloseKey
Windowstyle 31
Windowtitle Aus Registry Binärwert auslesen
Window 0,0-640,440
LET BOX&=@CreateCheckbox(%HWND,Screensaver nicht einstellbar:,10,200,300,30)
Dim Key#,513
Dim Handle#,4
Dim Name#,250
Dim Size#,4
Dim Wert#,4
Dim Type#,4
String Key#,0=SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem zu öffnender Schlüssel
 $80000002=HKEY_LOCAL_MACHINE
 $80000001=HKEY_CURRENT_USER
Let Fehler&=@Regopenkeyex($80000001,Key#,0,$1,Handle#)
Print Fehlercode beim Öffenen des Schlüssels: +@str$(Fehler&)
Clear Wert#

If Fehler&=0

    String Name#,0=NoDispScrSavPage auszulesender Wert
    Long Size#,0=4
    Let Fehler&=@Regqueryvalueex(@Long(Handle#,0),Name#,0,Type#,Wert#,Size#)
    Print Fehlercode beim Auslesen des Schlüssels: +@str$(Fehler&)
    Print
    Print Ausgelesener Wert: +@str$(@long(Wert#,0))
    Print Typ des Schlüssels: +@str$(@Long(Type#,0))
    Print Länge des Wertes: +@str$(@Long(Size#,0))+ Bytes
    Print
    @Regclosekey(@Long(Handle#,0))

Endif

SetCheck Box&,@Long(Wert#,0)
Dispose Type#
Dispose Wert#
Dispose Key#
Dispose Handle#
Dispose Name#
Dispose Size#

While 1

    Waitinput

Wend


Was war gesucht?
 
22.02.2007  
 




Alfred
Wagner
hallo Andreas
danke für deine Hilfe

der zweite code war es.

hab ihn aber ein wenig abändern müssen weil das häkchen auf der checkbox beim wert null eingeschaltet sein soll.

hab zuerst den wert in eine test.ini geschrieben,und danach ausgelesen.
KompilierenMarkierenSeparieren
Beispiel zu api_RegQueryValueExA,ADVAPI32
Declare Handle#,Fehler&,Key#,Name#,Wert#,Size#,Type#,Zaehler%,Binaer$,Box&
Def @Regopenkeyex(5) !ADVAPI32,RegOpenKeyExA
Def @Regqueryvalueex(6) !ADVAPI32,RegQueryValueExA
Def @Regclosekey(1) !ADVAPI32,RegCloseKey
@Set(ErrorLevel, 0)
Windowstyle 31
Windowtitle Aus Registry Binärwert auslesen
Window 0,0-640,440
Def Home(0) Translate$(Upper$(Par$(0)),Upper$(FindFirst$(Par$(0))),)
Declare Inifile$
LET home$ = @Par$(0)
IniFile$ = Home()+ Test.ini
LET BOX&=@CreateCheckbox(%HWND,Eindeutige Player - ID  NICHT  an Inhaltsanbieter senden,10,200,450,15)
Dim Key#,513
Dim Handle#,4
Dim Name#,250
Dim Size#,4
Dim Wert#,4
Dim Type#,4
String Key#,0=SoftwareMicrosoftMediaPlayerPreferenceszu öffnender Schlüssel
 $80000002=HKEY_LOCAL_MACHINE
 $80000001=HKEY_CURRENT_USER
Let Fehler&=@Regopenkeyex($80000001,Key#,1,$F003F,Handle#)
Print Fehlercode beim Öffenen des Schlüssels: +@str$(Fehler&)
Clear Wert#
String Name#,0=SendUserGUIDauszulesender Wert
Long Size#,0=4
Let Fehler&=@Regqueryvalueex(@Long(Handle#,0),Name#,0,Type#,Wert#,Size#)
Print Fehlercode beim Auslesen des Schlüssels: +@str$(Fehler&)
Print
Print Ausgelesener Wert: +@str$(@long(Wert#,0))
WriteIni IniFile$,SendUserGUID,Wert=+@str$(@long(Wert#,0))Wert in die Test.ini schreiben
Print Typ des Schlüssels: +@str$(@Long(Type#,0))
Print Länge des Wertes: +@str$(@Long(Size#,0))+ Bytes
Print
@Regclosekey(@Long(Handle#,0))
Declare Wert$Falls Wert nicht vorhanden
Wert$=ReadIni$(HKEY_1,SoftwareMicrosoftMediaPlayerPreferences,SendUserGUID)

If %ERROR

    WriteIni IniFile$,SendUserGUID,Wert=nicht vorhanden

Endif

Wert von der Test.INI auslesen und Checkbox bei einem Binärwert von null abhaken

If Readini$(IniFile$,SendUserGUID,Wert)=1

    Setcheck BOX&,0
    Print Wert ist 1

Elseif Readini$(IniFile$,SendUserGUID,Wert)=0

    Setcheck BOX&,1
    Print Wert ist 0

Elseif Readini$(IniFile$,SendUserGUID,Wert)=nicht vorhanden

    Setcheck BOX&,1
    Print Wert in der Registry nicht vorhanden

Endif

Dispose Type#
Dispose Wert#
Dispose Key#
Dispose Handle#
Dispose Name#
Dispose Size#

While 1

    Waitinput

Wend


danke nochmal für deine hilfe

grüsse

Alfred mit Familie
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
22.02.2007  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.774 Betrachtungen

Unbenanntvor 0 min.
Georg Teles26.03.2023
Andre Rohland31.01.2018
H.Brill24.12.2014
Oliver Hahn14.03.2012

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

unbekannt (2x)
Alfred Wagner (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie