All Manuals > COM/Automation User Guide and Reference Manual > 4 Automation Reference Entries

find-component-value Function

Summary

Searches the registry for values associated with a component.

Package

com

Signature

find-component-value name key-name => result, root

Arguments
name
A string.
key-name
A string or a keyword.
Values
result
A Lisp object.
root
A keyword.
Description

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 :library.

: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.

Examples
(com:find-component-value "shell.explorer" :version)

COM/Automation User Guide and Reference Manual - 01 Dec 2021 19:38:41