vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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
RegCloseKey-Funktion

RegCloseKey schliesst das Handle des durch RegOpenKey geöffneten Schlüssels und gibt alle verwendeten Ressourcen wieder frei.

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

Deklaration:

Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Beschreibung:
RegCloseKey schliesst das Handle des durch RegOpenKey geöffneten Schlüssels und gibt alle verwendeten Ressourcen wieder frei.

Parameter:
hKeyHandle des zu schliessenden Schlüssels

Rückgabewert:
Bei erfolgreichem Funktionsaufruf wird ERROR_SUCCESS (=0) zurückgegeben, andernfalls ist der Rückgabewert ungleich 0 und beschreibt den Fehlercode.

Konstanten

Const ERROR_SUCCESS = 0


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 11.273 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