Поменять приоритет процесса запущенного приложения и отобразить в textbox - C#

Узнай цену своей работы

Формулировка задачи:

Привет, есть такая проблема: программа запускает процесс и выводит в textbox его приоритет. Дальше нужно открыть диспетчер задач, найти этот процесс и поменять там его приоритет, затем вернуться в выполняемую программу и обновить textbox и там должен вывестись актуальный приоритет, который мы поменяли в диспетчере.
Листинг программы
  1. Process proc;
  2. public void NewProc() // Метод, запускаемый в отдельном потоке
  3. {
  4. System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
  5. proc = new Process();
  6. proc.StartInfo.FileName = "C:\\Users\\Сергей\\Desktop\\Учеба\\ИСИС\\LABS\\LABS\\Windows\\Примеры\\LRS\\Child.exe";
  7. proc.Start(); // Запускаем процесс
  8. tbID.Text = Convert.ToString(proc.Id); // Получаем id процесса и выводим в textbox
  9. //tbPriorClass.Text = Convert.ToString(proc.PriorityClass); // Получаем и выводим приоритет процесса
  10.  
  11. while (!proc.WaitForExit(1000));
  12. tbExitCode.Text = Convert.ToString(proc.ExitCode); // Получаем ExitCode
  13.  
  14. }
  15.  
  16. private void btCreateProc_Click(object sender, EventArgs e) // Процесс запускается в отдельном потоке
  17. {
  18. Thread th = new Thread(NewProc);
  19. th.Start();
  20. // OpenProcFunction();
  21. // closeHandFunction();
  22. }
  23. --------------------------------------------------------------------------
  24. private void btnRefreshPriority_Click(object sender, EventArgs e) //Обновление Приоритета
  25. {
  26. tbPriorClass.Text = Convert.ToString(proc.PriorityClass);
  27. }
Например, я запускаю процесс и нажимаю btnRefreshPriority_Click - прога выводит приоритет. Далее, после того как я меняю его в диспетчере я снова нажимаю на btnRefreshPriority_Click и должен получить новый приоритет

Решение задачи: «Поменять приоритет процесса запущенного приложения и отобразить в textbox»

textual
Листинг программы
  1. Process proc;
  2.  
  3. public void NewProc()
  4. {
  5.     proc = Process.Start(@"C:\Users\Сергей\Desktop\Учеба\ИСИС\LABS\LABS\Windows\Примеры\LRS\Child.exe");
  6.     tbID.Text = Convert.ToString(proc.Id);
  7.    
  8.     proc.WaitForExit();
  9.     tbExitCode.Invoke((Action)(
  10.         () => tbExitCode.Text = proc.ExitCode.ToString()
  11.     ));
  12. }
  13.  
  14.  
  15. private void btCreateProc_Click(object sender, EventArgs e)
  16. {
  17.     Thread th = new Thread(NewProc);
  18.     th.Start();
  19. }
  20.  
  21. private void btnRefreshPriority_Click(object sender, EventArgs e)
  22. {  
  23.     proc.Refresh(); // Обновляем информацию о процессе
  24.     tbPriorClass.Text = proc.HasExited ? "Процесс завершился" : proc.PriorityClass.ToString();
  25. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы