From c5c24acb17eca7de8eae6d3c2fad24dc1148f758 Mon Sep 17 00:00:00 2001 From: Jack251970 <1160210343@qq.com> Date: Thu, 22 May 2025 22:55:17 +0800 Subject: [PATCH] Check run level --- Flow.Launcher/Helper/AutoStartup.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Flow.Launcher/Helper/AutoStartup.cs b/Flow.Launcher/Helper/AutoStartup.cs index e6fd1ba1e..6e1702ccf 100644 --- a/Flow.Launcher/Helper/AutoStartup.cs +++ b/Flow.Launcher/Helper/AutoStartup.cs @@ -64,7 +64,8 @@ public class AutoStartup if (task.Definition.Actions.FirstOrDefault() is Microsoft.Win32.TaskScheduler.Action taskAction) { var action = taskAction.ToString().Trim(); - if (!action.Equals(Constant.ExecutablePath, StringComparison.OrdinalIgnoreCase)) + if (!action.Equals(Constant.ExecutablePath, StringComparison.OrdinalIgnoreCase) || // Path issue + !CheckRunLevel(task.Definition.Principal, alwaysRunAsAdministrator)) // Run level issue { UnscheduleLogonTask(); ScheduleLogonTask(alwaysRunAsAdministrator); @@ -83,6 +84,11 @@ public class AutoStartup return false; } + private static bool CheckRunLevel(TaskPrincipal tp, bool alwaysRunAsAdministrator) + { + return alwaysRunAsAdministrator ? tp.RunLevel == TaskRunLevel.Highest : tp.RunLevel != TaskRunLevel.Highest; + } + private static bool CheckRegistry() { try