Ottenere il controllo sul processo avviato da un URI in C#
-
28-10-2019 - |
Domanda
Sto realizzando un programma che apre un'applicazione configurata dopo i parametri passati tramite un URL con Shell Esecute. L'ho raggiunto con quanto segue:
ProcessStartInfo procinfo = new ProcessStartInfo(URI);
procinfo.UseShellExecute = true;
Process App = Process.Start(procinfo);
Voglio uccidere questo processo più tardi dopo alcuni minuti attraverso questo progetto che potrei fare tramite app.kill () ma il problema è che il processo.start () restituisce sempre nullo se passo l'URI. Come potrei raggiungere quel processo?
Soluzione
Se l'indirizzo del file eseguibile all'avvio è un URL, il processo non viene avviato e NULL viene restituito. http://msdn.microsoft.com/en-us/library/53ezey2shaspx
Anche se si specifica un browser, il processo potrebbe essere un semplice gestore che invia un messaggio a un processo esistente (o apre un altro processo) e si chiude immediatamente.
Ma puoi lanciare esplicitamente il browser che desideri se sai come funziona il suo processo.
Process p = Process.Start(browserExePath, url);