Registry-Zugriff per VB

Hallo Xperten,

ich möchte mit meinem VB6-Programm verschiedene Reg.-Schüssel und -werte auf Vorhandensein prüfen, sie lesen, verändern, neu anlegen…

Die SaveSetting, DeleteSetting, GetSetting und GetAllSettings reichen nicht aus, weil die Schlüssel z. T. aus mehreren Ebenen zusammengesetzt sind ( z. B. HKEY_LOCAL_MACHINE\Software\irgendwas\wasanderes\nochwas\undnochwas\okdasreicht)

Vernünftige Doku zu RegOpenKeyEx usw. hab ich bisher nicht gefunden.
Kann mir ja jemand ein einfaches Beispiel nennen?

Gruß und 1000-dank!

(Woly)

Hi Woly!

Dazu gibt’s ein Spitzenprodukt gratis im Netz! Es ist ein ActiveX-Library, welches Du einfach einbindest und sofort einfachen Zugriff auf die Registry hast. Ein Setup schicke ich an Deine eMailadresse.

Wenn Du keine Fremdprodukte verwenden möchtest, dann benutze die Microsoft Scripting Runtime Library. Die ist die „API“ zum Windows Scripting Host, welcher auch sehr einfach und unkompliziert zu verwenden ist.

VG, Stefan.

Hi Leidensgenosse, :smile:

lad dir mal das API-Guide von http://www.allapi.net runter. Ist IMHO eine der besten API-Übersichten und das noch kostenlos!
Da bekommst du eigentlich alle API-Calls super erklärt und zu vielen noch ein Beispiel-Programm.

Grüße
Andreas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich habe ein paar Klassen geschrieben, die sich genau dieses Problems annehmen.

Eine Manipulation der Registry (Ändern eines Wertes, anlegen des Wertes wenn nicht vorhanden) sieht damit etwa so aus:

dim reg as regIstry
'
call reg.init (eregHKEY\_LOCAL\_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion") 'Den Startschlüssel laden
if reg.root.values ("Shell") is nothing then
 reg.root.values.add (regValueSZ, "Shell", "explorer.exe") 'wert anlegen
else
 reg.root.values.setvaluecontent ("explorer.exe") 'oder wenn vorhanden ändern
end if

oder auch (Anzeige aller Unterschlüssel) von HKEY_CURRENT_USER\Software:

dim reg as regIstry
'
call reg.init (eregHKEY\_CURRENT\_USER, "Software") 'Den Startschlüssel laden
for each rk in reg.root.subkeys
 msgbox "keyname: " & rk.KeyName
next

usw.

bei interesse mail ich dir gern den Quellcode. Es sind insgesamt 5 Dateien.

cu , holli

…auch nicht schlecht!
Vielen Dank; ich komme gelegentlich auf das Angebot zurück.

Zur Zeit teste ich gerade eine andere Möglichkeit…

Gruß
(Woly)