Comment puis-je obtenir la liste des Noms de Processus en cours d'exécution, en VB.NET?
J'essaie de savoir si une instance d'une application (pas vb.net) est déjà en cours d'exécution - parce que je veux le lancer, mais je ne veux pas démarrer si elle est déjà en cours d'exécution. J'ai trouvé une solution pour vérifier si un processus est en cours d'exécution:
Dim proc As Integer = Process.GetProcessesByName(ProcessName).GetUpperBound(0) + 1
et retourne True si >=1 (ou juste le numéro de processus).
Mon problème est que c'est une application tierce, et son nom de processus n'est pas seulement un nom, mais il contient un numéro de version (que je ne peut pas savoir au moment de l'exécution), et il semble également ajouter une *32 (probablement un *64 s'il est installé en x64 ?).
J'ai besoin d'obtenir une liste de processus en cours d'exécution, par son nom, et de tester si "processname" est une sous-chaîne du nom.
Mais je n'ai pas réussi à trouver une liste de noms, seulement id de processus.
OriginalL'auteur Thalia | 2012-06-15
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser:
Cela permettra de regarder à travers tous les processus, et de définir la
procExists
valeur True si un processus qui contientprocessName
existe dans l'exécution de processus. Ce doit gérer l'existence de l'inconnu numéro de version ainsi que le*32
qui peut se produire si vous exécutez sur un OS 64 bits (c'est le WOW64 drapeau en disant que c'est un processus 32 bits s'exécutant sur un système d'exploitation 64 bits).Ajoutez juste "Système d'Importation.Linq" en haut de votre fichier, et Tout devrait fonctionner. C'est une extension LINQ méthode (msdn.microsoft.com/en-us/library/bb534972.aspx)
Copsey: Doit-il pas être " p.ProcessName.- Contient: "au lieu de p.Nom.Contient? Et je ne suis pas sûr que si .Tout est caseINsensitive. Sinon quelques autres .ToUpper serait utile pour la recherche de la processname?
OriginalL'auteur Reed Copsey
Vous pouvez faire une boucle à travers les processus en cours d'exécution comme ceci:
OriginalL'auteur John Koerner
d'une autre manière:
OriginalL'auteur nnm