mirror of
https://jihulab.com/DGP-Studio/Snap.Hutao.git
synced 2025-11-19 21:02:53 +08:00
add restart as admin
This commit is contained in:
@@ -1571,6 +1571,12 @@
|
||||
<data name="ViewModelSettingGeetestCustomUrlSucceed" xml:space="preserve">
|
||||
<value>无感验证复合 Url 配置成功</value>
|
||||
</data>
|
||||
<data name="ViewModelSettingNotRunningInElevatedMode" xml:space="preserve">
|
||||
<value>当前以用户身份运行</value>
|
||||
</data>
|
||||
<data name="ViewModelSettingRunningInElevatedMode" xml:space="preserve">
|
||||
<value>当前以管理员身份运行</value>
|
||||
</data>
|
||||
<data name="ViewModelSettingSetDataFolderSuccess" xml:space="preserve">
|
||||
<value>设置数据目录成功,重启以应用更改</value>
|
||||
</data>
|
||||
@@ -2229,7 +2235,7 @@
|
||||
<value>创建</value>
|
||||
</data>
|
||||
<data name="ViewPageSettingCreateDesktopShortcutDescription" xml:space="preserve">
|
||||
<value>在桌面上创建默认以管理员方式启动的快捷方式</value>
|
||||
<value>在桌面上创建默认以管理员身份启动的快捷方式</value>
|
||||
</data>
|
||||
<data name="ViewPageSettingCreateDesktopShortcutHeader" xml:space="preserve">
|
||||
<value>创建快捷方式</value>
|
||||
@@ -2273,6 +2279,15 @@
|
||||
<data name="ViewPageSettingDeviceIpHeader" xml:space="preserve">
|
||||
<value>设备 IP</value>
|
||||
</data>
|
||||
<data name="ViewPageSettingElevatedModeDescription" xml:space="preserve">
|
||||
<value>管理员模式会影响部分功能的可用性</value>
|
||||
</data>
|
||||
<data name="ViewPageSettingElevatedModeHeader" xml:space="preserve">
|
||||
<value>管理员模式</value>
|
||||
</data>
|
||||
<data name="ViewPageSettingElevatedModeRestartAction" xml:space="preserve">
|
||||
<value>以管理员身份重启</value>
|
||||
</data>
|
||||
<data name="ViewPageSettingEmptyHistoryVisibleDescription" xml:space="preserve">
|
||||
<value>在祈愿记录页面显示或隐藏无记录的历史祈愿活动</value>
|
||||
</data>
|
||||
|
||||
@@ -181,14 +181,26 @@
|
||||
HeaderIcon="{shcm:FontIcon Glyph=}"
|
||||
IsClickEnabled="True"/>
|
||||
|
||||
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" Text="{shcm:ResourceString Name=ViewPageSettingShellExperienceHeader}"/>
|
||||
<cwc:SettingsCard
|
||||
ActionIconToolTip="{shcm:ResourceString Name=ViewPageSettingCreateDesktopShortcutAction}"
|
||||
Command="{Binding CreateDesktopShortcutCommand}"
|
||||
Description="{shcm:ResourceString Name=ViewPageSettingCreateDesktopShortcutDescription}"
|
||||
Header="{shcm:ResourceString Name=ViewPageSettingCreateDesktopShortcutHeader}"
|
||||
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" Text="{shcm:ResourceString Name=ViewPageSettingElevatedModeHeader}"/>
|
||||
<cwc:SettingsExpander
|
||||
Description="{shcm:ResourceString Name=ViewPageSettingElevatedModeDescription}"
|
||||
Header="{Binding ElevatedModeHeader}"
|
||||
HeaderIcon="{shcm:FontIcon Glyph=}"
|
||||
IsClickEnabled="True"/>
|
||||
IsExpanded="True">
|
||||
<Button
|
||||
Command="{Binding RestartAsElevatedCommand}"
|
||||
Content="{shcm:ResourceString Name=ViewPageSettingElevatedModeRestartAction}"
|
||||
IsEnabled="{Binding HutaoOptions.IsElevated, Converter={StaticResource BoolNegationConverter}}"
|
||||
Style="{ThemeResource SettingButtonStyle}"/>
|
||||
<cwc:SettingsExpander.Items>
|
||||
<cwc:SettingsCard
|
||||
ActionIconToolTip="{shcm:ResourceString Name=ViewPageSettingCreateDesktopShortcutAction}"
|
||||
Command="{Binding CreateDesktopShortcutCommand}"
|
||||
Description="{shcm:ResourceString Name=ViewPageSettingCreateDesktopShortcutDescription}"
|
||||
Header="{shcm:ResourceString Name=ViewPageSettingCreateDesktopShortcutHeader}"
|
||||
IsClickEnabled="True"/>
|
||||
</cwc:SettingsExpander.Items>
|
||||
</cwc:SettingsExpander>
|
||||
|
||||
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" Text="{shcm:ResourceString Name=ViewPageSettingApperanceHeader}"/>
|
||||
<cwc:SettingsCard
|
||||
|
||||
@@ -25,6 +25,7 @@ using Snap.Hutao.ViewModel.Guide;
|
||||
using Snap.Hutao.Web.Hoyolab;
|
||||
using Snap.Hutao.Web.Hutao;
|
||||
using Snap.Hutao.Web.Response;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
@@ -130,6 +131,13 @@ internal sealed partial class SettingViewModel : Abstraction.ViewModel
|
||||
set => LocalSetting.Set(SettingKeys.IsAllocConsoleDebugModeEnabled, value);
|
||||
}
|
||||
|
||||
public string ElevatedModeHeader
|
||||
{
|
||||
get => HutaoOptions.IsElevated
|
||||
? SH.ViewModelSettingRunningInElevatedMode
|
||||
: SH.ViewModelSettingNotRunningInElevatedMode;
|
||||
}
|
||||
|
||||
protected override async ValueTask<bool> InitializeUIAsync()
|
||||
{
|
||||
CacheFolderView = new(taskContext, runtimeOptions.LocalCache);
|
||||
@@ -281,4 +289,18 @@ internal sealed partial class SettingViewModel : Abstraction.ViewModel
|
||||
infoBarService.Warning(SH.ViewModelSettingCreateDesktopShortcutFailed);
|
||||
}
|
||||
}
|
||||
|
||||
[Command("RestartAsElevatedCommand")]
|
||||
private void RestartAsElevated()
|
||||
{
|
||||
ProcessStartInfo info = new()
|
||||
{
|
||||
FileName = $"shell:AppsFolder\\{runtimeOptions.FamilyName}!App",
|
||||
UseShellExecute = true,
|
||||
Verb = "runas",
|
||||
};
|
||||
|
||||
Process.Start(info);
|
||||
Process.GetCurrentProcess().Kill();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user