Bonjour,
J'ai zieuté du coté de Qprocess, mais je ne sais pas si c'est la bonne solution. Car je n'arrive pas à voir ce que je veux.
Comment vérifier si un programme est lancé (sous windows) ?
merci
Bonjour,
J'ai zieuté du coté de Qprocess, mais je ne sais pas si c'est la bonne solution. Car je n'arrive pas à voir ce que je veux.
Comment vérifier si un programme est lancé (sous windows) ?
merci
Bonjour,
A essayer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.process.state() == self.process.Running
Avec l'ajout de : self.process = QtCore.QProcess(self) ça me retourne que le processus est valeur = 2 donc ::Running. et vu qu'il n'a aucune infos, je me demande si ce n'est pas sur python.exe qu'il c'est basé ?!
Ce que je n'arrive pas à retranscrire, c'est le retour d'un programme.
Par exemple qu'il vérifie si le programme "explorer.exe" est lancé, sinon il le lance.
merci,
Au lancement du programme, il faut initialiser process à None pour pouvoir tester à tout moment si aucun processus n'a encore été lancé.
Quand le processus a été lancé, on peut soit tester s'il est en cours (cf mon message précédent), soit saisir à quel moment il se termine en utilisant le signal "finished".
C'est bien ça le problème, c'est que je n'arrive même pas "sélectionner" le processus. Je ne sais pas si je peux l'appeler par explorer ou explorer.exe voir "C:\\Windows\\explorer.exe"Quand le processus a été lancé, on peut soit tester s'il est en cours (cf mon message précédent), soit saisir à quel moment il se termine en utilisant le signal "finished".
Je ne comprends pas suffisamment ce que vous voulez faire pour pouvoir vous aider: dites-en plus et donner un peu de code.
Avant de lancer un programme, j'aimerai vérifier s'il existe dans les processus.
S'il n'existe pas > le lancer.
S'il existe > afficher la programme.
merci de vos retours,
petite idée mais je ne sais pas ou placer le nom du programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 self.process = QtCore.QProcess() explorerPath = "C:\\Windows\\explorer.exe" if self.process.state() == self.process.Running print ("explorer.exe est Running") else self.process.state() == self.process.NotRunning print("explorer.exe est NotRunning" os.startfile(explorerPath )
Bon j'en suis ici, je n'ai plus d’erreurs...ceci dit il ne veux toujours pas me lancer le programme.
Comment dire au "self.process.NotRunning" qu'il agit sur "explorerPath " ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 self.process = QtCore.QProcess() explorerPath = "C:\\Windows\\explorer.exe" def explorerPath_clicked(self): if self.process.state() == self.process.NotRunning: self.process.start(explorerPath)
Je viens d'essayer de lancer explorer avec QProcess: l'explorer se lance, mais le processus s'arrête tout de suite: l'explorer reste opérationnel et affiché, mais n'a plus aucun lien avec le programme qui l'a lancé.
Mais à quoi ça sert de lancer explorer? Doit-on récupérer des infos (type répertoire ou fichier)? Si c'est le cas, ce n'est pas comme ça qu'il faut faire: il faut utiliser un QFileDialog.
Si aucune info n'est attendue d'explorer dans la suite du programme, os.system fonctionne aussi bien.
explorer.exe était un exemple, j'aurai du mettre la calculatrice, désolé...comme éxpliqué plus haut ce que je recherche c'est :
Après je ne sais pas si c'est possible de faire ça avec import os, import psutil ou autre...Avant de lancer un programme, j'aimerai vérifier s'il existe dans les processus.
S'il n'existe pas > le lancer.
S'il existe > afficher la programme.
En regardant sur le forum je suis tombé la dessus: Problème pour vérifier si processus déjà lancé ==> PSUTIL
Je pense que ça répondrai à 100% a ce que je recherche. Le hic la console python me retourne :
Alors que pourtant l'import est bien là...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2import psutil ImportError: No module named psutil
![]()
En suivant ce lien : Problème pour vérifier si processus déjà lancé ==> PSUTIL
Il me manquait la lib psutil pour pyhton 2.7.1 en 64bits et ça à résolu mon soucis.
merci tyrtamos de t'être pencher sur mon problème![]()
Partager