如何更新注册表中存储的数据



我在注册表编辑器中修改数据时遇到问题,我试图修改它,但我做不到,请帮助

extern crate winreg;
use std::io;
use std::path::Path;
use winreg::enums::*
use winreg::RegKey;
fn main() -> io::Result<()> {
//creat registry
let hkcu = RegKey::predef(HKEY_CURRENT_USER);
let path = Path::new("TEST").join("somone");
let (key, disp) = hkcu.create_subkey(&path)?;
// add key and value
key.set_value("Test_1", &1234567890u32)?;
//delete key and value
key.delete_value("hello");
Ok(())
}

您的代码有一些小问题:

  1. 导入中缺少分号
  2. 正在删除您创建的其他密钥。您创建了Test_1并尝试删除hello
  3. 我不确定您是否已将winreg添加到Cargo.toml。无论如何,使用Rust 1.62.0版本,您可以使用cargo add winreg

此外,请注意,自2018年版以来,您不再需要使用extern crate,只需使用use即可。

use std::io;
use std::path::Path;
use winreg;
use winreg::enums::*;
use winreg::RegKey;
fn main() -> io::Result<()> {
//creat registry
let hkcu = RegKey::predef(HKEY_CURRENT_USER);
let path = Path::new("TEST").join("othman");
let (key, disp) = hkcu.create_subkey(&path)?;
// add key and value
key.set_value("Test_1", &1234567890u32)?;
//delete key and value
key.delete_value("Test_1");
// add key and value again
key.set_value("Test_1", &1234567891u32)?;
Ok(())
}

最新更新