RegistryValueOptions Enumeration

RegistryValueOptions Enumeration


Specifies optional behavior when retrieving name/value pairs from a registry key.

Namespace:   Microsoft.Win32
Assembly:  mscorlib (in mscorlib.dll)

public enum RegistryValueOptions

Member nameDescription

A value of type RegistryValueKind.ExpandString is retrieved without expanding its embedded environment variables.


No optional behavior is specified.

Use the DoNotExpandEnvironmentNames flag with the RegistryKey.GetValue(String, Object, RegistryValueOptions) method overload.

The following code sample creates a test key, adds a value with an embedded environment variable, and retrieves the value in both expanded and unexpanded forms.

using System;
using Microsoft.Win32;
using Microsoft.VisualBasic;

public class Example
    public static void Main()
        // Delete and recreate the test key.
        Registry.CurrentUser.DeleteSubKey("RegistryValueOptionsExample", false);
        RegistryKey rk = 

        // Add a value that contains an environment variable.
        rk.SetValue("ExpandValue", "The path is %PATH%", RegistryValueKind.ExpandString);

        // Retrieve the value, first without expanding the environment 
        // variable and then expanding it.
        Console.WriteLine("Unexpanded: \"{0}\"", 
            rk.GetValue("ExpandValue", "No Value", 
        Console.WriteLine("Expanded: \"{0}\"", rk.GetValue("ExpandValue"));
    } //Main
} //Example

.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft