Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Registry auslesen

Forumthread: Registry auslesen

Registry auslesen
16.03.2009 15:14:57
herbi
Hallo,
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


Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Registry auslesen
16.03.2009 15:58:28
Tino
Hallo,
vieleicht geht es ja auch schon damit.
´
''Gültige Special Folder ** 
'        AllUsersDesktop 
'        AllUsersStartMenu 
'        AllUsersPrograms 
'        AllUsersStartup 
'        Desktop 
'        Favorites 
'        Fonts 
'        MyDocuments 
'        NetHood 
'        PrintHood 
'        Programs 
'        Recent 
'        SendTo 
'        StartMenu 
'        Startup 
'        Templates 

Sub Spezial_Ordner()
Dim objshell As Object
Dim sPath As String
Set objshell = CreateObject("WScript.Shell")

sPath = objshell.SpecialFolders("MyDocuments")
MsgBox sPath

End Sub


Gruß Tino

Anzeige
AW: Registry auslesen
16.03.2009 16:00:37
D.Saster
Hallo,

Wie bekomme ich dieses Zeichen weg?


sPath = WorksheetFunction.Clean(sPath)
Gruß
Dierk

COOL - danke
16.03.2009 16:17:09
herbi
funtioniert super
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige