diff --git a/apps/cli/src/automation.rs b/apps/cli/src/automation.rs index 37e50753df4..5d070ae4103 100644 --- a/apps/cli/src/automation.rs +++ b/apps/cli/src/automation.rs @@ -452,7 +452,13 @@ fn open_path_or_url(target: &str) -> Result<(), String> { #[cfg(target_os = "macos")] let mut cmd = std::process::Command::new("open"); #[cfg(target_os = "windows")] - let mut cmd = std::process::Command::new("explorer"); + let mut cmd = { + use std::os::windows::process::CommandExt; + const CREATE_NO_WINDOW: u32 = 0x0800_0000; + let mut c = std::process::Command::new("explorer"); + c.creation_flags(CREATE_NO_WINDOW); + c + }; #[cfg(target_os = "linux")] let mut cmd = std::process::Command::new("xdg-open"); diff --git a/apps/desktop-gpui/src/library.rs b/apps/desktop-gpui/src/library.rs index 73697da9dba..9c1d589805a 100644 --- a/apps/desktop-gpui/src/library.rs +++ b/apps/desktop-gpui/src/library.rs @@ -623,8 +623,12 @@ pub fn reveal_in_folder(path: &Path) { } #[cfg(target_os = "windows")] { - std::process::Command::new("explorer") - .arg(format!("/select,{}", path.display())) + use std::os::windows::process::CommandExt; + const CREATE_NO_WINDOW: u32 = 0x0800_0000; + + let mut cmd = std::process::Command::new("explorer"); + cmd.creation_flags(CREATE_NO_WINDOW); + cmd.arg(format!("/select,{}", path.display())) .spawn() } #[cfg(all(not(target_os = "macos"), not(target_os = "windows")))] diff --git a/apps/desktop/src-tauri/src/automation.rs b/apps/desktop/src-tauri/src/automation.rs index dc58a5d92e5..4c4a28e99a4 100644 --- a/apps/desktop/src-tauri/src/automation.rs +++ b/apps/desktop/src-tauri/src/automation.rs @@ -573,8 +573,12 @@ fn reveal_path(path: &Path) -> Result<(), String> { #[cfg(target_os = "windows")] { - std::process::Command::new("explorer") - .args(["/select,", path_str]) + use std::os::windows::process::CommandExt; + const CREATE_NO_WINDOW: u32 = 0x0800_0000; + + let mut cmd = std::process::Command::new("explorer"); + cmd.creation_flags(CREATE_NO_WINDOW); + cmd.args(["/select,", path_str]) .spawn() .map_err(|e| format!("Failed to reveal: {e}"))?; } diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index a78c370641e..af42535e41a 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -4604,13 +4604,18 @@ async fn open_file_path(_app: AppHandle, path: PathBuf) -> Result<(), String> { #[cfg(target_os = "windows")] { + use std::os::windows::process::CommandExt; + const CREATE_NO_WINDOW: u32 = 0x0800_0000; + if is_dir { Command::new("explorer") + .creation_flags(CREATE_NO_WINDOW) .arg(path_str) .spawn() .map_err(|e| format!("Failed to open folder: {e}"))?; } else { Command::new("explorer") + .creation_flags(CREATE_NO_WINDOW) .args(["/select,", path_str]) .spawn() .map_err(|e| format!("Failed to open folder: {e}"))?;