好吧,我是rust的新手,正在构建一个命令行应用程序,并且正在使用rust ...
我知道如何使用批处理脚本设置系统环境变量,但是我想在rust中实现所有功能,因此有一种方法可以使用rust为Windows设置环境变量。
我尝试了 set_var(KEY),但它仅适用于当前正在运行的进程...
所以请帮助我,谢谢。
答案 0 :(得分:1)
您将需要使用注册表来执行此操作,因此有必要的免责声明:错误地使用注册表会破坏您的系统。
在Windows上,用户环境变量存储在HKEY_CURRENT_USER\Environment\
中。 Rust库winreg使这一过程变得非常简单:
use winreg::{enums::*, RegKey};
fn main() {
let hkcu = RegKey::predef(HKEY_CURRENT_USER);
let (env, _) = hkcu.create_subkey("Environment").unwrap(); // create_subkey opens with write permissions
env.set_value("TestVar", &"TestValue").unwrap();
}