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}");
 }
Exemple #5
0
 public void Execute()
 {
     _oldPriorityLevel = CpuPriorityOptionsWorker.Delete(_key);
     Console.WriteLine($"Startup settings have been deleted for '{_key}'" +
                       $" with priority level: {_oldPriorityLevel}");
 }