fix: check server running on Windows (#11578)

Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
fufesou 2025-04-27 12:04:05 +08:00 committed by GitHub
parent f438bf582b
commit 16e9e716b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -77,7 +77,14 @@ pub fn core_main() -> Option<Vec<String>> {
}
#[cfg(any(target_os = "linux", target_os = "windows"))]
if args.is_empty() {
if crate::check_process("--server", false) && !crate::check_process("--tray", true) {
#[cfg(target_os = "linux")]
let is_server_running = crate::check_process("--server", false);
// We can use `crate::check_process("--server", false)` on Windows.
// Because `--server` process is the System user's process. We can't get the arguments in `check_process()`.
// We can assume that self service running means the server is also running on Windows.
#[cfg(target_os = "windows")]
let is_server_running = crate::platform::is_self_service_running();
if is_server_running && !crate::check_process("--tray", true) {
#[cfg(target_os = "linux")]
hbb_common::allow_err!(crate::platform::check_autostart_config());
hbb_common::allow_err!(crate::run_me(vec!["--tray"]));