Searches the registry for values associated with a component.
com
find-component-value name key-name => result, root
name⇩ |
A string. |
key-name⇩ |
A string or a keyword. |
result⇩ |
A Lisp object. |
root⇩ |
A keyword. |
The function find-component-value
searches the Windows registry for values associated with a component.
name should be the name of a component (either a ProgID or a GUID).
key-name should name a registry key. If it is a string, it should match the key name in the registry. Otherwise key-name can be one of the following keywords:
:library |
Returns the library that implements the component (if any). |
:inproc-server32 |
As for |
:local-server32 | Returns the executable that implements the component (if any). |
:version |
Returns the version. |
:prog-id |
Returns the ProgID. |
:version-independent-prog-id | |
Returns the version-independent ProgId. | |
:type-lib |
Returns the GUID of the type library. |
find-component-value
returns the value result associated with the given key-name in the registry for component name. If a value is found., then there is a second returned value root which is either :local-machine
or :user
, indicating the branch of the registry in which the value was found.
find-component-value
simply returns nil
if it fails to find the information.
When running on 64-bit Windows, 32-bit LispWorks looks in the 32-bit registry view and 64-bit LispWorks looks in the 64-bit registry view. LispWorks does not change the registry reflection settings.
(com:find-component-value "shell.explorer" :version)
COM/Automation User Guide and Reference Manual - 01 Dec 2021 19:38:41