Перезапустите другое приложение. C #, .net - PullRequest
6 голосов
/ 10 мая 2011

Я хочу перезапустить какой-то процесс.Давайте назовем это someApp.exe.Как я могу перезапустить этот процесс?Это не мое заявление.Это какая-то внешняя программа.

Ответы [ 2 ]

8 голосов
/ 10 мая 2011

То, что вы хотите сделать, это:

  • убить процесс
  • Запустите это снова

Есть несколько способов получения экземпляра Process в C #. Предположим, вы знаете название процесса:

var process = Process.GetProcessesByName("notepad++")[0];

Тогда вы можете сделать:

process.Kill();

Но чтобы запустить его снова, вам нужно знать путь к процессу, поэтому, прежде чем его убить, сохраните путь к исполняемому файлу:

var path = process.MainModule.FileName;

И тогда вы можете сделать:

Process.Start(path);


Вы должны проверить, возвращает ли GetProcessesByName элементы, прежде чем брать первый элемент, но я просто хотел сосредоточиться на важной вещи здесь.
0 голосов
/ 10 мая 2011

Вы можете использовать Process.Start.

http://msdn.microsoft.com/en-us/library/53ezey2s.aspx#Y1400

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...