Vérifier si un processus est en cours d'exécution sur windows avec C++
Est-il de toute fonction dans psapi ou windows.h pour obtenir désiré processus est en cours d'exécution via seulement le nom du processus (e.g : "chrome.exe") sans recevoir de tous les processus.
Edit:
Si quelqu'un exige pour obtenir les processus de l'information via l'exécution par le biais de la liste de tous les processus, je peux coller mon code ici. il fonctionne sur xp-machine et compilé avec vs 2008.
J'ai trouvé une solution pour ma question, trop ! Mais selon le msdn la fonction s'exécute déjà à travers le processus et vérifie que le nom sans l'extension. Peu de temps il recherche pour "google chrome" et renvoie la liste de chrome.*
Cette fonction a un bel avantage, il renvoie le processus dans une liste, il pourrait être un exe peut exécuter avec peut instances. Inconvénient CLR est nécessaire, il s'exécute plus lentement que la psapi fonctions et il a supplémentaires de conversion des exigences telles que la Chaîne de^ à wchar ou Chaîne (que je n'ai pas testé)
OriginalL'auteur icaptan | 2012-11-01
Vous devez vous connecter pour publier un commentaire.
la réponse ci-dessus fonctionne sur win 8. ici, il est sans wstring trucs et de dépouiller le chemin
OriginalL'auteur steveh
OriginalL'auteur PTT
Vous pouvez utiliser CreateToolhelp32Snapshot comme indiqué ci-dessus. Si vous avez besoin de sonder régulièrement pour le processus, d'enregistrer l'ID de processus une fois que vous avez trouvé cours d'exécution, puis vérifier à l'aide de OpenProcess. C'est beaucoup de temps rapide, mais être conscient que les OS recycle les PIDs, de sorte que vous aurez à faire face à cela.
Si vous savez quelque chose sur le fonctionnement interne du processus (ou même d'avoir le contrôle sur elle) il y a d'autres options telles que la vérification des:
Plus de détails sont donnés dans la réponse à cette question: Moyen rapide de vérifier pour un processus en cours d'exécution
OriginalL'auteur AlainD