Поменять приоритет процесса запущенного приложения и отобразить в 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();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д