J'ai une application A qui lance une application B qui elle même lance une
application C.
A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C.
Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A
manifestment toujours bloquée et attend la fin de C.
D'où ma question : comment B peut lancer complètement indépendemment C pour
ensuite se terminer tranquillement.
J'ai essai ShellExecute et CreateProcess sans succès.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thomas
Laurent Leleu wrote:
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
Merci de votre aide.
Avec des threads ?
Laurent Leleu wrote:
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une
application C.
A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C.
Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A
manifestment toujours bloquée et attend la fin de C.
D'où ma question : comment B peut lancer complètement indépendemment C pour
ensuite se terminer tranquillement.
J'ai essai ShellExecute et CreateProcess sans succès.
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
Merci de votre aide.
Avec des threads ?
Laurent Leleu
> Avec des threads ?
Non, je ne pense pas que des threads aident, l'application B s'arrête très rapidement. Je maitraise B et C, mais pas A.
Laurent.
> Avec des threads ?
Non, je ne pense pas que des threads aident, l'application B s'arrête très
rapidement.
Je maitraise B et C, mais pas A.
Non, je ne pense pas que des threads aident, l'application B s'arrête très rapidement. Je maitraise B et C, mais pas A.
Laurent.
Patrick 'Zener' Brunet
Bonjour.
Je réponds à Laurent Leleu qui dans 437dd607$0$21268$ a écrit :
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
CreateProcess() est la bonne stratégie, il est anormal que A attende.
Est-ce que ce sont des process GUI ou bien console ? Il serait intéressant de préciser le flag DETACHED_PROCESS à la création (lire la doc de CreateProcess() pour les détails).
Ensuite, si la fonction a réussi, vous devez faire un CloseHandle() sur le hThread ET le hProcess dans la PROCESS_INFORMATION restituée, et le fiston est totalement émancipé.
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Bonjour.
Je réponds à Laurent Leleu <laurent.leleu@nospam.org>
qui dans 437dd607$0$21268$8fcfb975@news.wanadoo.fr a écrit :
Bonjour,
J'ai une application A qui lance une application B qui elle même
lance une application C.
A doit attendre la fin de B, par contre B ne doit pas attendre la fin
de C. Mon problème est que lorsque B se termine, A devrait être
débloquée. Hors A manifestment toujours bloquée et attend la fin de C.
D'où ma question : comment B peut lancer complètement indépendemment
C pour ensuite se terminer tranquillement.
J'ai essai ShellExecute et CreateProcess sans succès.
CreateProcess() est la bonne stratégie, il est anormal que A attende.
Est-ce que ce sont des process GUI ou bien console ? Il serait intéressant
de préciser le flag DETACHED_PROCESS à la création (lire la doc de
CreateProcess() pour les détails).
Ensuite, si la fonction a réussi, vous devez faire un CloseHandle() sur le
hThread ET le hProcess dans la PROCESS_INFORMATION restituée, et le fiston
est totalement émancipé.
Cordialement,
--
/***************************************
* Patrick BRUNET
* E-mail: lien sur http://zener131.free.fr/ContactMe
***************************************/
Je réponds à Laurent Leleu qui dans 437dd607$0$21268$ a écrit :
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
CreateProcess() est la bonne stratégie, il est anormal que A attende.
Est-ce que ce sont des process GUI ou bien console ? Il serait intéressant de préciser le flag DETACHED_PROCESS à la création (lire la doc de CreateProcess() pour les détails).
Ensuite, si la fonction a réussi, vous devez faire un CloseHandle() sur le hThread ET le hProcess dans la PROCESS_INFORMATION restituée, et le fiston est totalement émancipé.
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Arnaud Debaene
Laurent Leleu wrote:
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
Ca fonctionne sans problème avec CreateProcess. Tu fais comment pour attendre la fin de B?
Arnaud MVP - VC
Laurent Leleu wrote:
Bonjour,
J'ai une application A qui lance une application B qui elle même
lance une application C.
A doit attendre la fin de B, par contre B ne doit pas attendre la fin
de C. Mon problème est que lorsque B se termine, A devrait être
débloquée. Hors A manifestment toujours bloquée et attend la fin de C.
D'où ma question : comment B peut lancer complètement indépendemment
C pour ensuite se terminer tranquillement.
J'ai essai ShellExecute et CreateProcess sans succès.
Ca fonctionne sans problème avec CreateProcess. Tu fais comment pour
attendre la fin de B?
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
Ca fonctionne sans problème avec CreateProcess. Tu fais comment pour attendre la fin de B?
Arnaud MVP - VC
Laurent Leleu
Bonjour Patrick,
Oui, ce sont toutes les 3 des applications GUI. Les 2 ClosesHandle sont déjà faits. Pour l'instant je n'ai aucun flag de positionné. Il faudrait donc mettre DETACHED_PROCESS ?
Merci.
"Patrick 'Zener' Brunet" a écrit dans le message de news: 437e09da$0$21619$
Bonjour.
Je réponds à Laurent Leleu qui dans 437dd607$0$21268$ a écrit :
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
CreateProcess() est la bonne stratégie, il est anormal que A attende.
Est-ce que ce sont des process GUI ou bien console ? Il serait intéressant de préciser le flag DETACHED_PROCESS à la création (lire la doc de CreateProcess() pour les détails).
Ensuite, si la fonction a réussi, vous devez faire un CloseHandle() sur le hThread ET le hProcess dans la PROCESS_INFORMATION restituée, et le fiston est totalement émancipé.
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Bonjour Patrick,
Oui, ce sont toutes les 3 des applications GUI.
Les 2 ClosesHandle sont déjà faits.
Pour l'instant je n'ai aucun flag de positionné.
Il faudrait donc mettre DETACHED_PROCESS ?
Merci.
"Patrick 'Zener' Brunet" <use.link.in.signature@ddress.invalid> a écrit dans
le message de news: 437e09da$0$21619$636a15ce@news.free.fr...
Bonjour.
Je réponds à Laurent Leleu <laurent.leleu@nospam.org>
qui dans 437dd607$0$21268$8fcfb975@news.wanadoo.fr a écrit :
Bonjour,
J'ai une application A qui lance une application B qui elle même
lance une application C.
A doit attendre la fin de B, par contre B ne doit pas attendre la fin
de C. Mon problème est que lorsque B se termine, A devrait être
débloquée. Hors A manifestment toujours bloquée et attend la fin de C.
D'où ma question : comment B peut lancer complètement indépendemment
C pour ensuite se terminer tranquillement.
J'ai essai ShellExecute et CreateProcess sans succès.
CreateProcess() est la bonne stratégie, il est anormal que A attende.
Est-ce que ce sont des process GUI ou bien console ? Il serait intéressant
de préciser le flag DETACHED_PROCESS à la création (lire la doc de
CreateProcess() pour les détails).
Ensuite, si la fonction a réussi, vous devez faire un CloseHandle() sur le
hThread ET le hProcess dans la PROCESS_INFORMATION restituée, et le fiston
est totalement émancipé.
Cordialement,
--
/***************************************
* Patrick BRUNET
* E-mail: lien sur http://zener131.free.fr/ContactMe
***************************************/
Oui, ce sont toutes les 3 des applications GUI. Les 2 ClosesHandle sont déjà faits. Pour l'instant je n'ai aucun flag de positionné. Il faudrait donc mettre DETACHED_PROCESS ?
Merci.
"Patrick 'Zener' Brunet" a écrit dans le message de news: 437e09da$0$21619$
Bonjour.
Je réponds à Laurent Leleu qui dans 437dd607$0$21268$ a écrit :
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
CreateProcess() est la bonne stratégie, il est anormal que A attende.
Est-ce que ce sont des process GUI ou bien console ? Il serait intéressant de préciser le flag DETACHED_PROCESS à la création (lire la doc de CreateProcess() pour les détails).
Ensuite, si la fonction a réussi, vous devez faire un CloseHandle() sur le hThread ET le hProcess dans la PROCESS_INFORMATION restituée, et le fiston est totalement émancipé.
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Laurent Leleu
Bonjour Arnaud,
Je n'ai pas le source de A. Je vois juste que A reste figé, même après la fin de B, il ne se débloque qu'à la fin de C. Entre temps j'ai fait un essai en ajoutant le flag, mais ça ne change rien.
Merci.
"Arnaud Debaene" a écrit dans le message de news: 437e1530$0$4355$
Laurent Leleu wrote:
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
Ca fonctionne sans problème avec CreateProcess. Tu fais comment pour attendre la fin de B?
Arnaud MVP - VC
Bonjour Arnaud,
Je n'ai pas le source de A. Je vois juste que A reste figé, même après la
fin de B, il ne se débloque qu'à la fin de C.
Entre temps j'ai fait un essai en ajoutant le flag, mais ça ne change rien.
Merci.
"Arnaud Debaene" <adebaene@club-internet.fr> a écrit dans le message de
news: 437e1530$0$4355$626a54ce@news.free.fr...
Laurent Leleu wrote:
Bonjour,
J'ai une application A qui lance une application B qui elle même
lance une application C.
A doit attendre la fin de B, par contre B ne doit pas attendre la fin
de C. Mon problème est que lorsque B se termine, A devrait être
débloquée. Hors A manifestment toujours bloquée et attend la fin de C.
D'où ma question : comment B peut lancer complètement indépendemment
C pour ensuite se terminer tranquillement.
J'ai essai ShellExecute et CreateProcess sans succès.
Ca fonctionne sans problème avec CreateProcess. Tu fais comment pour
attendre la fin de B?
Je n'ai pas le source de A. Je vois juste que A reste figé, même après la fin de B, il ne se débloque qu'à la fin de C. Entre temps j'ai fait un essai en ajoutant le flag, mais ça ne change rien.
Merci.
"Arnaud Debaene" a écrit dans le message de news: 437e1530$0$4355$
Laurent Leleu wrote:
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
Ca fonctionne sans problème avec CreateProcess. Tu fais comment pour attendre la fin de B?
Arnaud MVP - VC
Vincent Burel
"Laurent Leleu" wrote in message news:437dd607$0$21268$
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de
C.
Mon problème est que lorsque B se termine, A devrait être débloquée. Hors
A
manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C
pour
ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
ben ShellExecute marche bien normallement, et l'appli A ne doit pas attendre que l'appli B finisse, à moins que tu fasse un WaitForSingleObject derrière ton ShellExecute...
VB
"Laurent Leleu" <laurent.leleu@nospam.org> wrote in message
news:437dd607$0$21268$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une
application C.
A doit attendre la fin de B, par contre B ne doit pas attendre la fin de
C.
Mon problème est que lorsque B se termine, A devrait être débloquée. Hors
A
manifestment toujours bloquée et attend la fin de C.
D'où ma question : comment B peut lancer complètement indépendemment C
pour
ensuite se terminer tranquillement.
J'ai essai ShellExecute et CreateProcess sans succès.
ben ShellExecute marche bien normallement, et l'appli A ne doit pas attendre
que l'appli B finisse, à moins que tu fasse un WaitForSingleObject derrière
ton ShellExecute...
"Laurent Leleu" wrote in message news:437dd607$0$21268$
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de
C.
Mon problème est que lorsque B se termine, A devrait être débloquée. Hors
A
manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C
pour
ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
ben ShellExecute marche bien normallement, et l'appli A ne doit pas attendre que l'appli B finisse, à moins que tu fasse un WaitForSingleObject derrière ton ShellExecute...
VB
Arnaud Debaene
Laurent Leleu wrote:
Bonjour Arnaud,
Je n'ai pas le source de A. Je vois juste que A reste figé, même après la fin de B, il ne se débloque qu'à la fin de C. Entre temps j'ai fait un essai en ajoutant le flag, mais ça ne change rien.
Si tu n'as pas les sources de A, tu ne vas pas pouvoir faire grand chose... Si tu as une connexion Internet musclée, tu peux configurer ton debuggger pour qu'il aille chercher les symboles de l'OS sur le serveur de PDB de Microsoft (set _NT_SYMBOL_PATH=srv*c:localcache*http://msdl.microsoft.com/download/symbols - cf la doc de WinDbg pour les détails) et essayer de deboger A pour comprendre ce qu'il fait pour "attendre" (break dans A pendant qu'il est figé et regarde sa call-stack).
Arnaud MVP - VC
Laurent Leleu wrote:
Bonjour Arnaud,
Je n'ai pas le source de A. Je vois juste que A reste figé, même
après la fin de B, il ne se débloque qu'à la fin de C.
Entre temps j'ai fait un essai en ajoutant le flag, mais ça ne change
rien.
Si tu n'as pas les sources de A, tu ne vas pas pouvoir faire grand chose...
Si tu as une connexion Internet musclée, tu peux configurer ton debuggger
pour qu'il aille chercher les symboles de l'OS sur le serveur de PDB de
Microsoft (set
_NT_SYMBOL_PATH=srv*c:localcache*http://msdl.microsoft.com/download/symbols
- cf la doc de WinDbg pour les détails) et essayer de deboger A pour
comprendre ce qu'il fait pour "attendre" (break dans A pendant qu'il est
figé et regarde sa call-stack).
Je n'ai pas le source de A. Je vois juste que A reste figé, même après la fin de B, il ne se débloque qu'à la fin de C. Entre temps j'ai fait un essai en ajoutant le flag, mais ça ne change rien.
Si tu n'as pas les sources de A, tu ne vas pas pouvoir faire grand chose... Si tu as une connexion Internet musclée, tu peux configurer ton debuggger pour qu'il aille chercher les symboles de l'OS sur le serveur de PDB de Microsoft (set _NT_SYMBOL_PATH=srv*c:localcache*http://msdl.microsoft.com/download/symbols - cf la doc de WinDbg pour les détails) et essayer de deboger A pour comprendre ce qu'il fait pour "attendre" (break dans A pendant qu'il est figé et regarde sa call-stack).
Arnaud MVP - VC
Patrick 'Zener' Brunet
Bonjour.
Je réponds à Vincent Burel qui dans 437e31df$0$6643$ a écrit :
"Laurent Leleu" wrote in message news:437dd607$0$21268$
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
ben ShellExecute marche bien normallement, et l'appli A ne doit pas attendre que l'appli B finisse, à moins que tu fasse un WaitForSingleObject derrière ton ShellExecute...
AMHA même si A est conçue pour d'une manière ou d'une autre surveiller B (flag DEBUG_PROCESS ? WaitFXO( hProcessB) ?), si j'ai bien compris le problème, A continue à attendre C après la fin de B, et c'est B qui lance C. Donc A ne peut pas étendre une telle "surveillance volontaire" à travers B.
C'est pour ça que j'avais posé la question des applis console, parce que dans ce contexte, a priori en lisant la doc de CreateProcess(), sans la specification de DETACHED_PROCESS, la console serait héritée (et donc occupée par C). Mais donc finalement il s'agirait d'appli graphiques, donc pas de console...
AMHA toujours, le problème peut venir d'une telle ressource (implicitement) détenue par C et attendue par A... Mais quoi ?
S'il était possible de bricoler B pour lancer une autre appli à la place du C actuel, ça pourrait valider ou infirmer...
C'est amusant, je viens justement de regarder NIH à la TV :-D
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Bonjour.
Je réponds à Vincent Burel <vincent.burel@wanadoo.fr>
qui dans 437e31df$0$6643$8fcfb975@news.wanadoo.fr a écrit :
"Laurent Leleu" <laurent.leleu@nospam.org> wrote in message
news:437dd607$0$21268$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai une application A qui lance une application B qui elle même
lance une application C.
A doit attendre la fin de B, par contre B ne doit pas attendre la
fin de C. Mon problème est que lorsque B se termine, A devrait être
débloquée. Hors A manifestment toujours bloquée et attend la fin de
C.
D'où ma question : comment B peut lancer complètement indépendemment
C pour ensuite se terminer tranquillement.
J'ai essai ShellExecute et CreateProcess sans succès.
ben ShellExecute marche bien normallement, et l'appli A ne doit pas
attendre que l'appli B finisse, à moins que tu fasse un
WaitForSingleObject derrière ton ShellExecute...
AMHA même si A est conçue pour d'une manière ou d'une autre surveiller B
(flag DEBUG_PROCESS ? WaitFXO( hProcessB) ?), si j'ai bien compris le
problème, A continue à attendre C après la fin de B, et c'est B qui lance C.
Donc A ne peut pas étendre une telle "surveillance volontaire" à travers B.
C'est pour ça que j'avais posé la question des applis console, parce que
dans ce contexte, a priori en lisant la doc de CreateProcess(), sans la
specification de DETACHED_PROCESS, la console serait héritée (et donc
occupée par C).
Mais donc finalement il s'agirait d'appli graphiques, donc pas de console...
AMHA toujours, le problème peut venir d'une telle ressource (implicitement)
détenue par C et attendue par A... Mais quoi ?
S'il était possible de bricoler B pour lancer une autre appli à la place du
C actuel, ça pourrait valider ou infirmer...
C'est amusant, je viens justement de regarder NIH à la TV :-D
Cordialement,
--
/***************************************
* Patrick BRUNET
* E-mail: lien sur http://zener131.free.fr/ContactMe
***************************************/
Je réponds à Vincent Burel qui dans 437e31df$0$6643$ a écrit :
"Laurent Leleu" wrote in message news:437dd607$0$21268$
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
ben ShellExecute marche bien normallement, et l'appli A ne doit pas attendre que l'appli B finisse, à moins que tu fasse un WaitForSingleObject derrière ton ShellExecute...
AMHA même si A est conçue pour d'une manière ou d'une autre surveiller B (flag DEBUG_PROCESS ? WaitFXO( hProcessB) ?), si j'ai bien compris le problème, A continue à attendre C après la fin de B, et c'est B qui lance C. Donc A ne peut pas étendre une telle "surveillance volontaire" à travers B.
C'est pour ça que j'avais posé la question des applis console, parce que dans ce contexte, a priori en lisant la doc de CreateProcess(), sans la specification de DETACHED_PROCESS, la console serait héritée (et donc occupée par C). Mais donc finalement il s'agirait d'appli graphiques, donc pas de console...
AMHA toujours, le problème peut venir d'une telle ressource (implicitement) détenue par C et attendue par A... Mais quoi ?
S'il était possible de bricoler B pour lancer une autre appli à la place du C actuel, ça pourrait valider ou infirmer...
C'est amusant, je viens justement de regarder NIH à la TV :-D
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Laurent Leleu
Pour être tout à fait complet : - A c'est Windows, plus exactement la procédure de déisnstallation (ajouter/supprimer programmes). Voila pourquoi je n'ai pas le source ;-) - B est mon programme de désinstallation. - C est un programme de "secours" appelé au cas où la désinstallation se passe mal.
Merci de votre aide.
"Laurent Leleu" a écrit dans le message de news: 437dd607$0$21268$
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.
Merci de votre aide.
Pour être tout à fait complet :
- A c'est Windows, plus exactement la procédure de déisnstallation
(ajouter/supprimer programmes). Voila pourquoi je n'ai pas le source ;-)
- B est mon programme de désinstallation.
- C est un programme de "secours" appelé au cas où la désinstallation se
passe mal.
Merci de votre aide.
"Laurent Leleu" <laurent.leleu@nospam.org> a écrit dans le message de news:
437dd607$0$21268$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une
application C.
A doit attendre la fin de B, par contre B ne doit pas attendre la fin de
C.
Mon problème est que lorsque B se termine, A devrait être débloquée. Hors
A manifestment toujours bloquée et attend la fin de C.
D'où ma question : comment B peut lancer complètement indépendemment C
pour ensuite se terminer tranquillement.
J'ai essai ShellExecute et CreateProcess sans succès.
Pour être tout à fait complet : - A c'est Windows, plus exactement la procédure de déisnstallation (ajouter/supprimer programmes). Voila pourquoi je n'ai pas le source ;-) - B est mon programme de désinstallation. - C est un programme de "secours" appelé au cas où la désinstallation se passe mal.
Merci de votre aide.
"Laurent Leleu" a écrit dans le message de news: 437dd607$0$21268$
Bonjour,
J'ai une application A qui lance une application B qui elle même lance une application C. A doit attendre la fin de B, par contre B ne doit pas attendre la fin de C. Mon problème est que lorsque B se termine, A devrait être débloquée. Hors A manifestment toujours bloquée et attend la fin de C. D'où ma question : comment B peut lancer complètement indépendemment C pour ensuite se terminer tranquillement. J'ai essai ShellExecute et CreateProcess sans succès.