Forum:Lisp
Thema:Frage zu vl-registry-read
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
Dea

Beiträge: 155 / 18

ACAD 2006, ACAD 2007
ADT 2006 sp1

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?

CADmium

Beiträge: 13496 / 249

.

alles was in der REG steht kannst du auch auslesen .... guck dir die ganzen Keys einfach mal mit regedit.exe an

zu (vl-registry-descendents ....
der Aufruf (vl-registry-descendents KEY t) liefert die Variablen
und
der Aufruf (vl-registry-descendents KEY) liefert die Subkeys

------------------
      - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Dea

Beiträge: 155 / 18

ACAD 2006, ACAD 2007
ADT 2006 sp1

Danke! Die "val-names" bei vl-registry-descendents hab ich übersehen.