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 everynode,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.