Merge pull request #9198 from Howard302/feature/esc-cancel-launch

feat: 在启动页面按 Esc 取消启动游戏
This commit is contained in:
龙腾猫跃
2026-09-03 21:39:12 +08:00
committed by GitHub
3 changed files with 28 additions and 15 deletions
+8 -2
View File
@@ -803,8 +803,14 @@ Public Class FormMain
' 在没有弹窗时:继续检查…… ' 在没有弹窗时:继续检查……
'========================== '==========================
'按 ESC 返回上一级 '按 ESC:启动中则取消启动,否则返回上一级
If e.Key = Key.Escape Then TriggerPageBack() If e.Key = Key.Escape Then
If McLaunchLoader.State = LoadState.Loading Then
McLaunchCancel()
Else
TriggerPageBack()
End If
End If
'更改隐藏版本可见性 '更改隐藏版本可见性
If e.Key = Key.F11 AndAlso PageCurrent = FormMain.PageType.InstanceSelect Then If e.Key = Key.F11 AndAlso PageCurrent = FormMain.PageType.InstanceSelect Then
FrmSelectRight.ShowHidden = Not FrmSelectRight.ShowHidden FrmSelectRight.ShowHidden = Not FrmSelectRight.ShowHidden
@@ -196,6 +196,25 @@ NextInner:
End Try End Try
End Sub End Sub
''' <summary>
''' 取消正在进行的游戏启动。
''' </summary>
Public Sub McLaunchCancel()
If McLaunchLoaderReal IsNot Nothing Then
McLaunchLoaderReal.Cancel()
McLaunchLog("已取消启动")
Try
If McLaunchWatcher IsNot Nothing Then
McLaunchWatcher.Kill()
ElseIf McLaunchProcess IsNot Nothing Then
If Not McLaunchProcess.HasExited Then McLaunchProcess.Kill()
End If
Catch ex As Exception
Logger.Error(ex, "取消启动结束进程失败", LogBehavior.Toast)
End Try
End If
End Sub
#End Region #End Region
#Region "内存优化" #Region "内存优化"
@@ -692,19 +692,7 @@ ExitRefresh:
End Sub End Sub
'取消按钮 '取消按钮
Private Sub BtnCancel_Click() Handles BtnCancel.Click Private Sub BtnCancel_Click() Handles BtnCancel.Click
If McLaunchLoaderReal IsNot Nothing Then McLaunchCancel()
McLaunchLoaderReal.Cancel()
McLaunchLog("已取消启动")
Try
If McLaunchWatcher IsNot Nothing Then
McLaunchWatcher.Kill()
ElseIf McLaunchProcess IsNot Nothing Then
If Not McLaunchProcess.HasExited Then McLaunchProcess.Kill()
End If
Catch ex As Exception
Logger.Error(ex, "取消启动结束进程失败", LogBehavior.Toast)
End Try
End If
End Sub End Sub
'版本设置按钮 '版本设置按钮
Private Sub BtnMore_Click() Handles BtnMore.Click Private Sub BtnMore_Click() Handles BtnMore.Click