blob: 2340c82b591f5a607090788073117fa7b1a47d86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
// Copyright 2021, 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.
extern crate winreg;
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(())
}
|