LISP daje nam możliwość czytania i zapisywania do windowsowego rejestru systemowego. Proszę pamiętać, że zbyt spontaniczne modyfikowanie rejestru może prowadzić do ciężkiego kalectwa systemu operacyjnego. Wracając do tematu odczytywania rejetru przez lisp, to funkcja vl-registry-descendents służy właśnie do odczytania jakie klucze i wartości ma wybrany przez nas rejestr np. Odczytujemy jakie programy ZWCADy mamy zainstalowane w systemie. (setq ZwcadyPlus (vl-registry-descendents "HKEY_CURRENT_USER\\Software\\ZWSoft\\ZWCAD\\2015" )) zwraca mi listę : ("ZRX" "LogParser" "2017" "2015" "2014" "2012") czyli ZWCADy + jakie mam i dodatkowo inne powiązane z nimi produkty.
Możemy również odczytać wartości rejestru podając dodatkowy parametr
(setq wartosci (vl-registry-descendents "HKEY_CURRENT_USER\\Software\\ZWSoft\\ZWCAD\\2015" "")) Zwraca listę wszystkich nazw wartość ("ZWFLEX_LICENSE_FILE" "Network" "LocalTrial_ZWCAD+2015_MECH_TRIAL.asr" "ZWCAD_NOMATCHAPP" "LocalTrial_ZWCAD+2015_TRIAL.asr" "CurVer")
same wartości można odczytać funkcją: vl-registry-read zapisać można funkcją: vl-registry-write