Einer unserer ersten Tipps hier im vb@rchiv beschäftigte sich mit dem Ermitteln der Daten, die bei der Windows-Installation für "Benutzernamen und Organisation" angegeben wurden: Der Code funktioniert aber scheinbar nicht immer zuverlässig Durch Auslesen der Registry lassen sich diese Daten jedoch ebenfalls ermitteln. Option Explicit ' zunächst die benötigten API-Deklarationen 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 Private Const HKEY_LOCAL_MACHINE = &H80000002 Const KEY_QUERY_VALUE = &H1 Const REG_SZ = 1 Const ERROR_SUCCESS = 0 ' Wert aus Registry auslesen Public Function RegRead(ByVal hKey As Long, _ ByVal sPath As String, ByVal sKey As String) As String Dim nResult As Long Dim nHandle As Long Dim sBuffer As String Dim nLen As Long ' Registry-Zweig öffnen nResult = RegOpenKeyEx(hKey, sPath, 0&, KEY_QUERY_VALUE, nHandle) If nResult = ERROR_SUCCESS Then ' Schlüsselwert lesen sBuffer = Space$(255) nLen = Len(sBuffer) nResult = RegQueryValueEx(nHandle, sKey, 0&, REG_SZ, ByVal sBuffer, nLen) If nResult = ERROR_SUCCESS Then sBuffer = Left$(sBuffer, nLen) If InStr(sBuffer, Chr$(0)) > 0 Then sBuffer = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1) End If Else sBuffer = "" End If ' Registry-Zweig schließen RegCloseKey nHandle End If RegRead = sBuffer End Function Die gesuchten Daten befinden sich:
' Benutzername und Organisation unter Windows 95/98/ME sUser = RegRead(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion", "RegisteredOwner") sOrg = RegRead(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion", "RegisteredOrganization") ' Benutzername und Organisation unter Windows NT/2000/XP und höher sUser = RegRead(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion", "RegisteredOwner") sOrg = RegRead(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion", "RegisteredOrganization") Dieser Tipp wurde bereits 10.836 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |