Momentálne ste offline a čaká sa, kým sa znova pripojíte na internet

Ako enumerácia hodnôt kľúča databázy Registry

DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:178755
Tento článok bol archivovaný. Je publikovaný v aktuálnej podobe a už nebude aktualizovaný.
SUHRN
V RegEnumValue funkcia umožňuje enumerácia hodnôt kľúča databázy registry. Nastavenia programu sú zvyčajne uložené v databáze registry. Enumerácia pomocou kľúča databázy registry umožňuje čítať nastavenia databázy registry programu tak, že môžete obnoviť nastavenia nabudúce spustíte program.

Tento článok vám ukáže, ako používať RegEnumValue Funkcia enumerácia hodnôt kľúča databázy registry.
DALSIE INFORMACIE
Takto je vyhlásenie vyhlásenie jazyka Visual Basic pre RegEnumValue:
   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				
POZNÁMKA: Deklarácie funkcie uvedené v text prehliadač API preRegEnumValue funkcia je nesprávna. Piateho parametra, lpReserved, by prešiel hodnotou, ako je to znázornené vyššie. Pre viac informácií pozri článok v databáze Microsoft Knowledge Base:
173009 PRB: Chyba v režime Runtime 87 pomocou RegEnumValue funkcie
V ďalšej časti ilustruje, ako vytvoriť vzorky projekt, ktorý zobrazujehodnoty zadaný kľúč databázy registry v zozname.

Podrobný príklad

  1. Začať nový štandard EXE projekt v jazyku Visual Basic. Form1 sa vytvorí na základe predvoleného nastavenia.
  2. Pridať CommandButton a ovládací prvok zoznam Form1. Pretože mnohé z poznámok sú zdĺhavé, ListBox by zasahujúcim v plnej šírke forme. Výška ListBox by malo byť niekoľko riadkov.
  3. Prilepte nasledujúci kód do okna pre kód z Form1:
          Option Explicit      Private Declare Function RegOpenKeyEx Lib "advapi32.dll" _          Alias "RegOpenKeyExA" _          (ByVal hKey As Long, _          ByVal lpSubKey As String, _          ByVal ulOptions As Long, _          ByVal samDesired As Long, phkResult As Long) 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 Declare Function RegCloseKey Lib "advapi32.dll" _          (ByVal hKey As Long) As Long      Const HKEY_CLASSES_ROOT = &H80000000      Const HKEY_CURRENT_USER = &H80000001      Const HKEY_LOCAL_MACHINE = &H80000002      Const HKEY_USERS = &H80000003      Const ERROR_SUCCESS = 0&      Const SYNCHRONIZE = &H100000      Const STANDARD_RIGHTS_READ = &H20000      Const STANDARD_RIGHTS_WRITE = &H20000      Const STANDARD_RIGHTS_EXECUTE = &H20000      Const STANDARD_RIGHTS_REQUIRED = &HF0000      Const STANDARD_RIGHTS_ALL = &H1F0000      Const KEY_QUERY_VALUE = &H1      Const KEY_SET_VALUE = &H2      Const KEY_CREATE_SUB_KEY = &H4      Const KEY_ENUMERATE_SUB_KEYS = &H8      Const KEY_NOTIFY = &H10      Const KEY_CREATE_LINK = &H20      Const KEY_READ = ((STANDARD_RIGHTS_READ Or _                        KEY_QUERY_VALUE Or _                        KEY_ENUMERATE_SUB_KEYS Or _                        KEY_NOTIFY) And _                        (Not SYNCHRONIZE))      Const REG_DWORD = 4      Const REG_BINARY = 3      Const REG_SZ = 1      Private Sub Command1_Click()         Dim lngKeyHandle As Long         Dim lngResult As Long         Dim lngCurIdx As Long         Dim strValue As String         Dim lngValueLen As Long         Dim lngData As Long         Dim lngDataLen As Long         Dim strResult As String         lngResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _                 "SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls", _                  0&, _                  KEY_READ, _                  lngKeyHandle)         If lngResult <> ERROR_SUCCESS Then             MsgBox "Cannot open key"             Exit Sub         End If         lngCurIdx = 0         Do            lngValueLen = 2000            strValue = String(lngValueLen, 0)            lngDataLen = 2000            lngResult = RegEnumValue(lngKeyHandle, _                                     lngCurIdx, _                                     ByVal strValue, _                                     lngValueLen, _                                     0&, _                                     REG_DWORD, _                                     ByVal lngData, _                                     lngDataLen)            lngCurIdx = lngCurIdx + 1         If lngResult = ERROR_SUCCESS Then            strResult = lngCurIdx & ": " & Left(strValue, lngValueLen)            List1.AddItem strResult         End If         Loop While lngResult = ERROR_SUCCESS         Call RegCloseKey(lngKeyHandle)      End Sub					
  4. Na Štart ponuky, kliknite na tlačidlo Spustiť, alebo stlačte kláves F5, čím spustíte program. Kliknite na položku CommandButton. Všetky hodnoty pre nasledujúci kľúč databázy registry sa zobrazia v poli zoznam:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDlls
ODKAZY
Ďalšie informácie o používaní programu Visual Basic manipulovať nastavenia databázy registry, po kliknutí na nasledovné čísla článkov databázy Microsoft Knowledge Base:
145679 Ako používať Registry API uložiť a obnoviť nastavenia
267908 Ako vypočítať podkľúče otvoriť kľúč databázy Registry
Win32 api winapi kbRegistry

Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 178755 – Posledná kontrola: 12/05/2015 08:16:11 – Revízia: 2.0

Microsoft Visual Basic 5.0 Learning Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition

  • kbnosurvey kbarchive kbapi kbhowto kbmt KB178755 KbMtsk
Pripomienky