use std::process::Command; /// Extension trait for `Command` that hides the console window on Windows. /// /// On non-Windows platforms this is a no-op, so callers can unconditionally /// chain `.hide_window()` without any `#[cfg]` guards at the call sites. pub trait HideWindow { fn hide_window(&mut self) -> &mut Self; } impl HideWindow for Command { fn hide_window(&mut self) -> &mut Self { #[cfg(target_os = "windows")] { use std::os::windows::process::CommandExt; const CREATE_NO_WINDOW: u32 = 0x08000000; self.creation_flags(CREATE_NO_WINDOW); } self } }