Man kann lesend auf die Windows-Registry mit den mitgelieferten Makros aus der Bibliothek
"ImportWizard" zugreifen. Dort steht die Funktion "QueryValue" zur Verfügung.
QueryValue braucht folgende Parameter:
BaseKey, den Hauptschlüssel
sKeyName, den Schlüsselnamen
sValueName, den Eintrag
Folgende Konstanten sind für den jeweiligen Hauptschlüssel festgelegt:
Public Const HKEY_CLASSES_ROOT
Public Const HKEY_CURRENT_USER
Public Const HKEY_LOCAL_MACHINE
Public Const HKEY_USERS
Weitere Konstanten stehen im Quellcode von ImportWizard.
Aber Achtung: Wenn man das Makro das erstemal
startet nach dem man OpenOffice
gestartet hat kommt immer ein leerer String zurück.
Die Ursache für diesen Fehler habe ich leider noch nicht gefunden.
Das folgende Beispiel liest den Produktcode von Windows aus:
Sub Main
BasicLibraries.LoadLibrary("ImportWizard")
'oder wenn Zugriff aus einem Dokument erfolgt:
GlobalScope.BasicLibraries.LoadLibrary("ImportWizard")
sTemplateKeyName = "Software\Microsoft\Windows\CurrentVersion"
sTemplateValueName = "ProductID"
sProductID = QueryValue(HKEY_LOCAL_MACHINE,
sTemplateKeyName,
sTemplateValueName)
msgbox sProductID
End Sub