diff --git a/Cargo.lock b/Cargo.lock index 9dc7fec2d462..3886cfa2b665 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5364,12 +5364,14 @@ dependencies = [ [[package]] name = "runas" -version = "1.0.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed87390fefd18965ff20baae5aeb9913bcf82d2b59dc04c0f6d8f17f7be56ff2" +checksum = "b96d6b6c505282b007a9b009f2aa38b2fd0359b81a0430ceacc60f69ade4c6a0" dependencies = [ - "cc", + "libc", + "security-framework-sys", "which", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index c73642a661af..1c959e3d5fc8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,7 +57,6 @@ lazy_static = "1.4" sha2 = "0.10" repng = "0.2" parity-tokio-ipc = { git = "https://github.com/rustdesk-org/parity-tokio-ipc" } -runas = "=1.0" # https://github.com/mitsuhiko/rust-runas/issues/13 magnum-opus = { git = "https://github.com/rustdesk-org/magnum-opus" } dasp = { version = "0.11", features = ["signal", "interpolate-linear", "interpolate"], optional = true } rubato = { version = "0.12", optional = true } @@ -107,6 +106,7 @@ virtual_display = { path = "libs/virtual_display", optional = true } impersonate_system = { git = "https://github.com/21pages/impersonate-system" } shared_memory = "0.12" tauri-winrt-notification = "0.1.2" +runas = "1.2" [target.'cfg(target_os = "macos")'.dependencies] objc = "0.2" diff --git a/src/platform/windows.rs b/src/platform/windows.rs index 1ec4bcb7dc81..7fefd89fb148 100644 --- a/src/platform/windows.rs +++ b/src/platform/windows.rs @@ -1,8 +1,8 @@ use super::{CursorData, ResultType}; use crate::common::PORTABLE_APPNAME_RUNTIME_ENV_KEY; use crate::{ - ipc, custom_server::*, + ipc, privacy_mode::win_topmost_window::{self, WIN_TOPMOST_INJECTED_PROCESS_EXE}, }; use hbb_common::libc::{c_int, wchar_t}; @@ -15,7 +15,6 @@ use hbb_common::{ message_proto::{Resolution, WindowsSession}, sleep, timeout, tokio, }; -use sha2::digest::generic_array::functional::FunctionalSequence; use std::process::{Command, Stdio}; use std::{ collections::HashMap, @@ -2419,7 +2418,7 @@ fn run_after_run_cmds(silent: bool) { log::debug!("Spawn new window"); allow_err!(std::process::Command::new("cmd") .arg("/c") - .arg("timeout /t 2 & start {app}://") + .arg(format!("timeout /t 2 & start {app}://")) .creation_flags(winapi::um::winbase::CREATE_NO_WINDOW) .spawn()); }