# Registry user defined functions Reference

Below is a complete list of the user defined functions available in AutoIt. Click on a user defined function name for a detailed description.

When using them you need to add a #include <WinAPIReg.au3>.

User Defined Function | Description
--- | ---
_WinAPI_AddMRUString | Adds a string to the top of the most recently used (MRU) list
_WinAPI_AssocGetPerceivedType | Retrieves a file's perceived type based on its extension
_WinAPI_AssocQueryString | Searches for and retrieves a file or protocol association-related string from the registry
_WinAPI_CreateMRUList | Creates a new most recently used (MRU) list
_WinAPI_DllInstall | Registers OLE controls such as DLL or ActiveX Controls (OCX) files
_WinAPI_DllUninstall | Unregisters OLE controls such as DLL or ActiveX Controls (OCX) files
_WinAPI_EnumMRUList | Enumerates the contents of the most recently used (MRU) list
_WinAPI_FreeMRUList | Frees the handle associated with the most recently used (MRU) list and writes cached data to the registry
_WinAPI_GetRegKeyNameByHandle | Retrieves a name of the specified registry key
_WinAPI_RegCloseKey | Closes a handle to the specified registry key
_WinAPI_RegConnectRegistry | Establishes a connection to a predefined registry key on another computer
_WinAPI_RegCopyTree | Recursively copies the subkeys and values of the source subkey to the destination key
_WinAPI_RegCopyTreeEx | Copies the specified registry key, along with its values and subkeys, to the specified destination key
_WinAPI_RegCreateKey | Creates the specified registry key
_WinAPI_RegDeleteEmptyKey | Deletes an empty key
_WinAPI_RegDeleteKey | Deletes a subkey and its values
_WinAPI_RegDeleteKeyValue | Removes the specified value from the specified registry key and subkey
_WinAPI_RegDeleteTree | Deletes a subkey and all its descendants
_WinAPI_RegDeleteTreeEx | Deletes the subkeys and values of the specified key recursively
_WinAPI_RegDeleteValue | Removes a named value from the specified registry key
_WinAPI_RegDisableReflectionKey | Disables registry reflection for the specified key
_WinAPI_RegDuplicateHKey | Duplicates a registry key's handle
_WinAPI_RegEnableReflectionKey | Restores registry reflection for the specified disabled key
_WinAPI_RegEnumKey | Enumerates the subkeys of the specified open registry key
_WinAPI_RegEnumValue | Enumerates the values for the specified open registry key
_WinAPI_RegFlushKey | Writes all the attributes of the specified open registry key into the registry
_WinAPI_RegLoadMUIString | Loads the specified string from the specified key and subkey
_WinAPI_RegNotifyChangeKeyValue | Notifies the caller about changes to the attributes or contents of a specified registry key
_WinAPI_RegOpenKey | Opens the specified registry key
_WinAPI_RegQueryInfoKey | Retrieves information about the specified registry key
_WinAPI_RegQueryLastWriteTime | Retrieves information about the last write time to the specified registry key
_WinAPI_RegQueryMultipleValues | Retrieves the type and data for a list of value names associated with an open registry key
_WinAPI_RegQueryReflectionKey | Determines whether reflection has been disabled or enabled for the specified key
_WinAPI_RegQueryValue | Retrieves the type and data for the specified value name associated with an open registry key
_WinAPI_RegRestoreKey | Reads the registry information in a specified file and copies it over the specified key
_WinAPI_RegSaveKey | Saves the specified key and all of its subkeys and values to a new file, in the standard format
_WinAPI_RegSetValue | Sets the data and type of a specified value under a registry key
_WinAPI_SfcIsKeyProtected | Determines whether the specified registry key is protected