vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Registry28.07.01
RegOpenKeyEx-Funktion

RegCloseKeyEx öffnet einen Registry-Unterschlüssel und gibt das Handle zurück.

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

Deklaration:

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

Beschreibung:
RegOpenKeyEx öffnet einen Registry-Unterschlüssel und gibt das Handle zurück.

Parameter:
hKeyErwartet eine der "hKey"-Konstanten, die angeben, in welchem Systemverzeichnis der Registry ein Schlüssel geöffnet werden soll.
lpSubKeyErwartet den Namen des Unterschlüssels, der geöffnet werden soll.
ulOptionsDieser Parameter ist reserviert und wird nicht genutzt. Setzen Sie ihn zu diesem Zweck auf "0".
samDesiredLegt die Zugriffsart fest (siehe auch "samDesired"-Konstanten).
phkResultErwartet eine Long-Variable, die das Handle des geöffneten Registryschlüssels zurückgibt.

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 22.072 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2024 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