Получение контроля над процессом, начатым с помощью URI в C#
-
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);