4 releases

0.1.3 Feb 18, 2024
0.1.2 Feb 18, 2024
0.1.1 Dec 2, 2023
0.1.0 Dec 2, 2023

#7 in #elevated


Used in elevated

MIT license

5KB
70 lines

elevated

通过一个宏,自动将函数包装为管理员权限执行,使用方法:

#[elevated::main]
fn main() {
    println!("这里是以普通权限执行的代码");
    admin_right("Hello Rust".to_string());
}

#[elevated::elevated]
fn admin_right(msg: String) {
    println!("这里是以管理员权限执行的代码:{msg}");
}

注意,在 elevated 宏标记的函数中,不要使用全局变量,因为全局变量可能还没有初始化,而且,被标记的函数是使用新的进程启动的,全局变量的取值可能不对。

注意,被 elevated 宏标记的函数不可以重名。

Dependencies

~235–670KB
~16K SLoC