switch sides: windows

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages
2023-01-17 21:43:39 +08:00
parent e57949d472
commit c25796e44d
5 changed files with 27 additions and 24 deletions

View File

@@ -298,6 +298,13 @@ fn core_main_invoke_new_connection(mut args: std::env::Args) -> Option<Vec<Strin
eprintln!("please provide a valid peer id");
return None;
}
let mut switch_uuid = None;
while let Some(item) = args.next() {
if item == "--switch_uuid" {
switch_uuid = args.next();
}
}
#[cfg(target_os = "linux")]
{
use crate::dbus::invoke_new_connection;
@@ -315,8 +322,14 @@ fn core_main_invoke_new_connection(mut args: std::env::Args) -> Option<Vec<Strin
}
#[cfg(windows)]
{
let switch_uuid = switch_uuid.map_or("".to_string(), |p| format!("switch_uuid={}", p));
let params = vec![switch_uuid].join("&");
let params_flag = if params.is_empty() { "" } else { "?" };
use winapi::um::winuser::WM_USER;
let uni_links = format!("rustdesk://connection/new/{}", peer_id);
let uni_links = format!(
"rustdesk://connection/new/{}{}{}",
peer_id, params_flag, params
);
let res = crate::platform::send_message_to_hnwd(
"FLUTTER_RUNNER_WIN32_WINDOW",
"RustDesk",