RegQueryExpSz

Retrieves a REG_EXPAND_SZ value from the registry.

Syntax:

RegQueryExpSz(handle, subkey-string [,view-flag])

Parameters:

(i) handle an open registration database key (see below).

(s) subkey-string  a path from the key provided to the desired key, including the "data item name" in square brackets at the end of the key string.

(i) view-flag [optional] controls which registry view the function uses when accessing the Windows registry.
0 - view indicated by the last call to the RegOpenFlags.
32 - use the 32-bit registry view.
64 - use the 64-bit registry view.

Returns:

(i) contents (value) of the data item at the key position desired.

 

View-flag

This optional parameter controls which registry view the function uses when accessing the Windows registry. The optional parameter's values can be 32 to use the 32-bit view, 64 to use the 64-bit view, or 0 to use the view indicated by the last call to the RegOpenFlags. The parameter value of 0 can also causes a function to use the WinBatch default 64-bit view, if no call to RegOpenFlags has been made and setting the parameter to 0 is equivalent to omitting the parameter entirely.

Notes:

Windows Vista/2008 and newer: This function may require an Administrator level account, if it attempts to access protected registry keys: HKEY_LOCAL_MACHINE  or HKEY_CLASSES_ROOT.

Example:


; Note: For 32-bit Path Modifications See RegApp
; Following is location of users path in Windows NT.
userenv="Environment[path]"
sysenv="SYSTEM\CurrentControlSet\Control\Session Manager\Environment[path]"
If WinMetrics(-4)==4 ; Win NT
   LastError( )
   ErrorMode(@OFF)
   oldpath=RegQueryExpSz(@REGCURRENT, userenv)
   ErrorMode(@CANCEL)
   If LastError( ) == 1233
      ErrorMode(@OFF)
      oldpath=RegQueryExpSz(@REGMACHINE, sysenv)
      ErrorMode(@CANCEL)
      If oldpath==0
         Message("Environment Variable - Users Path", "No path found")
      Else
         Message("System Environment Variable - Users Path", oldpath)
      EndIf
   Else
      Message("User Environment Variable - Users Path", oldpath)
      Exit
   EndIf
   If WinMetrics(-4) !=4
      Message("RegQueryExpSz","Not supported in Non-NT versions of Windows")
      Exit
   EndIf
See Also:

RegApp, RegEntryType, RegQueryBin, RegQueryEx, RegQueryDword, RegQueryItem, RegQueryMulSz, RegQueryValue, RegQueryStr and the section on Registration Database Operations