Получение идентификатора процесса при запуске процесса через класс C # Process - PullRequest
0 голосов
/ 28 апреля 2011

Я запускаю задание VLC для записи некоторого потокового звука из функции ac # следующим образом (фактические аргументы не имеют отношения к вопросу):

 Process proc = new Process();
 proc.StartInfo.FileName = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe";
 proc.StartInfo.Arguments = "someArgs";
 proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
 proc.Start();

Если все работает правильно, то StartФункция () немедленно возвращается, и процесс запускается локально (т. е. VLC).

  • Как я могу получить идентификатор процесса для этого задания VLC, чтобы потом можно было его убить?Использование proc.Close () закрывает процесс, но не завершает работу VLC.
  • Что является наиболее эффективным способом уничтожить задание VLC?У меня есть права администратора локально.
  • Как проверить, что задание началось правильно?Есть ли какой-нибудь флаг состояния на объекте proc, который я могу проверить?

Спасибо, Андрей

1 Ответ

1 голос
/ 28 апреля 2011

Идентификатор должен быть в вашем объекте процесса как proc.Id.

Вы можете убить его с помощью proc.Kill ().

Если возникла проблема с запуском процесса, он выброситисключение (скорее всего, Win32Exception или InvalidOperationException; см. справку.)

...