Julia interface to the Windows Registry.
The nomenclature of the Windows Registry is a bit confusing: a registry key is a container object in a tree. Each registry key can itself have subkeys (so the keys form a hierarchy), but can also have values which are really key-value pairs (usually referred to as value names and value data).
In WinReg.jl, a registry key is represented by a RegKey object. There are several pre-defined root RegKeys:
WinReg.HKEY_CLASSES_ROOTWinReg.HKEY_CURRENT_USERWinReg.HKEY_LOCAL_MACHINEWinReg.HKEY_USERSWinReg.HKEY_PERFORMANCE_DATAWinReg.HKEY_CURRENT_CONFIGWinReg.HKEY_DYN_DATA
WinReg.openkey(basekey, path) opens a subkey of basekey at path, returning a RegKey object.
subkeys(key) gives an iterator over the names of the subkeys of key.
A RegKey acts like a Dict for the registry values: values can be read from the registry by getindex, existence checked by haskey, etc. Writing values (setindex!) is not currently supported (see Requests below).
For convenience, the function querykey can be used to query a single value:
querykey(base, path, valuename)using WinReg
key = openkey(WinReg.HKEY_LOCAL_MACHINE,"System\\CurrentControlSet\\Control\\Session Manager\\Environment")
arch = key["PROCESSOR_ARCHITECTURE"]
# or equivalently
arch = querykey(WinReg.HKEY_LOCAL_MACHINE,"System\\CurrentControlSet\\Control\\Session Manager\\Environment","PROCESSOR_ARCHITECTURE")WinReg.jl should only be used on Windows OSes (though it is safe to load on other OSes). Suggested usage:
using WinReg # or import WinReg
if Sys.iswindows()
# code calling WinReg functionality goes here
endIf further functionality is required, please open an issue.