Also: Wie komm ich an die Registry?
Hi Dirk,
nachfolgend ein Beispiel aus dem Inet um den Netzusernamen auszulesen.
Private Declare Function RegQueryValueExString Lib "advapi32.dll" Alias \_
"RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As \_
String, ByVal lpReserved As Long, lpType As Long, \_
ByVal lpData As String, lpcbData As Long) As Long
Private Declare Function RegQueryValueExByte 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 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 RegCloseKey Lib "advapi32.dll" \_
(ByVal hKey As Long) As Long
Declare Function GetUserName& Lib "advapi32.dll" Alias "GetUserNameA" (ByVal \_
lpBuffer As String, nSize As Long)
Private Const HKEY\_LOCAL\_MACHINE = &H80000002
Private Const KEY\_QUERY\_VALUE = &H1
Sub SchlüsselinhaltLesen()
Dim Hauptschlüssel$, Schlüssel$, Schlüsselinhalt$
Dim Länge&, dummy
Dim Schlüsselhandle&, Typ&
Hauptschlüssel = "Network\Logon"
Schlüssel = "username"
dummy = RegOpenKeyEx(HKEY\_LOCAL\_MACHINE, \_
Hauptschlüssel, 0&, KEY\_QUERY\_VALUE, Schlüsselhandle)
If dummy 0 Then GoTo fehlerbehandlung
dummy = RegQueryValueExString(Schlüsselhandle, \_
Schlüssel, 0&, Typ, Schlüsselinhalt, Länge)
Schlüsselinhalt = String(Länge, 0)
dummy = RegQueryValueExString(Schlüsselhandle, \_
Schlüssel, 0&, Typ, Schlüsselinhalt, Länge)
Schlüsselinhalt = Left(Schlüsselinhalt, Länge - 1)
fehlerbehandlung:
dummy = RegCloseKey(Schlüsselhandle)
End Sub
Sub UsernameLesen()
Dim Username$, Länge&
Username = Application.Username
Username = String(256, 0)
Länge = 255
Call GetUserName(Username, Länge)
Username = Left(Username, Länge - 1)
End Sub
Gruß
Reinhard