Shell Registry Handling Functions

This section describes the Windows Shell registry handling functions. The programming elements explained in this documentation are exported by Shlwapi.dll and defined in Shlwapi.h and Shlwapi.lib.

In this section

Topic Description
AssocCreate
Returns a pointer to an IQueryAssociations object.
AssocGetPerceivedType
Retrieves a file's perceived type based on its extension.
AssocIsDangerous
Determines whether a file type is considered a potential security risk.
AssocQueryKey
Searches for and retrieves a key related to a file or protocol association from the registry.
AssocQueryString
Searches for and retrieves a file or protocol association-related string from the registry.
AssocQueryStringByKey
Searches for and retrieves a file association-related string from the registry starting from a specified key.
SHCopyKey
Recursively copies the subkeys and values of the source subkey to the destination key. SHCopyKey does not copy the security attributes of the keys.
SHDeleteEmptyKey
Deletes an empty key.
SHDeleteKey
Deletes a subkey and all its descendants. This function removes the key and all the key's values from the registry.
SHDeleteValue
Deletes a named value from the specified registry key.
SHEnumKeyEx
Enumerates the subkeys of the specified open registry key.
SHEnumValue
Enumerates the values of the specified open registry key.
SHGetAssocKeys
Retrieves an array of class subkeys associated with an IQueryAssociations object.
SHGetValue
Retrieves a registry value.
SHOpenRegStream2
Opens a registry value and supplies a stream that can be used to read from or write to the value. This function supersedes SHOpenRegStream.
SHQueryInfoKey
Retrieves information about a specified registry key.
SHQueryValueEx
Opens a registry key and queries it for a specific value.
SHRegCloseUSKey
Closes a handle to a user-specific registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegCreateUSKey
Creates or opens a registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegDeleteEmptyUSKey
Deletes an empty registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegDeleteUSValue
Deletes a registry subkey value in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegDuplicateHKey
Duplicates a registry key's HKEY handle.
SHRegEnumUSKey
Enumerates the subkeys of a registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegEnumUSValue
Enumerates the values of the specified registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegGetBoolUSValue
Retrieves a Boolean value from a registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegGetIntW
Reads a numeric string value from the registry and converts it to an integer.
SHRegGetPath
Retrieves a file path from the registry, expanding environment variables as needed.
SHRegGetUSValue
Retrieves a value from a registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegOpenUSKey
Opens a registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegQueryInfoUSKey
Retrieves information about a specified registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegQueryUSValue
Retrieves the type and data for a specified name associated with an open registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegSetPath
Takes a file path, replaces folder names with environment strings, and places the resulting string in the registry.
SHRegSetUSValue
Sets a registry subkey value in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHRegSetValue
Sets a registry value.
Use RegSetValue in its place.
SHRegWriteUSValue
Writes a value to a registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
SHSetValue
Sets the value of a registry key.