tasklist 0.2.0

Get the tasklist and process information on windows


a small crate let you can easily get tasklist and process information on windows

what information you can get

  1. Process name,pid,parrentID,theradsID.
  2. Process start_time,exit_time,and CPU_time(including kernel time and user time).
  3. Process path and commandline params.
  4. Process SID and Domain/User.
  5. Process IO infomation , including all of IO_COUNTERS member.
  6. Process memory information , including all of PROCESS_MEMORY_COUNTERS member.
  7. Process handles information , use GetProcessHandleCount Api.
  8. Process file infomation , use GetFileVersionInfoExW Api.
  9. Pterate over all processes

remember some infomation need higher privilege in some specific windows versions


use tasklist;

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


fn main(){ 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) } }

<p align="center">
    <img height="300" alt="tasklist-rs" src="images/example.png">
## Usage

Add this to your `Cargo.toml`:

tasklist = "0.2.0"