Español
Fuente/ Codesnippets

Auslesen Infos Registry Registryschlüssel

 

KompilierenMarcaSeparación
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Registry: Infos über Registryschlüssel auslesen
Def @Regopenkeyex(5) !ADVAPI32,RegOpenKeyExA
Def @Regenumkey(4) !ADVAPI32,RegEnumKeyA
Def @Regclosekey(1) !ADVAPI32,RegCloseKey
Def @Initcommoncontrols(0) !COMCTL32,InitCommonControls
Def @Regqueryinfokey(12) !ADVAPI32,RegQueryInfoKeyA
Def @Getsyscolor(1) !USER32,GetSysColor
@Initcommoncontrols()
Declare Class#,Classsize&,Subkeys&,Greatest&,Maxclasslen&
Declare Values&,Maxvaluenamelen&,Maxvaluelen&,Secdesclänge&,Filetime#
Declare Fehler&,Cl_name&
Declare Himagelist&,Hicon&,Executehandle&,Root1&,Root&[2,3,10],Root11&
Declare Imagelist&,Tv_insert#,Tv_text#,Tv_item#,Reg_key$,Reg_root$,Reg_ergebnis$
Declare Unterlage7&,Tv_item_handle&,Tv_item_handle2&
Declare Reg_ergebnis#,Reg_error&,Reg_handle&
Declare Reg_zähler%,Tv_item_handle1&
Declare Cl_länge&,Sk_anzahl&,Sk_länge&,Cl_längemax&,W_anzahl&
Declare Wn_länge&,W_länge&,Secdesc_länge&
Dim Tv_text#,261
Dim Reg_ergebnis#,261
Declare Treeview&
Dim Tv_insert#,48
Dim Tv_item#,40

Proc Tvinsert

    String Tv_text#,0=@$(2)Der Text im Label
    Long Tv_insert#,0=@&(1)TVins-Parent
    Long Tv_insert#,8=$0001
    Long Tv_insert#,24=Tv_text#Adress of Label

Endproc

Windowstyle 31+512
Window 10,50-600,420
Windowtitle Infos über Registrykeys auslesen
Settruecolor 1
Cls @Getsyscolor(15)
Let Unterlage7&=@Control(Dialog,,$40000000+$10000000,10,50,600,320,%Hwnd,3,%Hinstance)
Let Treeview&=@Control(SysTreeView32,,$40000000+$10000000+$800000+$200000+$0002+$0010+$0020,40,20,250,300,Unterlage7&,200,%Hinstance)
@Sendmessage(Treeview&,$1109,0,Imagelist&)Associate the image list with the tree
Let Cl_name&=@Createtext(%Hwnd,Klassenname=,310,50,400,30)
Let Cl_länge&=@Createtext(%Hwnd,Länge des Klassennamens=,310,85,400,30)
Let Sk_anzahl&=@Createtext(%Hwnd,Anzahl der Unterschlüssel=,310,190,400,30)
Let Sk_lÄnge&=@Createtext(%Hwnd,Läng des größten Unterschlüssels=,310,155,400,30)
Let Cl_längemax&=@Createtext(%Hwnd,Länge des längsten Klassennamens=,310,120,400,30)
Let W_anzahl&=@Createtext(%Hwnd,Anzahl der Werte im Schlüssel=,310,225,400,30)
Let Wn_länge&=@Createtext(%Hwnd,Länge des größten Wertenamens=,310,260,400,30)
Let W_länge&=@Createtext(%Hwnd,Länge des größten Wertes=,310,295,400,30)
Let Secdesc_länge&=@Createtext(%Hwnd,Länge des Security Descriptors=,310,330,400,30)
@Sendmessage(Treeview&,$111D,0,@Rgb(255,255,220))
@Sendmessage(Treeview&,$111E,0,@Rgb(255,70,100))
Tvinsert 0,HKEY_LOCAL_MACHINE,$0010
@Sendmessage(Treeview&,$1100,0,Tv_insert#)
Tvinsert 0,HKEY_USERS,$0010
@Sendmessage(Treeview&,$1100,0,Tv_insert#)
Clear Tv_item#,Tv_text#

While %Menuitem<>-2

    Sleep 100
    Let Tv_item_handle1&=@Sendmessage(Treeview&,$110A,$0009,0)

    If Tv_item_handle1&<>Tv_item_handle&

        Enablewindow Treeview&,0
        Usecursor 2
        Let Reg_key$=
        Let Reg_root$=
        Let Tv_item_handle&=Tv_item_handle1&
        Clear Tv_item#,Tv_text#
        Long Tv_item#,0=$11
        Long Tv_item#,20=261
        Long Tv_item#,16=Tv_text#
        Long Tv_item#,4=Tv_item_handle&
        @Sendmessage(Treeview&,$110C,0,Tv_item#)
        Let Reg_key$=@String$(Tv_text#,0)
        Let Tv_item_handle2&=Tv_item_handle&

        While Tv_item_handle2&<>0

            Let Tv_item_handle2&=@Sendmessage(Treeview&,$110A,$3,Tv_item_handle2&)

            If Tv_item_handle2&<>0

                Clear Tv_item#,Tv_text#
                Long Tv_item#,0=$11
                Long Tv_item#,20=261
                Long Tv_item#,16=Tv_text#
                Long Tv_item#,4=Tv_item_handle2&
                @Sendmessage(Treeview&,$110C,0,Tv_item#)
                Let Reg_key$=+Reg_key$
                Let Reg_key$=@String$(Tv_text#,0)+Reg_key$

            Endif

        Wend

        Let Reg_root$=@Substr$(Reg_key$,1,)

        If Reg_root$<>

            Let Reg_key$=@Translate$(Reg_key$,Reg_root$,)
            Case Left$(Reg_key$,1)= : Let Reg_key$=@Right$(Reg_key$,@Len(Reg_key$)-1)

        Else

            Let Reg_root$=Reg_key$
            Let Reg_key$=

        Endif

        While @Sendmessage(Treeview&,$110A,$4,Tv_item_handle&)<>0

            Let Tv_item_handle2&=@Sendmessage(Treeview&,$110A,$4,Tv_item_handle&)
            @Sendmessage(Treeview&,$1101,0,Tv_item_handle2&)

        Wend

        If Reg_root$=HKEY_USERS

            Let Reg_error&=@Regopenkeyex($80000003,@Addr(Reg_key$),0,$20019,@Addr(Reg_handle&))

        Elseif Reg_root$=HKEY_LOCAL_MACHINE

            Let Reg_error&=@Regopenkeyex($80000002,@Addr(Reg_key$),0,$20019,@Addr(Reg_handle&))

        Else

            Let Reg_error&=2

        Endif

        Let Reg_zÄhler%=0

        Whilenot Reg_error&

            Let Reg_error&=@Regenumkey(Reg_handle&,Reg_zähler%,Reg_ergebnis#,261)

            If Reg_error&=0

                Let Reg_ergebnis$=@String$(Reg_ergebnis#,0)
                Tvinsert Tv_item_handle&,Reg_ergebnis$,$0010
                @Sendmessage(Treeview&,$1100,0,Tv_insert#)

            Endif

            Inc Reg_zähler%

        Wend

        Dim Class#,261
        Dim Filetime#,8
        Let Classsize&=261
        Let Fehler&=@Regqueryinfokey(Reg_handle&,Class#,@Addr(Classsize&),0,@Addr(Subkeys&),@Addr(Greatest&),@Addr(Maxclasslen&),@Addr(Values&),@Addr(Maxvaluenamelen&),@Addr(Maxvaluelen&),@Addr(Secdesclänge&),Filetime#)
        Settext Cl_name&,Klassenname=+@String$(Class#,0)
        Settext Cl_länge&,Länge des Klassennamens=+@Str$(Classsize&)
        Settext Sk_anzahl&,Anzahl der Unterschlüssel=+@Str$(Subkeys&)
        Settext Sk_länge&,Länge des größten Unterschlüssels=+@Str$(Greatest&)
        Settext Cl_längemax&,Länge des größten Klassennamens=+@Str$(Maxclasslen&)
        Settext W_anzahl&,Anzahl der Werte im Schlüssel=+@Str$(Values&)
        Settext Wn_länge&,Länge des größten Wertenamens=+@Str$(Maxvaluenamelen&)
        Settext W_länge&,Länge des größten Wertes=+@Str$(Maxvaluelen&)
        Settext Secdesc_länge&,Länge des Security Descriptors=+@Str$(Secdesclänge&)
        Dispose Filetime#
        Dispose Class#
        @Regclosekey(Reg_handle&)
        @Sendmessage(Treeview&,$1113,0,Tv_item_handle&)
        Usecursor 0
        Enablewindow Treeview&,1

    Endif

    Drawtext 0,0,REG_ROOT$=+Reg_root$+@Space$(255)
    Drawtext 0,20,REG_KEY$=+Reg_key$+@Space$(255)

Wend

Dispose Tv_item#
Dispose Tv_te
class=s4 href='./../../funzione-riferimenti/XProfan/disponer/'>Disponer Tv_insert# Disponer Reg_ergebnis#
 
16.07.2007  
 



Zum Quelltext


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.731 Views

Untitledvor 0 min.
Georg Teles26.03.2023
Julian Schmidt11.10.2012
Oliver Hahn14.03.2012
AndreasS24.11.2011
Más...

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