Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: wyszukiwanie kluczy w rejestrze za pomoca vb
netu



Typ: neutral
Postów: 119
Zarejestrowany: Jun 2003
wyszukiwanie kluczy w rejestrze za pomoca vb

mam taki dosc spory problem z rejestrem:

czy da sie w jakis sposob znalesc jakis klucz (za pomoca vb) w rejestrze (np: w galezi HKEY_USERS znalesc klucz "franek" i zapisac wszystkie jego wartosci np: do zmiennych lub pliku?

po prostu nie wiem jak sie nazywaja pokolei klucze bo na kazdym kompie te klucze sa inne. (w tej galezi)

ten modul z funkcjami do rejestru to ja mam jak by cos
pozdro. netu


_____________________________________________
To co dzieje się teraz i po teraz 
tak długo nie ma znaczenia 
dopóki jutro jutra jest takie samo jak wczoraj wczoraj. 
                                Murphy

02-02-2004 18:17
Pokaż profil netu  Wyślij email do netu        4335686
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

Sorki, że nie na temat
Ja mam tylko taki moduł co zapisuje, odczytuje dane z konkretnego klucza (trzeba podać konkretną nazwę klucza). Zainteresowanym mogę podesłać ten moduł na maila


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

02-02-2004 18:38
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
netu



Typ: neutral
Postów: 119
Zarejestrowany: Jun 2003

ale czy on odczyta mi wszystkie wartosci z klucza i jego podkluczy?

ps: wlasnie dostalem Mydoom'a )))


_____________________________________________
To co dzieje się teraz i po teraz 
tak długo nie ma znaczenia 
dopóki jutro jutra jest takie samo jak wczoraj wczoraj. 
                                Murphy

02-02-2004 20:49
Pokaż profil netu  Wyślij email do netu        4335686
netu



Typ: neutral
Postów: 119
Zarejestrowany: Jun 2003

ale czy on odczyta mi wszystkie wartosci z klucza i jego podkluczy?
jesli tak to bardzo bym byl za niego wdzieczny.


ps: wlasnie dostalem Mydoom'a )))

sorki ze 2 razy

[Post edytowany dnia 02-02-2004 20:51 przez netu]


_____________________________________________
To co dzieje się teraz i po teraz 
tak długo nie ma znaczenia 
dopóki jutro jutra jest takie samo jak wczoraj wczoraj. 
                                Murphy

02-02-2004 20:49
Pokaż profil netu  Wyślij email do netu        4335686
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

Odczytuje wartość KONKRETNEGO klucza w KONKRETNYM "folderze" :-( Dlatego napisałem, że moja wypowiedź jest nie na temat, bo ktoś czytający wątek może stwierdzić że ten moduł może mu wystarczyć (poza tym taka odpowiedź jest lepsza niż w stylu "nie wiem"


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

02-02-2004 21:26
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
netu



Typ: neutral
Postów: 119
Zarejestrowany: Jun 2003

ahhh. szkoda. zalezalo by mi bardziej na wyszukiwaniu. no moze sam do tego dojde (jakims wielkim cudem )


_____________________________________________
To co dzieje się teraz i po teraz 
tak długo nie ma znaczenia 
dopóki jutro jutra jest takie samo jak wczoraj wczoraj. 
                                Murphy

02-02-2004 21:57
Pokaż profil netu  Wyślij email do netu        4335686
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

Oczywiście ze istnieje taka możliwość. Nie wiem czy dzięki funkcjom wbudowanym w vb ale napewno za pomocą Api. Zobacz do ApiGuide do działu "Registry". Znajdziesz tam funkcję RegEnumKeyEx i odrazu przykładzik do niej (wklejam go też na dole). Mam też całą klase do obsługi rejestru za pomocą api (pozwala zaoszczędzić troche czasu - nie trzeba pisać samemy tych funkcji). Tyle ze o ile sobie przypominam była ona nie pełna - kiedyś ją chyba uzupełniłem o brakujące rzeczy ale teraz nie moge tego znaleźć . Tak wiec jak chcesz moge Ci to wysłać

Const ERROR_NO_MORE_ITEMS = 259&
Const HKEY_CURRENT_CONFIG = &H80000005
Const HKEY_LOCAL_MACHINE = &H80000002
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As Any) As Long
Private Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Sub Form_Load()
    'KPD-Team 2001
    'URL: http://www.allapi.net/
    'E-Mail:
    Dim hKey As Long, Cnt As Long, sName As String, sData As String, Ret As Long, RetData As Long
    Const BUFFER_SIZE As Long = 255
    'Set the forms graphics mode to persistent
    Me.AutoRedraw = True
    Me.Print "RegEnumKeyEx"
    Ret = BUFFER_SIZE
    'Open the registry key
    If RegOpenKey(HKEY_LOCAL_MACHINE, "Hardware", hKey) = 0 Then
        'Create a buffer
        sName = Space(BUFFER_SIZE)
        'Enumerate the keys
        While RegEnumKeyEx(hKey, Cnt, sName, Ret, ByVal 0&, vbNullString, ByVal 0&, ByVal 0& ) <> ERROR_NO_MORE_ITEMS
            'Show the enumerated key
            Me.Print "  " + Left$(sName, Ret)
            'prepare for the next key
            Cnt = Cnt + 1
            sName = Space(BUFFER_SIZE)
            Ret = BUFFER_SIZE
        Wend
        'close the registry key
        RegCloseKey hKey
    Else
        Me.Print "  Error while calling RegOpenKey"
    End If
    Me.Print vbCrLf + "RegEnumValue"
    Cnt = 0
    'Open a registry key
    If RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion", hKey) = 0 Then
        'initialize
        sName = Space(BUFFER_SIZE)
        sData = Space(BUFFER_SIZE)
        Ret = BUFFER_SIZE
        RetData = BUFFER_SIZE
        'enumerate the values
        While RegEnumValue(hKey, Cnt, sName, Ret, 0, ByVal 0&, ByVal sData, RetData) <> ERROR_NO_MORE_ITEMS
            'show data
            If RetData > 0 Then Me.Print "  " + Left$(sName, Ret) + "=" + Left$(sData, RetData - 1)
            'prepare for next value
            Cnt = Cnt + 1
            sName = Space(BUFFER_SIZE)
            sData = Space(BUFFER_SIZE)
            Ret = BUFFER_SIZE
            RetData = BUFFER_SIZE
        Wend
        'Close the registry key
        RegCloseKey hKey
    Else
        Me.Print "  Error while calling RegOpenKey"
    End If
End Sub



_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

05-02-2004 01:54
Pokaż profil m-a-x  Wyślij email do m-a-x   
netu



Typ: neutral
Postów: 119
Zarejestrowany: Jun 2003

ooo dzieki. zagladalem w api guide ale chyba nie zaowazylem. zobacze czy o to mi chodzilo bo teraz mam zapieprz w budzie i cos naskrobie

pozdrowienia


_____________________________________________
To co dzieje się teraz i po teraz 
tak długo nie ma znaczenia 
dopóki jutro jutra jest takie samo jak wczoraj wczoraj. 
                                Murphy

05-02-2004 18:41
Pokaż profil netu  Wyślij email do netu        4335686
Wszystkich odpowiedzi: 7 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1