a small crate let you can easily get tasklist and process information on windows
windows-rs
crate IO_COUNTERS
member.PROCESS_MEMORY_COUNTERS
member.GetProcessHandleCount
Api.GetFileVersionInfoExW
Api.remember some infomation need higher privilege in some specific windows versions
```rust use tasklist;
fn main(){
unsafe{
let tl = tasklist::Tasklist::new();
for i in tl{
println!("{} {} {}",i.get_pid(),i.get_pname(),i.get_user());
}
}
} ```
```rust use tasklist;
fn main(){ for i in unsafe{tasklist::Tasklist::new()}{ let cpn = match i.getfileinfo().get("CompanyName"){ Some(h)=>h.tostring(), None=>"".tostring(), }; let des = match i.getfileinfo().get("FileDescription"){ Some(h)=>h.tostring(), None=>"".tostring(), }; println!("\t{} \t{} \t{} \t{}",i.getpname(),i.getpid(),cpn,des) } } ```
Add this to your Cargo.toml
:
toml
[dependencies]
tasklist = "0.2.0"