#进程信息 #进程 #列表 #任务

tasklist

获取Windows上的任务列表和进程信息

3个版本

0.2.15 2024年7月18日
0.2.14 2024年7月16日
0.2.13 2023年10月12日
0.2.12 2022年7月18日
0.1.9 2022年6月30日

#156 in Unix API

Download history 58/week @ 2024-04-19 46/week @ 2024-04-26 34/week @ 2024-05-03 22/week @ 2024-05-10 26/week @ 2024-05-17 22/week @ 2024-05-24 29/week @ 2024-05-31 18/week @ 2024-06-07 20/week @ 2024-06-14 18/week @ 2024-06-21 6/week @ 2024-06-28 7/week @ 2024-07-05 217/week @ 2024-07-12 86/week @ 2024-07-19 100/week @ 2024-07-26 15/week @ 2024-08-02

每月421次下载

MIT许可证

320KB
1K SLoC

tasklist-rs

tasklist-rs

一个小的crate,让您可以轻松地在Windows上获取任务列表和进程信息

您可以获得哪些信息

  1. 进程名称、PID、父ID、线程ID。
  2. 进程启动时间、退出时间和CPU时间(包括内核时间和用户时间)。
  3. 进程路径和命令行参数。
  4. 进程SID和域/用户。
  5. 进程IO信息,包括所有 IO_COUNTERS 成员。
  6. 进程内存信息,包括所有 PROCESS_MEMORY_COUNTERS 成员。
  7. 进程句柄信息,使用 GetProcessHandleCount Api。
  8. 进程文件信息,使用 GetFileVersionInfoExW Api。
  9. 检查进程是否在WOW64环境中运行。
  10. 遍历所有进程

注意,某些信息在某些特定Windows版本中需要更高权限

示例

获取所有进程的PID、进程名称和用户。

use tasklist;

fn main(){
   
    unsafe{
        let tl = tasklist::Tasklist::new();
        tasklist::enable_debug_priv();
        for i in tl{
            println!("{} {} {}",i.get_pid(),i.get_pname(),i.get_user());
        }
    }


}

tasklist-rs

获取所有进程名称、PID、公司名称、文件描述。

use tasklist;

fn main(){
    tasklist::enable_debug_priv();
    for i in unsafe{tasklist::Tasklist::new()}{
        let cpn = match i.get_file_info().get("CompanyName"){
            Some(h)=>h.to_string(),
            None=>"".to_string(),
        };
        let des = match i.get_file_info().get("FileDescription"){
            Some(h)=>h.to_string(),
            None=>"".to_string(),
        };
        println!("\t{} \t{} \t{} \t{}",i.get_pname(),i.get_pid(),cpn,des)
       }
}

tasklist-rs

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
tasklist = "0.2.15"

依赖项

~0–36MB
~527K SLoC