LenovoLegionToolkit
35 строк · 894.0 Байт
1using System;2using System.Collections.Generic;3using System.Diagnostics;4using System.Linq;5using NvAPIWrapper.GPU;6using NvAPIWrapper.Native;7
8namespace LenovoLegionToolkit.Lib.Extensions;9
10public static class NVAPIExtensions11{
12private static readonly string[] Exclusions =13{14"dwm.exe",15"explorer.exe",16};17
18public static List<Process> GetActiveProcesses(PhysicalGPU gpu)19{20var processes = new List<Process>();21var apps = GPUApi.QueryActiveApps(gpu.Handle).Where(app => !Exclusions.Contains(app.ProcessName, StringComparer.InvariantCultureIgnoreCase));22
23foreach (var app in apps)24{25try26{27var process = Process.GetProcessById(app.ProcessId);28processes.Add(process);29}30catch (ArgumentException) { }31}32
33return processes;34}35}
36