feat: 在启动页面按 Esc 取消启动游戏
- 在 ModLaunch.vb 中添加 McLaunchCancel() 公共方法,封装取消启动逻辑 - 更新 PageLaunchLeft.vb 的 BtnCancel_Click 调用 McLaunchCancel() - 更新 FormMain.xaml.vb 的 Esc 键处理:启动中按 Esc 取消启动,否则返回上一级 Closes #9193
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user