Hallo!
Ich kämpfe gerade mit der Funktion vl-registry-read. Mit der Zeile
(vl-registry-read (strcat "HKEY_LOCAL_MACHINE\\" (vlax-product-key)) "ProductName")
bekommt man die AutCAD-Version angezeigt.
Was außer dem ProductName kann hier noch ausgelesen werden?
In der Hilfe steht „If val-name is supplied and is not nil, the specified value will be read from the registry.“ Das ist hier geschehen. “If val-name is absent or nil, the function reads the specified key and all of its values.” Das hätte ich eigentlich so verstanden, dass die Angabe von “ProductName” die Rückgabe nur einschränkt. Statt dessen bekomme ich nur „“ zurück.
Darauf hin habe ich mich auf die Suche begeben und den Befehl vl-registry-descendents entdeck, zu dem in der Hilfe steht „Returns a list of subkeys or value names for the specified registry key“. Es wird auch wirklich eine Liste zurückgegeben:
(vl-registry-descendents (strcat "HKEY_LOCAL_MACHINE\\"
(vlax-product-key)))
->
("Variables" "UserData" "RibbonControls" "RedirectedAppnames" "PartenerLinks" "MSI" "InstalledUILanguages" "InstalledUALanguages" "DockingTools" "Directories" "ContextHandlers" "CadManagerControl" "CAD Standards Plugins" "AutodeskApps" "Applications" "ApplicationInstallActions" "AltFontNames" "AEC" "AdLM_Install" "AdLM" "AcEPlotX" "3DGS Drivers" "3DGS Configuration")
Leider sind in diese Liste von Subkeys nicht die von vl-registry-read benötigten Namen. Besteht hier überhaupt kein Zusammenhang mit dem val-name von vl-registry-read oder fehlt mir ein weiterer Schritt?
Wo und wie finde ich heraus, welche Werte für den val-name von vl-registry-read möglich sind?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP