Improve this page Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone. Page wiki View or edit the community-maintained wiki page associated with this page.

std.windows.registry

This library provides Win32 Registry facilities.

License:

Author:
Matthew Wilson, Kenji Hara

Histry:
Created 15th March 2003, Updated 25th April 2004,

Source:
std/windows/registry.d

class Win32Exception: object.Exception;
class RegistryException: std.windows.registry.Win32Exception;
Exception class thrown by the std.windows.registry classes.

this(string message, string fn = __FILE__, size_t ln = __LINE__, Throwable next = null);
Creates an instance of the exception.

Parameters:
string message The message associated with the exception.

this(string message, int error, string fn = __FILE__, size_t ln = __LINE__, Throwable next = null);
Creates an instance of the exception, with the given.

Parameters:
string message The message associated with the exception.
int error The Win32 error number associated with the exception.

enum REGSAM: int;
Enumeration of the recognised registry access modes.

KEY_QUERY_VALUE
Permission to query subkey data

KEY_SET_VALUE
Permission to set subkey data

KEY_CREATE_SUB_KEY
Permission to create subkeys

KEY_ENUMERATE_SUB_KEYS
Permission to enumerate subkeys

KEY_NOTIFY
Permission for change notification

KEY_CREATE_LINK
Permission to create a symbolic link

KEY_WOW64_32KEY
Enables a 64- or 32-bit application to open a 32-bit key

KEY_WOW64_64KEY
Enables a 64- or 32-bit application to open a 64-bit key

KEY_WOW64_RES

KEY_WRITE
Combines the STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY access rights

KEY_EXECUTE
Combines the STANDARD_RIGHTS_WRITE, KEY_SET_VALUE, and KEY_CREATE_SUB_KEY access rights

KEY_ALL_ACCESS
Permission for read access

enum REG_VALUE_TYPE: uint;
Enumeration of the recognised registry value types.

REG_UNKNOWN

REG_NONE
The null value type. (In practise this is treated as a zero-length binary array by the Win32 registry)

REG_SZ
A zero-terminated string

REG_EXPAND_SZ
A zero-terminated string containing expandable environment variable references

REG_BINARY
A binary blob

REG_DWORD
A 32-bit unsigned integer

REG_DWORD_LITTLE_ENDIAN
A 32-bit unsigned integer, stored in little-endian byte order

REG_DWORD_BIG_ENDIAN
A 32-bit unsigned integer, stored in big-endian byte order

REG_LINK
A registry link

REG_MULTI_SZ
A set of zero-terminated strings

REG_RESOURCE_LIST
A hardware resource list

REG_FULL_RESOURCE_DESCRIPTOR
A hardware resource descriptor

REG_RESOURCE_REQUIREMENTS_LIST
A hardware resource requirements list

REG_QWORD
A 64-bit unsigned integer

REG_QWORD_LITTLE_ENDIAN
A 64-bit unsigned integer, stored in little-endian byte order

class Key;
This class represents a registry key.

class Value;
This class represents a value of a registry key.

class Registry;
Represents the local system registry.

class KeyNameSequence;
An enumerable sequence representing the names of the sub-keys of a registry Key.

Example:
Key key = ...
foreach (string subkeyName; key.keyNames)
{
    // using subkeyName
}

class KeySequence;
An enumerable sequence representing the sub-keys of a registry Key.

Example:
Key key = ...
foreach (Key subkey; key.keys)
{
    // using subkey
}

class ValueNameSequence;
An enumerable sequence representing the names of the values of a registry Key.

Example:
Key key = ...
foreach (string valueName; key.valueNames)
{
    // using valueName
}

class ValueSequence;
An enumerable sequence representing the values of a registry Key.

Example:
Key key = ...
foreach (Value value; key.values)
{
    // using value
}