Merge pull request #9198 from Howard302/feature/esc-cancel-launch
feat: 在启动页面按 Esc 取消启动游戏
This commit is contained in:
@@ -803,8 +803,14 @@ Public Class FormMain
|
||||
' 在没有弹窗时:继续检查……
|
||||
'==========================
|
||||
|
||||
'按 ESC 返回上一级
|
||||
If e.Key = Key.Escape Then TriggerPageBack()
|
||||
'按 ESC:启动中则取消启动,否则返回上一级
|
||||
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
|
||||
FrmSelectRight.ShowHidden = Not FrmSelectRight.ShowHidden
|
||||
|
||||
@@ -196,6 +196,25 @@ NextInner:
|
||||
End Try
|
||||
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
|
||||
|
||||
#Region "内存优化"
|
||||
|
||||
@@ -692,19 +692,7 @@ ExitRefresh:
|
||||
End Sub
|
||||
'取消按钮
|
||||
Private Sub BtnCancel_Click() Handles BtnCancel.Click
|
||||
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
|
||||
McLaunchCancel()
|
||||
End Sub
|
||||
'版本设置按钮
|
||||
Private Sub BtnMore_Click() Handles BtnMore.Click
|
||||
|
||||
Reference in New Issue
Block a user