vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2014
 
zurück
Rubrik: Registry28.07.01
RegQueryValueEx-Funktion

RegQueryValueEx gibt einen benannten Wert eines Unterschlüssels der Windows-Registry zurück.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  8.008 

Top-Weihnachtsangebote!!
An Weinachten denken ... sich Freude schenken!
Top-Angebote - Sparen Sie bis zu 130,- EUR

Deklaration:

Declare Function RegQueryValueEx Lib "advapi32.dll" _
  Alias "RegQueryValueExA" ( _
  ByVal hKey As Long, _
  ByVal lpValueName As String, _
  ByVal lpReserved As Long, _
  lpType As Long, _
  lpData As Any, _
  lpcbData As Long) As Long

Beschreibung:
RegQueryValueEx gibt einen benannten Wert eines Unterschlüssels der Windows-Registry zurück.

Parameter:
hKeyDer Hauptschlüssel des abzufragenden Unterschlüssels. Kann ein über RegOpenKeyEx geöffneter Schlüssel sein oder eine der hKey-Konstanten.
lpValueNameLegt den Namen des Schlüssel fest, dessen Wert gelesen werden soll.
ReservedReserviert, setzten Sie diese Option auf "0".
lpTypeErwartet eine der "lpType"-Konstante, über welche die Zugriffsart festlegt wird.
lpDataPuffer, der die Daten entgegennimmt.
lpcbDataGibt die Puffergröße in Bytes an.

hKey Konstanten:

' Einstellungen des aktuellen Anwenders
' z.B. Anwender- und Desktop-Einstellungen (Farb-/Soundkonfiguration
' Hardware-Konfiguration, Netzwerkprotokolle, Software-Klassen
Private Const HKEY_LOCAL_MACHINE = &H80000002
 
' Teil von HKEY_LOCALE_MACHINE
' Enthält Definitionen für Dokumenttypen, Dateizuordnungen
' und Shell-Schnittstelle
Private Const HKEY_CLASSES_ROOT = &H80000000
 
Private Const HKEY_USERS = &H80000003
 
' Einstellungen des aktuellen Anwenders
Private Const HKEY_CURRENT_USER = &H80000001
 
' (Win NT/2000) Performance Dataschlüssel
Private Const HKEY_PERFORMANCE_DATA = &H80000004
 
' (Win 95/98) Dynamisch Daten
Private Const HKEY_DYN_DATA = &H80000006
 
' Aktuelle Konfiguration
Private Const HKEY_CURRENT_CONFIG = &H80000005

Rückgabewert:
Bei erfolgreichem Funktionsaufruf ist der Rückgabewert 0, andernfalls wird ein Wert ungleich 0 zurückgeliefert, der den Fehlercode wiedergibt.


Beispiel:

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 RegQueryValueEx Lib "advapi32.dll" _
  Alias "RegQueryValueExA" ( _
  ByVal hKey As Long, _
  ByVal lpValueName As String, _
  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
 
' RegOpenKeyEx hKey-Konstanten
' ----------------------------
 
' Einstellungen des aktuellen Anwenders
' z.B. Anwender- und Desktop-Einstellungen (Farb-/Soundkonfiguration
' Hardware-Konfiguration, Netzwerkprotokolle, Software-Klassen
Private Const HKEY_LOCAL_MACHINE = &H80000002
 
' Teil von HKEY_LOCALE_MACHINE
' Enthält Definitionen für Dokumenttypen, Dateizuordnungen
' und Shell-Schnittstelle
Private Const HKEY_CLASSES_ROOT = &H80000000
 
Private Const HKEY_USERS = &H80000003
 
' Einstellungen des aktuellen Anwenders
Private Const HKEY_CURRENT_USER = &H80000001
 
' (Win NT/2000) Performance Dataschlüssel
Private Const HKEY_PERFORMANCE_DATA = &H80000004
 
' (Win 95/98) Dynamisch Daten
Private Const HKEY_DYN_DATA = &H80000006
 
' Aktuelle Konfiguration
Private Const HKEY_CURRENT_CONFIG = &H80000005
 
 
' RegOpenKeyEx samDesired-Konstanten
' ----------------------------------
 
' Alle Arten von Zugiffen
Private Const KEY_ALL_ACCESS = &HF003F
 
' Erlaubt das Erstellen von symbolischen Links
Private Const KEY_CREATE_LINK = &H20
 
' Erlaubt, Unterschlüssel zu erstellen
Private Const KEY_CREATE_SUB_KEY = &H4
 
' Erlaubt Unterschlüssel aufzulisten
Private Const KEY_ENUMERATE_SUB_KEYS = &H8
 
' Aktiviert die Änderungsbenachrichtigung (nicht unter Win95)
Private Const KEY_NOTIFY = &H10
 
' Erlaubt das Abfragen/Auslesen von Unterschlüssel
Private Const KEY_QUERY_VALUE = &H1
 
' Lesezugriff
Private Const KEY_READ = &H20019
 
' Erlaubt das Schreiben von Werten in Unterschlüssel
Private Const KEY_SET_VALUE = &H2
 
' Schreibzugriff
Private Const KEY_WRITE = &H20006
 
 
' RegQueryValueEx lpType-Konstanten
' ---------------------------------
 
' Binärdaten in beliebigem Format (Bytefolge)
Private Const REG_BINARY = 3
 
' 32-Bit Zahl (Little Endian)
Private Const REG_DWORD = 4
 
' 32-Bit Zahl (Big Endian)
Private Const REG_DWORD_BIG_ENDIAN = 5
 
' nullterminierter String (vbNullChar), der nicht 
' aufgelöste Verweise auf Umgebungsvariablen enthält (z.B. "%PATH%")
Private Const REG_EXPAND_SZ = 2
 
' symbolischer Link zu einem Unterschlüssel (Unicode)
Private Const REG_LINK = 6
 
' Liste nullterminierter Strings, die durch ein weiteres 
' Nullzeichen (vbNullChar) beendet wird
Private Const REG_MULTI_SZ = 7 
 
' Keine Daten
Private Const REG_NONE = 0
 
' Liste von Ressourcen in einer Ressourcen Map
Private Const REG_RESOURCE_LIST = 8
 
' nullterminierter String (vbNullChar)
Private Const REG_SZ = 1
' ------------------------------------------------------------
' Registry-Eintrag lesen
' (am Beispiel des Windows-Produkt-Keys)
Private Sub Command1_Click()
  Dim Retval As Long
  Dim hKey As Long
  Dim TmpSNum As String * 255
 
  ' Registryschlüssel öffnen
  Retval = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _
    "Software\Microsoft\Windows\CurrentVersion", 0&, KEY_READ, hKey)
  If Retval <> 0 Then
    MsgBox "Der Schlüssel konnte nicht geöffnet werden."
    Exit Sub
  End If
 
  ' Wert auslesen
  Retval = RegQueryValueEx(hKey, "ProductID", 0, REG_SZ, _
    ByVal TmpSNum, Len(TmpSNum)) 
  If Retval <> 0 Then
    MsgBox "Der Schlüsselwert konnte nicht gelesen oder gefunden werden."
    Exit Sub
  End If
 
  ' Product-Key ausgeben
  MsgBox "Der Produkt Key lautet: " & Left$(TmpSNum, _
    InStr(1, TmpSNum, vbNullChar) - 1), , "Produkt-Key"
 
  ' Schlüssel wieder schliessen
  Retval = RegCloseKey(hKey)
End Sub

Diese Seite wurde bereits 8.008 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2014 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.

Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel