public static void Create(string key, CpuPriorityLevel priorityLevel) { RegistryKey subKey = WorkingKey.CreateSubKey(key); RegistryKey perfOptions = subKey?.CreateSubKey("PerfOptions"); perfOptions?.SetValue("CpuPriorityClass", priorityLevel, RegistryValueKind.DWord); perfOptions?.Close(); }
public static CpuPriorityLevel Update(string key, CpuPriorityLevel priorityLevel) { var oldPriorityLevel = GetCpuPriorityLevel(key); RegistryKey perfOptions = WorkingKey.OpenSubKey(key + @"\PerfOptions", true); perfOptions?.SetValue("CpuPriorityClass", priorityLevel, RegistryValueKind.DWord); perfOptions?.Close(); return(oldPriorityLevel); }
public CreateCommand(string key, int priorityLevel) { if (key == null) { throw new ArgumentNullException(nameof(key), "The key value is null"); } _key = key.Contains(".") ? key : key + ".exe"; if (priorityLevel < 1 || priorityLevel > 6) { throw new ArgumentException($"Wrong priority level: {priorityLevel}"); } if (priorityLevel == 4) { throw new ArgumentException("The level cannot be RealTime, " + "because the system will detect it as Normal"); } _priorityLevel = (CpuPriorityLevel)priorityLevel; }
public void Execute() { _oldPriorityLevel = CpuPriorityOptionsWorker.Update(_key, _priorityLevel); Console.WriteLine($"Priority level for '{_key}'" + $" update from {_oldPriorityLevel} to {_priorityLevel}"); }
public void Execute() { _oldPriorityLevel = CpuPriorityOptionsWorker.Delete(_key); Console.WriteLine($"Startup settings have been deleted for '{_key}'" + $" with priority level: {_oldPriorityLevel}"); }