GetStringValue method of the StdRegProv class
The GetStringValue method returns the data value for a named value whose data type is REG_SZ.
This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.
uint32 GetStringValue(
[in] uint32 hDefKey = HKEY_LOCAL_MACHINE,
[in] string sSubKeyName,
[in] string sValueName,
[out] string sValue
);
-
hDefKey [in]
-
A registry tree, also known as a hive, that contains the sSubKeyName path. The default value is HKEY_LOCAL_MACHINE.
The following trees are defined in WinReg.h.
-
HKEY_CLASSES_ROOT (2147483648)
-
HKEY_CURRENT_USER (2147483649)
-
HKEY_LOCAL_MACHINE (2147483650)
-
HKEY_USERS (2147483651)
-
HKEY_CURRENT_CONFIG (2147483653)
sSubKeyName [in]
[in] A path that contains the named values.
sValueName [in]
[in] A named value whose data value you are retrieving. Specify an empty string to get the default named value.
sValue [out]
[out] A data value for the named value.
In C++, the method returns a uint32 value that is 0 (zero) if successful. If the function fails, the return value is a nonzero error code that is defined in WinError.h. In C++, use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error. You can also look up return values under the WMI Error Constants.
In scripting or Visual Basic, the method returns an integer value that is 0 (zero) if successful. If the function fails, the return value is a nonzero error code that you can look up in WbemErrorEnum.
The majority of registry values that hold useful information for a system administrator are made up of either alphanumeric characters (REG_SZ) or numbers (REG_DWORD). String values in the registry are often clearly interpretable words, such as the name of a component manufacturer. Registry values of other types, like binary values, cannot be interpreted quite so readily.
You can read REG_SZ and REG_DWORD values by using the GetStringValue and the GetDWORDValue methods, respectively.
The List Installed Applications on 32- or 64-Bit Computers VBScript code sample queries the registry for installed applications on either 32-bit or 64-bit systems.
The following VBScript sample returns a list of startup scripts displayed on a per-Group Policy Object (GPO) basis.
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
strKeyPath = "Software\Policies\Microsoft\Windows\System\Scripts\Startup"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
strValueName = "DisplayName"
strGUIDVName = "GPOName"
strFullKeyPath = strKeyPath & "\" & subkey
oReg.GetStringValue HKEY_LOCAL_MACHINE, strFullKeyPath, strValueName, szValue
oReg.GetStringValue HKEY_LOCAL_MACHINE, strFullKeyPath, strGUIDVName, szGPOName
wScript.Echo "Name and GUID of GPO deploying Startup Script = " & szValue & _
" " & szGPOName
oReg.EnumKey HKEY_LOCAL_MACHINE, strFullKeyPath, arrGPOSubKeys
For Each Scriptsubkey in arrGPOSubkeys
' Script and parameters under subkeys
strScript = "Script"
strParam = "Parameters"
strScriptKeyPath = strFullKeyPath & "\" & Scriptsubkey
oReg.GetStringValue HKEY_LOCAL_MACHINE, strScriptKeyPath, strScript, szScript
oReg.GetStringValue HKEY_LOCAL_MACHINE, strScriptKeyPath, strParam, szParam
wScript.Echo " Shutdown script = " & szScript
wScript.Echo " Script Parameters = " & szParam
wScript.Echo " "
Next
Next
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Namespace |
Root\default |
MOF |
|
DLL |
|