From 490df104f089701311a8b3ec7a350d5955c10d98 Mon Sep 17 00:00:00 2001 From: DismissedLight <1686188646@qq.com> Date: Mon, 4 Sep 2023 22:34:09 +0800 Subject: [PATCH] elevation override --- src/Snap.Hutao/Snap.Hutao/Core/RuntimeOptions.cs | 5 +++++ src/Snap.Hutao/Snap.Hutao/Core/Setting/SettingKeys.cs | 5 +++++ src/Snap.Hutao/Snap.Hutao/View/Page/TestPage.xaml | 4 ++++ src/Snap.Hutao/Snap.Hutao/ViewModel/TestViewModel.cs | 7 +++++++ 4 files changed, 21 insertions(+) diff --git a/src/Snap.Hutao/Snap.Hutao/Core/RuntimeOptions.cs b/src/Snap.Hutao/Snap.Hutao/Core/RuntimeOptions.cs index 7e2238c6..f5a89430 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/RuntimeOptions.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/RuntimeOptions.cs @@ -130,6 +130,11 @@ internal sealed class RuntimeOptions : IOptions private static bool GetElevated() { + if (LocalSetting.Get(SettingKeys.OverrideElevationRequirement, false)) + { + return true; + } + using (WindowsIdentity identity = WindowsIdentity.GetCurrent()) { WindowsPrincipal principal = new(identity); diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Setting/SettingKeys.cs b/src/Snap.Hutao/Snap.Hutao/Core/Setting/SettingKeys.cs index 6a15dfb3..a0386288 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Setting/SettingKeys.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Setting/SettingKeys.cs @@ -58,4 +58,9 @@ internal static class SettingKeys /// 禁用元数据更新检查 /// public const string SuppressMetadataInitialization = "SuppressMetadataInitialization"; + + /// + /// 覆盖管理员权限执行命令 + /// + public const string OverrideElevationRequirement = "OverrideElevationRequirement"; } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/TestPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/TestPage.xaml index 8ab0f58c..dd285d4a 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/TestPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/TestPage.xaml @@ -69,6 +69,10 @@ + + + + LocalSetting.Set(SettingKeys.SuppressMetadataInitialization, value); } + [SuppressMessage("", "CA1822")] + public bool OverrideElevationRequirement + { + get => LocalSetting.Get(SettingKeys.OverrideElevationRequirement, false); + set => LocalSetting.Set(SettingKeys.OverrideElevationRequirement, value); + } + protected override ValueTask InitializeUIAsync() { return ValueTask.FromResult(true);