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