rust windows wmi cpu 占用率

180it 2023-03-27 PM 463℃ 0条

rust wmi cpu 占用率
在 Rust 中使用 WMI 获取 CPU 占用率,可以使用 winapi 和 wmi crates。

以下是一个简单的例子,使用 WMI 查询 CPU 占用率:

use std::collections::HashMap;
use std::thread::sleep;
use std::time::Duration;
use wmi::{COMLibrary, WMIConnection};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let com_con = COMLibrary::new()?;
    let wmi_con = WMIConnection::new(com_con.into())?;

    let query = "SELECT LoadPercentage FROM Win32_Processor";
    let cpu_load: Vec<HashMap<String, i32>> = wmi_con.raw_query(query)?;

    loop {
        // Get the first CPU load percentage.
        let load_percentage = &cpu_load[0]["LoadPercentage"];

        println!("CPU Load: {}%", load_percentage);

        // Wait for one second.
        sleep(Duration::from_secs(1));
    }
}

这个例子中,首先创建了一个 WMI 连接,然后执行一个 WMI 查询语句,查询 CPU 占用率。

然后进入一个无限循环,每秒钟打印一次 CPU 占用率。

请注意,这个例子中的 WMIConnection 对象需要在循环外创建,否则每次循环都会创建一个新的连接对象,这样会导致性能问题。

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

rust windows wmi cpu 占用率