11 releases (6 stable)
1.2.2 | May 16, 2022 |
---|---|
1.2.1 | Oct 26, 2021 |
1.2.0 | Jun 20, 2021 |
1.1.0 | Oct 25, 2020 |
0.0.2 |
|
#18 in Windows APIs
841 downloads per month
Used in 11 crates
(9 directly)
41KB
1K
SLoC
Registry
A convenient crate for safely accessing and mutating the Windows Registry.
This crate only supported versions of Windows 8.1 and newer. Usage on Windows 7 or 8 may work, subject to various Win32 API limitations. These limitations will not be documented in this crate, so if you are unfamiliar with the Win32 variants of these functions, stick to Windows 8.1 or newer.
License
The registry
crate is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
lib.rs
:
Registry
A convenient crate for safely accessing and mutating the Windows Registry.
Usage
In general, you will want to access a key from a Hive
. This crate automatically handles
the conversion of String
and str
into a UTF-16 string suitable for FFI usage.
# use registry::{Hive, Security};
let regkey = Hive::CurrentUser.open(r"some\nested\path", Security::Read)?;
# Ok::<(), registry::Error>(())
A RegKey
has all necessary functionality for querying subkeys, values within a key,
and accessing key value data.
# use registry::{Data, Hive, Security};
# let regkey = Hive::CurrentUser.open(r"some\nested\path", Security::Read)?;
regkey.set_value("SomeValue", &Data::U32(42))?;
assert!(matches!(regkey.value("SomeValue")?, Data::U32(42)));
# Ok::<(), registry::Error>(())
RegKey
s also support iteration of all subkeys with the keys()
function, and all values with the values()
function.
Dependencies
~0.9–1.4MB
~31K SLoC