habe hier vom Forum ein Script gezogen, welches die Registry ausliest und einer Variablen sPath den Pfad der Eigenen Dateien zuordnet.
Allerdings funktioniert das weitere Arbeiten mit sPath nicht. im Debugger wird mir als sPath der Pfad der Eigenen Dateien mit einem 4-Eck (hier als # dargestellt) am Ende angezeigt. Wenn ich den Pfad erweitere sieht das so aus: c:\..\Eigene Dateien#\Tracking. Kann das daran liegen? Wie bekomme ich dieses Zeichen weg?
Private Const MainKey = &H80000000
Private Const HKEY_CLASSES_ROOT = 0
Private Const HKEY_CURRENT_USER = 1
Private Const HKEY_LOCAL_MACHINE = 2
Private Const HKEY_USERS = 3
Private Const HKEY_PERFORMANCE_DATA = 4 '(nur NT)
Private Const HKEY_CURRENT_CONFIG = 5
Private Const HKEY_DYN_DATA = 6
Private Const KEY_ALL_ACCESS = &H3F
Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal sSubKey As String, ByVal lReserved As Long, ByVal lSecurity As Long, hKeyReturn As Long) As Long
Private Declare Function RegQueryValueExNULL Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Long, lpcbData As Long) As Long
Private Declare Function RegQueryValueExString Lib "advapi32" 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 RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
Private Function Reg_GetValue(KeyIndex%, subkey As String, Name As String) As String
lhKey& = MainKey + KeyIndex
Reg_GetValue = ""
l& = RegOpenKeyEx(lhKey&, subkey, 0, KEY_ALL_ACCESS, lhKeyOpen&): If l& ERROR_SUCCESS _
Then Exit Function
l& = RegQueryValueExNULL(lhKeyOpen&, Name, 0&, lTyp&, 0&, cch&): If l& ERROR_SUCCESS _
Then Exit Function
sValue$ = String(cch& + 1, 0)
l& = RegQueryValueExString(lhKeyOpen&, Name, 0&, lTyp&, sValue$, cch&): If l& _
ERROR_SUCCESS Then Exit Function
Reg_GetValue = Left$(sValue$, cch&)
RegCloseKey lhKeyOpen&
End Function
Sub Reg_lesen()
Dim subkey As String
subkey = "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
sPath = Reg_GetValue(HKEY_CURRENT_USER, subkey, "Personal")
MsgBox sPath
End Sub