• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    Visual LISP, AutoLISP and General Customization

    Reply
    Mentor
    The_Caddie
    Posts: 204
    Registered: ‎06-08-2010

    If else when checking for registry key

    124 Views, 2 Replies
    10-12-2012 01:06 AM

    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?

    Please use plain text.
    *Expert Elite*
    Posts: 2,057
    Registered: ‎11-24-2009

    Re: If else when checking for registry key

    10-12-2012 01:19 AM in reply to: The_Caddie

    vl-registry-read 

    vl-registry-write

    vl-registry-delete

     

    or

    GETENV and SETENV me thinks

     

    HTH

     

    Please use plain text.
    Contributor
    Posts: 15
    Registered: ‎09-27-2012

    Re: If else when checking for registry key

    10-12-2012 01:43 PM in reply to: The_Caddie

    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

     

     

    Please use plain text.