Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Processus executé ?

8 réponses
Avatar
Sivaller
Bonjour,

Ce serait pour savoir comment depuis un hprocess , peux t'on
savoir si un processus est executé ou pas ?
WaitSingleForObject ? pas la bonne fonction ,
la fonction recherché retourne true ou false selon le processus est executé.

Solution
Creer un thread par processus utilisant WaitSingleForObject ?
Pas trés propre

Cherche fonction qui retourne un booléen ?

Merci bcp

8 réponses

Avatar
cali
Sivaller wrote:
Bonjour,

Ce serait pour savoir comment depuis un hprocess , peux t'on
savoir si un processus est executé ou pas ?



Ca veut dire quoi "un processus est executé " ?!
si hprocess est défini, c'est que le process tourne forcément.
Avatar
Christian ASTOR
Sivaller wrote:

Ce serait pour savoir comment depuis un hprocess , peux t'on
savoir si un processus est executé ou pas ?
WaitSingleForObject ? pas la bonne fonction ,



WaitSingleForObject() n'existe pas.
WaitForSingleObject() si, et est utilisée pour détecter la fin d'un
process (INFINITE ds un thread)
Avatar
Bertrand Lenoir-Welter
Sivaller :

Ce serait pour savoir comment depuis un hprocess , peux t'on
savoir si un processus est executé ou pas ?
WaitSingleForObject ? pas la bonne fonction ,
la fonction recherché retourne true ou false selon le processus est
executé.




Je suis pas sûr d'avoir bien compris, mais j'utilise couramment
WaitForSingleObject() pour attendre qu'un processus que j'ai lancé soit
terminé. Le second argument est un délai de timeout qui peut prendre la
valeur INFINITE pour attendre indéfiniment la fin du processus.
Personnellement, je préfère utiliser une boucle avec timeout pour éviter
d'entrer dans un appel bloquant, et donc permettre de vérifier d'autres
trucs pendant l'attente. Dans ce cas, WaitForSingleObject() retourne
WAIT_TIMEOUT tant que le processus est vivant.


Creer un thread par processus utilisant WaitSingleForObject ?
Pas trés propre



Ben pourquoi pas très propre ?


Cherche fonction qui retourne un booléen ?



BOOL BooleanWaitForSingleObject(HANDLE hProcess, DWORD dwTimeOut)
{
return(WaitForSingleObject(hProcess,dwTimeOut)==WAIT_TIMEOUT);
}

Et en plus, c'est libre de droits...
Avatar
Sivaller
Tester ceux ci

BOOL BooleanWaitForSingleObject(HANDLE hProcess, DWORD dwTimeOut)
{
return(WaitForSingleObject(hProcess,0)==WAIT_TIMEOUT);
}

Et ça à l'air de marché.

Merci.
Avatar
Bertrand Lenoir-Welter
> return(WaitForSingleObject(hProcess,0)==WAIT_TIMEOUT);



Je dois être un peu vieux-jeu, mais je vois pas trop l'intérêt d'un
timeout fixé à 0 ms. Enfin, ceci étant, si ça vous convient...
Avatar
Doms
Bonjour,

"Bertrand Lenoir-Welter" <bertrand-dot-2007-at-galaad-dot-net> a écrit dans
le message de news:46a665dd$0$25950$
return(WaitForSingleObject(hProcess,0)==WAIT_TIMEOUT);


Je dois être un peu vieux-jeu, mais je vois pas trop l'intérêt d'un
timeout fixé à 0 ms. Enfin, ceci étant, si ça vous convient...



Surtout que cela revient à faire de l'attente active et à bouffer du
CPU.

Doms.
Avatar
Thierry
"Doms" a écrit dans le message de news:


Surtout que cela revient à faire de l'attente active et à bouffer du
CPU.



Heu... non, a 0 c'est juste tester l'etat a un moment donné.
Avatar
Doms
Houps,

Heu... non, a 0 c'est juste tester l'etat a un moment donné.



J'avais lu while(WFSO).

Désolé. Doms.