GETREGVALUES (Collect Windows registry key values)

Top  Previous  Next

 

GETREGVALUES(root, keyName, valueQueue)

 

GETREGVALUES

Collect names of values for a given registry key.

Root

A LONG integer, variable or expression that contains the root section of the registry from which to obtain the value. Valid values for this are defined in equates.clw and are as follows:

 

REG_CLASSES_ROOT

 

REG_CURRENT_USER

 

REG_LOCAL_MACHINE

 

REG_USERS

 

REG_PERFORMANCE_DATA

 

REG_CURRENT_CONFIG

 

REG_DYN_DATA

keyName

A STRING constant, variable or expression that contains the key name of the key whose value is to be queried. This may contain a path separated by backslash ‘\’ characters.

valueQueue

A reference to a QUEUE that holds the names of the values of the keyName.

 

The GETREGVALUES function collect the names of all values for a given registry key specified by the keyName. If the requested entry does not exist, an empty string is returned.

 

Vista and Clarion Built-in Registry Functions

On Vista, a (non-elevated) app can READ the registry key HKLM (local machine) with no problems, but as far as writing to the Registry it needs to use HKCU (current user).

If you code sign your executable and run with elevated privileges then you can write to HKLM.

 

Example:

 

 PROGRAM

 

 MAP

 END

 

 INCLUDE('EQUATES')

 

MyQueue             QUEUE,PRE(my)

RegValues               STRING(40)

                   END

 

 CODE

  GETREGVALUES(REG_CURRENT_USER,'Control Panel\Current',MyQueue)

  LOOP I# = 1 TO RECORDS(MyQueue)

       GET(MyQueue,I#)

       MESSAGE(my:RegValues) !Displays "Color Schemes"

  END

 

 

See Also: GETREG, GETREGSUBKEYS