Use SpinWait to wait game window instead of WaitForInputIdle

This commit is contained in:
qhy040404
2024-03-15 22:24:47 +08:00
parent dc64302424
commit 3d3b03851e

View File

@@ -26,11 +26,16 @@ internal sealed class LaunchExecutionBetterGenshinImpactAutomationHandlder : ILa
try
{
context.Logger.LogInformation("Waiting game window to be ready");
context.Process.WaitForInputIdle();
SpinWait spinWait = default;
while (context.Process.MainWindowHandle == IntPtr.Zero)
{
spinWait.SpinOnce();
}
}
catch (InvalidOperationException)
{
context.Logger.LogInformation("Failed to wait Input idle waiting");
context.Logger.LogInformation("Failed to get game window handle");
return;
}