diff --git a/src/impl_windows.rs b/src/impl_windows.rs index e868ef9..fc312c5 100644 --- a/src/impl_windows.rs +++ b/src/impl_windows.rs @@ -12,6 +12,8 @@ use windows_sys::Win32::System::Com::{ use windows_sys::Win32::System::Threading::GetExitCodeProcess; use windows_sys::Win32::System::Threading::WaitForSingleObject; use windows_sys::Win32::System::Threading::INFINITE; +use windows_sys::Win32::UI::Shell::SEE_MASK_NOASYNC; +use windows_sys::Win32::UI::Shell::SEE_MASK_NOCLOSEPROCESS; use windows_sys::Win32::UI::Shell::{ShellExecuteExW, SHELLEXECUTEINFOW}; use windows_sys::Win32::UI::WindowsAndMessaging::{SW_HIDE, SW_NORMAL}; @@ -26,6 +28,7 @@ unsafe fn win_runas(cmd: *const c_ushort, args: *const c_ushort, show: bool) -> COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE, ); + sei.fMask = SEE_MASK_NOASYNC | SEE_MASK_NOCLOSEPROCESS; sei.cbSize = mem::size_of::() as _; sei.lpVerb = verb.as_ptr(); sei.lpFile = cmd;