2012-04-19 4 views
0

J'ai une application de mise à jour basée sur Qt qui doit remplacer un processus en cours avec le nouveau fichier. Sous Windows, le programme de mise à jour échoue lorsque le processus est en cours d'exécution.Trouver un processus par son nom et le tuer

Existe-t-il un moyen de trouver un processus par son nom, par exemple, Firefox.exe et de le tuer en utilisant Qt?

+0

duplication possible de [comment trouver le processus en cours et tuer le processus dans QT?] (Http://stackoverflow.com/questions/4538967/how-to-find-the-running-process-and-kill- the-process-in-qt) – karlphillip

+0

[Existe-t-il un moyen de lister les processus actuels en utilisant Qt sur Windows?] (http://stackoverflow.com/questions/833113/is-there-a-way-to-list-current -processes-using-qt-on-windows) – karlphillip

Répondre

2

Il n'y a pas API pour le faire dans Qt, ce qui signifie que la seule façon de le faire est en utilisant le code spécifique de la plate-forme.

3

Vous pouvez appeler le système comme celui-ci: taskkill/f/im firefox.exe

+0

-1 Cette approche n'utilise pas Qt, donc n'est pas une solution multiplateforme. – karlphillip

+0

Cette question posée à propos de Qt sur Windows, pas Qt universelle. – Alexey

+0

Qt est multi-plateforme. Je ne connais aucune fonctionnalité fournie par Qt qui n'existe que sous Windows. Pouvez-vous vous en souvenir? – karlphillip