Skip to main content

Module win32

Module win32 

Source
Expand description

Win32 process-creation flags shared by every crate that spawns a child on Windows.

Before this module existed, CREATE_NO_WINDOW was re-declared privately in 23 files across five crates — including twice inside this crate, in function bodies that exported it to nobody (docs/reports/REPORT_DRY_AND_MODULARITY_AUDIT_2026_09_06.md §2.2). The value is a Win32 ABI constant and never changes; declare it once.

The flags are plain u32s so a spawn that needs something other than CREATE_NO_WINDOW alone (CREATE_SUSPENDED | CREATE_NO_WINDOW, CREATE_NEW_CONSOLE) can still pass them to creation_flags directly. The common case, no console window, is NoWindow::no_window, which covers both std::process::Command and tokio::process::Command.

Compiled on every platform so a use agentmux_common::win32::* never needs its own cfg guard; the values are only meaningful on Windows.

Constants§

CREATE_NO_WINDOW
CREATE_NO_WINDOW — do not allocate a console for a console-subsystem child. GUI-subsystem parents (the host, the launcher) and the windowless sidecar otherwise get a console window flashed open for every node, cmd.exe, git, taskkill, etc. they spawn.
CREATE_SUSPENDED
CREATE_SUSPENDED — create the child’s primary thread suspended, so the parent can assign it to a Job Object before it runs a single instruction.

Traits§

NoWindow
Spawn a child without opening a console window for it.