Поменять приоритет процесса запущенного приложения и отобразить в textbox - C#
Формулировка задачи:
Привет, есть такая проблема: программа запускает процесс и выводит в textbox его приоритет. Дальше нужно открыть диспетчер задач, найти этот процесс и поменять там его приоритет, затем вернуться в выполняемую программу и обновить textbox и там должен вывестись актуальный приоритет, который мы поменяли в диспетчере.
Process proc; public void NewProc() // Метод, запускаемый в отдельном потоке { System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false; proc = new Process(); proc.StartInfo.FileName = "C:\\Users\\Сергей\\Desktop\\Учеба\\ИСИС\\LABS\\LABS\\Windows\\Примеры\\LRS\\Child.exe"; proc.Start(); // Запускаем процесс tbID.Text = Convert.ToString(proc.Id); // Получаем id процесса и выводим в textbox //tbPriorClass.Text = Convert.ToString(proc.PriorityClass); // Получаем и выводим приоритет процесса while (!proc.WaitForExit(1000)); tbExitCode.Text = Convert.ToString(proc.ExitCode); // Получаем ExitCode } private void btCreateProc_Click(object sender, EventArgs e) // Процесс запускается в отдельном потоке { Thread th = new Thread(NewProc); th.Start(); // OpenProcFunction(); // closeHandFunction(); } -------------------------------------------------------------------------- private void btnRefreshPriority_Click(object sender, EventArgs e) //Обновление Приоритета { tbPriorClass.Text = Convert.ToString(proc.PriorityClass); }
Например, я запускаю процесс и нажимаю btnRefreshPriority_Click - прога выводит приоритет. Далее, после того как я меняю его в диспетчере я снова нажимаю на btnRefreshPriority_Click и должен получить новый приоритет
Решение задачи: «Поменять приоритет процесса запущенного приложения и отобразить в textbox»
textual
Листинг программы
Process proc; public void NewProc() { proc = Process.Start(@"C:\Users\Сергей\Desktop\Учеба\ИСИС\LABS\LABS\Windows\Примеры\LRS\Child.exe"); tbID.Text = Convert.ToString(proc.Id); proc.WaitForExit(); tbExitCode.Invoke((Action)( () => tbExitCode.Text = proc.ExitCode.ToString() )); } private void btCreateProc_Click(object sender, EventArgs e) { Thread th = new Thread(NewProc); th.Start(); } private void btnRefreshPriority_Click(object sender, EventArgs e) { proc.Refresh(); // Обновляем информацию о процессе tbPriorClass.Text = proc.HasExited ? "Процесс завершился" : proc.PriorityClass.ToString(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д