diff --git a/src/MeoAsstGui/Resources/Localizations/en-us.xaml b/src/MeoAsstGui/Resources/Localizations/en-us.xaml
index 2dd7c04d7e..ae1474aa19 100644
--- a/src/MeoAsstGui/Resources/Localizations/en-us.xaml
+++ b/src/MeoAsstGui/Resources/Localizations/en-us.xaml
@@ -180,6 +180,7 @@
Close Emulator
Exit and Close Emulator
Hibernate*
+ Exit and Close Emulator and Hibernate*
Shutdown*
Link Start!
diff --git a/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml b/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml
index d1e1b45627..57ae6837e4 100644
--- a/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml
+++ b/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml
@@ -180,6 +180,7 @@
エミュレータを終了する
MAAとエミュレータを終了する
休止状態にする*
+ MAAとエミューレータを終了し、PCをスリープさせる*
シャットダウン*
Link Start!
diff --git a/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml b/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml
index 3b8a2ea4ab..fa94880da8 100644
--- a/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml
+++ b/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml
@@ -180,6 +180,7 @@
关闭模拟器
退出并关闭模拟器
休眠*
+ 退出并关闭模拟器并休眠*
关机*
Link Start!
diff --git a/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml b/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml
index 39df0a99b8..c117d6b0b6 100644
--- a/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml
+++ b/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml
@@ -180,6 +180,7 @@
關閉模擬器
退出並關閉模擬器
休眠*
+ 退出並關閉模擬器並休眠*
關機*
Link Start!
diff --git a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs
index 9cf247ea0d..375ba3896e 100644
--- a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs
+++ b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs
@@ -88,7 +88,7 @@ namespace MeoAsstGui
{
SetAndNotify(ref _actionAfterCompleted, value.ToString());
string storeValue = ActionType.DoNothing.ToString();
- if (value != ActionType.Shutdown && value != ActionType.Hibernate)
+ if (value != ActionType.Shutdown && value != ActionType.Hibernate && value != ActionType.ExitMAAAndCloseEmulatorAndHibernate)
{
storeValue = value.ToString();
}
@@ -270,6 +270,7 @@ namespace MeoAsstGui
// new GenericCombData{ Display="待机",Value=ActionTypeAfterCompleted.Suspend },
new GenericCombData { Display = Localization.GetString("Hibernate"), Value = ActionType.Hibernate },
+ new GenericCombData { Display = Localization.GetString("ExitMAAAndCloseEmulatorAndHibernate"), Value = ActionType.ExitMAAAndCloseEmulatorAndHibernate },
new GenericCombData { Display = Localization.GetString("Shutdown"), Value = ActionType.Shutdown },
};
var temp_order_list = new List(new DragItemViewModel[task_list.Length]);
@@ -1090,6 +1091,11 @@ namespace MeoAsstGui
///
Hibernate,
+ ///
+ /// Exits MAA and emulator and computer hibernates.
+ ///
+ ExitMAAAndCloseEmulatorAndHibernate,
+
///
/// Computer shutdown.
///
@@ -1168,6 +1174,24 @@ namespace MeoAsstGui
Process.Start("shutdown.exe", "-h");
break;
+ case ActionType.ExitMAAAndCloseEmulatorAndHibernate:
+ if (!killEumlatorbyWindow())
+ {
+ AddLog(Localization.GetString("CloseEmulatorFailed"), LogColor.Error);
+ }
+
+ // 休眠提示
+ AddLog(Localization.GetString("HibernatePrompt"), LogColor.Error);
+
+ // 休眠不能加时间参数,https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/1133
+ Process.Start("shutdown.exe", "-h");
+
+ // Shutdown 会调用 OnExit 但 Exit 不会
+ Application.Current.Shutdown();
+
+ // Environment.Exit(0);
+ break;
+
default:
break;
}
diff --git a/src/MeoAsstGui/Views/TaskQueueView.xaml b/src/MeoAsstGui/Views/TaskQueueView.xaml
index 9589e14c4b..7ca2f14247 100644
--- a/src/MeoAsstGui/Views/TaskQueueView.xaml
+++ b/src/MeoAsstGui/Views/TaskQueueView.xaml
@@ -125,7 +125,7 @@
TextWrapping="Wrap" />