I want to create a registry key using lisp but only if it dost already exist I know how to use the IF else function and how to create a registry key using lisp but not sure on how to check for the existence of a registry key with in a lisp program?
vl-registry-read
vl-registry-write
vl-registry-delete
or
GETENV and SETENV me thinks
HTH
I think vl-registry-write will only make the key if it doesn't exist. Or, rather I should say, you will not lose any values already in that key by using vl-registry-write to try to create it.
So, why check first? (Unless you mean a registry "VALUE" or "DATA" and not "KEY")
Example:
Command: (vl-registry-read "HKEY_CURRENT_USER\\TestA")
nil
Key does not exist
Command: (vl-registry-write "HKEY_CURRENT_USER\\TestA")
T
Now it does but has no values
Command: (vl-registry-read "HKEY_CURRENT_USER\\TestA")
nil
read fails because it looks for a value
Command: (vl-registry-write "HKEY_CURRENT_USER\\TestA" "" "default-value")
"default-value"
I add a value
Command: (vl-registry-read "HKEY_CURRENT_USER\\TestA")
"default-value"
It reads a value
Command: (vl-registry-write "HKEY_CURRENT_USER\\TestA")
T
I re-write the key
Command: (vl-registry-read "HKEY_CURRENT_USER\\TestA")
"default-value"
value is still there
fugetaboutit