mirror of
https://github.com/weyne85/rustdesk.git
synced 2025-10-29 17:00:05 +00:00
feat, topmost window, exclude from capture
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
@@ -3,7 +3,7 @@ use crate::common::PORTABLE_APPNAME_RUNTIME_ENV_KEY;
|
||||
use crate::{
|
||||
ipc,
|
||||
license::*,
|
||||
privacy_mode::win_mag::{self, WIN_MAG_INJECTED_PROCESS_EXE},
|
||||
privacy_mode::win_topmost_window::{self, WIN_TOPMOST_INJECTED_PROCESS_EXE},
|
||||
};
|
||||
use hbb_common::{
|
||||
allow_err,
|
||||
@@ -848,8 +848,8 @@ fn get_default_install_path() -> String {
|
||||
}
|
||||
|
||||
pub fn check_update_broker_process() -> ResultType<()> {
|
||||
let process_exe = win_mag::INJECTED_PROCESS_EXE;
|
||||
let origin_process_exe = win_mag::ORIGIN_PROCESS_EXE;
|
||||
let process_exe = win_topmost_window::INJECTED_PROCESS_EXE;
|
||||
let origin_process_exe = win_topmost_window::ORIGIN_PROCESS_EXE;
|
||||
|
||||
let exe_file = std::env::current_exe()?;
|
||||
let Some(cur_dir) = exe_file.parent() else {
|
||||
@@ -926,8 +926,8 @@ pub fn copy_exe_cmd(src_exe: &str, exe: &str, path: &str) -> ResultType<String>
|
||||
{main_exe}
|
||||
copy /Y \"{ORIGIN_PROCESS_EXE}\" \"{path}\\{broker_exe}\"
|
||||
",
|
||||
ORIGIN_PROCESS_EXE = win_mag::ORIGIN_PROCESS_EXE,
|
||||
broker_exe = win_mag::INJECTED_PROCESS_EXE,
|
||||
ORIGIN_PROCESS_EXE = win_topmost_window::ORIGIN_PROCESS_EXE,
|
||||
broker_exe = win_topmost_window::INJECTED_PROCESS_EXE,
|
||||
))
|
||||
}
|
||||
|
||||
@@ -1157,7 +1157,7 @@ fn get_before_uninstall(kill_self: bool) -> String {
|
||||
reg delete HKEY_CLASSES_ROOT\\{ext} /f
|
||||
netsh advfirewall firewall delete rule name=\"{app_name} Service\"
|
||||
",
|
||||
broker_exe = WIN_MAG_INJECTED_PROCESS_EXE,
|
||||
broker_exe = WIN_TOPMOST_INJECTED_PROCESS_EXE,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -2164,7 +2164,7 @@ pub fn uninstall_service(show_new_window: bool) -> bool {
|
||||
taskkill /F /IM {app_name}.exe{filter}
|
||||
",
|
||||
app_name = crate::get_app_name(),
|
||||
broker_exe = WIN_MAG_INJECTED_PROCESS_EXE,
|
||||
broker_exe = WIN_TOPMOST_INJECTED_PROCESS_EXE,
|
||||
);
|
||||
if let Err(err) = run_cmds(cmds, false, "uninstall") {
|
||||
Config::set_option("stop-service".into(), "".into());
|
||||
@@ -2279,7 +2279,10 @@ fn run_after_run_cmds(silent: bool) {
|
||||
pub fn try_kill_broker() {
|
||||
allow_err!(std::process::Command::new("cmd")
|
||||
.arg("/c")
|
||||
.arg(&format!("taskkill /F /IM {}", WIN_MAG_INJECTED_PROCESS_EXE))
|
||||
.arg(&format!(
|
||||
"taskkill /F /IM {}",
|
||||
WIN_TOPMOST_INJECTED_PROCESS_EXE
|
||||
))
|
||||
.creation_flags(winapi::um::winbase::CREATE_NO_WINDOW)
|
||||
.spawn());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user