1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00

Fix ScanProcesses Access Denied

This commit is contained in:
SpoinkyNL 2017-01-22 00:42:39 +01:00
parent 07f7ae263d
commit eab261cd46

View File

@ -144,7 +144,7 @@ namespace Artemis.Managers
if (!ProgramEnabled) if (!ProgramEnabled)
return; return;
var processes = System.Diagnostics.Process.GetProcesses().Where(p => !p.HasExited).ToList(); var processes = System.Diagnostics.Process.GetProcesses();
var module = ModuleManager.ActiveModule; var module = ModuleManager.ActiveModule;
// If the current active module is in preview-mode, leave it alone // If the current active module is in preview-mode, leave it alone
@ -158,7 +158,7 @@ namespace Artemis.Managers
ModuleManager.DisableProcessBoundModule(); ModuleManager.DisableProcessBoundModule();
// If the currently active effect is a no longer running game, get rid of it. // If the currently active effect is a no longer running game, get rid of it.
if (!processes.Any(p => module.ProcessNames.Contains(p.ProcessName))) if (!processes.Any(p => module.ProcessNames.Contains(p.ProcessName) && !p.HasExited))
{ {
Logger.Info("Disabling process bound module because process stopped: {0}", module.Name); Logger.Info("Disabling process bound module because process stopped: {0}", module.Name);
ModuleManager.DisableProcessBoundModule(); ModuleManager.DisableProcessBoundModule();
@ -167,7 +167,7 @@ namespace Artemis.Managers
// Look for running games, stopping on the first one that's found. // Look for running games, stopping on the first one that's found.
var newModule = ModuleManager.ProcessModules.Where(g => g.Settings.IsEnabled && g.Settings.IsEnabled) var newModule = ModuleManager.ProcessModules.Where(g => g.Settings.IsEnabled && g.Settings.IsEnabled)
.FirstOrDefault(g => processes.Any(p => g.ProcessNames.Contains(p.ProcessName))); .FirstOrDefault(g => processes.Any(p => g.ProcessNames.Contains(p.ProcessName) && !p.HasExited));
if (newModule == null || module == newModule) if (newModule == null || module == newModule)
return; return;