Bonjour à tous, et bonne année !![]()
Je voudrais savoir comment on fait pour récupérer la main à la fin d'une execution lancé avec ShellExecute(...), En fait, il me faudrai savoir quand le programme lancé s'est terminé ou quitté.
Merci pour votre aide!
Bonjour à tous, et bonne année !![]()
Je voudrais savoir comment on fait pour récupérer la main à la fin d'une execution lancé avec ShellExecute(...), En fait, il me faudrai savoir quand le programme lancé s'est terminé ou quitté.
Merci pour votre aide!
Y'a plusieurs methodes dont une avec ShellExecuteEx et WitForSingleObject..
ça doit trainer quelque part dans la FAQ...
J'avais regardé dans la FAQ avant de poster mon message, mais je n'y avais rien trouvé concernant mon problème.
Je vais regarder les fonctions que m'a dites, p'tet que j'y trouverai mon bonheur!
merci Djob !
ça doit ressembler à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include ShellApi.hpp ...... void __fastcall TFRM_MAIN::Button1Click(TObject *Sender) { AnsiString MyProgram = "calc.exe"; AnsiString MyParameters = ""; SHELLEXECUTEINFO execinfo; memset(&execinfo, 0, sizeof(execinfo)); execinfo.lpFile = MyProgram .c_str(); execinfo.cbSize = sizeof(execinfo); execinfo.fMask = SEE_MASK_NOCLOSEPROCESS; execinfo.nShow = SW_SHOWDEFAULT; execinfo.lpParameters = MyParameters.c_str() ; ShellExecuteEx(&execinfo); WaitForSingleObject(execinfo.hProcess, INFINITE); }
Merci beaucoup Djob!
Ca marche exactement comme je l'esperais!
Partager