mirror of
https://jihulab.com/DGP-Studio/Snap.Hutao.git
synced 2025-11-19 21:02:53 +08:00
Merge pull request #1697 from DGP-Studio/opt/launch_game_activation
This commit is contained in:
@@ -96,25 +96,31 @@ internal sealed partial class AppActivation : IAppActivation, IAppActivationActi
|
||||
|
||||
await taskContext.SwitchToMainThreadAsync();
|
||||
|
||||
if (currentWindowReference.Window is null)
|
||||
switch (currentWindowReference.Window)
|
||||
{
|
||||
currentWindowReference.Window = serviceProvider.GetRequiredService<LaunchGameWindow>();
|
||||
return;
|
||||
}
|
||||
case null:
|
||||
LaunchGameWindow launchGameWindow = serviceProvider.GetRequiredService<LaunchGameWindow>();
|
||||
currentWindowReference.Window = launchGameWindow;
|
||||
|
||||
if (currentWindowReference.Window is MainWindow)
|
||||
{
|
||||
await serviceProvider
|
||||
.GetRequiredService<INavigationService>()
|
||||
.NavigateAsync<View.Page.LaunchGamePage>(INavigationAwaiter.Default, true)
|
||||
.ConfigureAwait(false);
|
||||
launchGameWindow.SwitchTo();
|
||||
launchGameWindow.BringToForeground();
|
||||
return;
|
||||
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
// We have a non-Main Window, just exit current process anyway
|
||||
Process.GetCurrentProcess().Kill();
|
||||
case MainWindow:
|
||||
await serviceProvider
|
||||
.GetRequiredService<INavigationService>()
|
||||
.NavigateAsync<View.Page.LaunchGamePage>(INavigationAwaiter.Default, true)
|
||||
.ConfigureAwait(false);
|
||||
return;
|
||||
|
||||
case LaunchGameWindow currentLaunchGameWindow:
|
||||
currentLaunchGameWindow.SwitchTo();
|
||||
currentLaunchGameWindow.BringToForeground();
|
||||
return;
|
||||
|
||||
default:
|
||||
Process.GetCurrentProcess().Kill();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,8 @@ internal static class WindowExtension
|
||||
{
|
||||
ShowWindow(hwnd, SHOW_WINDOW_CMD.SW_SHOW);
|
||||
}
|
||||
else if (IsIconic(hwnd))
|
||||
|
||||
if (IsIconic(hwnd))
|
||||
{
|
||||
ShowWindow(hwnd, SHOW_WINDOW_CMD.SW_RESTORE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user