Rubrik: System/Windows · Computer/Benutzer/Ländereinstellungen | VB-Versionen: VB4, VB5, VB6 | 02.09.04 |
Registrierten Benutzer und Firma auslesen Zeigt, wie man schnell den registrierten Benutzer und Firma aus der Windows-Registry auslesen kann. | ||
Autor: Benjamin Kunz | Bewertung: | Views: 12.356 |
www.exp-soft.de.vu | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Dieser Tipp zeigt, wie man unter Windows 2000/XP schnell und einfach den registrierten Benutzer und die Firmenbezeichnung aus der Windows-Registry auslesen kann.
Fügen Sie nachfolgenden Code in ein Modul:
Option Explicit ' benötigte API-Deklarationen Private Const HKEY_LOCAL_MACHINE = &H80000002 Private Const KEY_QUERY_VALUE = &H1 Private Const KEY_ENUMERATE_SUB_KEYS = &H8 Private Const KEY_NOTIFY = &H10 Private Const KEY_READ = KEY_QUERY_VALUE Or _ KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Private Const ERROR_SUCCESS = 0& 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 Any) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" ( _ ByVal hKey As Long) As Long
' Wert aus Registry auslesen Public Function GetValue(ByVal hKey As Long, _ ByVal sKey As String, _ ByVal sField As String) As String Dim nResult As Long Dim nKeyOpen As Long Dim dwType As Long Dim nValue As Long Dim nLen As Long Dim sBuffer As String GetValue = False ' Registry-Schlüssel öffnen nResult = RegOpenKeyEx(hKey, sKey, 0, KEY_READ, nKeyOpen) If nResult <> ERROR_SUCCESS Then Exit Function ' Wert auslesen nResult = RegQueryValueEx(nKeyOpen, sField, 0&, dwType, ByVal 0&, nLen) If nResult = ERROR_SUCCESS Then sBuffer = Space$(nLen + 1) If RegQueryValueEx(nKeyOpen, sField, 0&, dwType, _ ByVal sBuffer, nLen) = ERROR_SUCCESS Then GetValue = Left$(sBuffer, nLen - 1) End If ' Schließen RegCloseKey nKeyOpen End If End Function
' Rregistrierten Benutzername auslesen Public Function GetRegUser() As String GetRegUser = GetValue(HKEY_LOCAL_MACHINE, _ "SOFTWARE\Microsoft\Windows NT\CurrentVersion", _ "RegisteredOwner") End Function
' Rregistrierte Firmenbezeichnung auslesen Public Function GetRegOrganization() As String GetRegOrganization = GetValue(HKEY_LOCAL_MACHINE, _ "SOFTWARE\Microsoft\Windows NT\CurrentVersion", _ "RegisteredOrganization") End Function
Aufrufbeispiel:
Dim sUser As String Dim sOrg As String sUser = GetRegUser() sOrg = GetRegOrganization()