Получение контроля над процессом, начатым с помощью URI в C#

StackOverflow https://stackoverflow.com/questions/9358156

  •  28-10-2019
  •  | 
  •  

Вопрос

Я делаю программу, которая открывает настроенное приложение после пропущенных параметров через URL -адрес с выполнением Shell. Я достиг этого со следующим:

ProcessStartInfo procinfo = new ProcessStartInfo(URI);
procinfo.UseShellExecute = true;
Process App = Process.Start(procinfo);

Я хочу убить этот процесс позже через несколько минут в этом проекте, который я мог бы сделать с помощью app.kill (), но проблема в том, что процесс. Start () всегда возвращает NULL, если я передаю URI. Как я мог достичь этого процесса?

Это было полезно?

Решение

Если адрес исполняемого файла для запуска является URL, процесс не запускается, а нулевое возвращается. http://msdn.microsoft.com/en-us/library/53ezey2s.aspx

Даже если вы указали браузер, процесс может быть простым обработчиком, который отправляет сообщение на существующий процесс (или открывает другой процесс) и немедленно закрывается.

Но вы можете явно запустить нужный браузер, если знаете, как работает его процесс.

Process p = Process.Start(browserExePath, url);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top