26 lines
858 B
Rust
26 lines
858 B
Rust
// Copyright 2023, Igor Shaula
|
|
// Licensed under the MIT License <LICENSE or
|
|
// http://opensource.org/licenses/MIT>. This file
|
|
// may not be copied, modified, or distributed
|
|
// except according to those terms.
|
|
use std::io;
|
|
use winreg::enums::*;
|
|
use winreg::RegKey;
|
|
|
|
fn main() -> io::Result<()> {
|
|
{
|
|
// put this in a block so app_key_1 gets out of scope and doesn't prevent us
|
|
// from loading the key again later
|
|
let app_key_1 = RegKey::load_app_key("myhive.dat", true)?;
|
|
app_key_1.set_value("answer", &42u32)?;
|
|
}
|
|
let answer: u32 = {
|
|
// NOTE: on Windows 7 this fails with ERROR_ALREADY_EXISTS
|
|
let app_key_2 =
|
|
RegKey::load_app_key_with_flags("myhive.dat", KEY_READ, REG_PROCESS_APPKEY)?;
|
|
app_key_2.get_value("answer")?
|
|
};
|
|
println!("The Answer is {}", answer);
|
|
Ok(())
|
|
}
|