crosswin 0.1.0

Async-friendly Windows primitives for Rust (MVP: process enumeration).
docs.rs failed to build crosswin-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: crosswin-0.3.0

crosswin

Crates.io Docs.rs CI

Async-friendly Windows primitives for Rust.

This crate starts small: it gives you an async way to inspect running processes on Windows. Over time the idea is to grow into an ergonomic wrapper over the Windows API without hiding what the OS is actually doing.

Status

Early MVP.

  • Supported: process enumeration (PID and executable name) on Windows.
  • Planned: richer process info, stronger handle types, additional Win32 modules.

Features

  • Async process listing built on tokio.
  • Straightforward, explicit API surface.
  • Designed as a building block for higher-level Windows tooling.

Installation

Add this to your Cargo.toml:

[dependencies]

crosswin = "0.1"

This crate targets Windows and expects tokio in your dependency tree. The default feature set enables the Win32-backed implementation.

Example

List the current processes and print a short line for each one:

use crosswin::prelude::*;
use crosswin::processes::list_processes;

#[tokio::main]
async fn main() -> Result<()> {
    for process in list_processes().await? {
        println!("{:>6}  {}", process.pid, process.name);
    }

    Ok(())
}

Run the bundled example from this repository with:

cargo run --example list_processes

License

Licensed under either of

  • Apache License, Version 2.0
  • MIT license

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.