mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Windows - Fixed PowerShell error on Windows shutdown
This commit is contained in:
parent
ec32266fa5
commit
6a12286783
@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@ -16,6 +16,8 @@ namespace Artemis.UI.Windows;
|
|||||||
|
|
||||||
public class ApplicationStateManager
|
public class ApplicationStateManager
|
||||||
{
|
{
|
||||||
|
private const int SM_SHUTTINGDOWN = 0x2000;
|
||||||
|
|
||||||
public ApplicationStateManager(IKernel kernel, string[] startupArguments)
|
public ApplicationStateManager(IKernel kernel, string[] startupArguments)
|
||||||
{
|
{
|
||||||
StartupArguments = startupArguments;
|
StartupArguments = startupArguments;
|
||||||
@ -100,7 +102,8 @@ public class ApplicationStateManager
|
|||||||
|
|
||||||
private void RunForcedShutdownIfEnabled()
|
private void RunForcedShutdownIfEnabled()
|
||||||
{
|
{
|
||||||
if (StartupArguments.Contains("--disable-forced-shutdown"))
|
// Don't run a forced shutdown if Windows itself is shutting down, the new PowerShell process will fail
|
||||||
|
if (GetSystemMetrics(SM_SHUTTINGDOWN) != 0 || StartupArguments.Contains("--disable-forced-shutdown"))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ProcessStartInfo info = new()
|
ProcessStartInfo info = new()
|
||||||
@ -112,4 +115,7 @@ public class ApplicationStateManager
|
|||||||
};
|
};
|
||||||
Process.Start(info);
|
Process.Start(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[System.Runtime.InteropServices.DllImport("user32.dll")]
|
||||||
|
private static extern int GetSystemMetrics(int nIndex);
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user