La prise de contrôle sur le processus a commencé par un URI en C #
-
28-10-2019 - |
Question
Je fais un programme qui ouvre une application configurée après les paramters passés par une url avec shell exécuter. J'ai obtenu ce qui suit:
ProcessStartInfo procinfo = new ProcessStartInfo(URI);
procinfo.UseShellExecute = true;
Process App = Process.Start(procinfo);
Je veux tuer ce processus plus tard, après quelques minutes grâce à ce projet que je pouvais faire par App.Kill () mais le problème est que le Process.Start () retourne toujours null si je passe l'URI. Comment pourrais-je arriver à ce processus?
La solution
Si l'adresse du fichier exécutable pour commencer est une URL, le processus n'a pas démarré et NULL est renvoyée. http://msdn.microsoft.com/en-us/library/53ezey2s.aspx
Même si vous spécifiez un navigateur, le processus pourrait être un gestionnaire simple qui envoie un message à un processus existant (ou ouvre un autre processus) et se ferme immédiatement.
Mais vous pouvez explicitement lancer le navigateur que vous voulez si vous savez comment ses processus fonctionne.
Process p = Process.Start(browserExePath, url);