executer programme

Le
sophie.cape
Bonjour, je programme en C++ et je voudrais savoit s'il existe une fonction
permettant d'executer un executable donné s'il existe en blocant le
programmme jusqu'a la fin de l'execution du programme executé.
Je pourais utiliser sytem("executable.exe") mais cela present
k'inconvenient d'affichier une fenetre de console noire.
Merci de me répondre.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christian ASTOR
Le #9740741
sophie.cape wrote:
Bonjour, je programme en C++ et je voudrais savoit s'il existe une fonction
permettant d'executer un executable donné s'il existe en blocant le
programmme jusqu'a la fin de l'execution du programme executé.
Je pourais utiliser sytem("executable.exe") mais cela present
k'inconvenient d'affichier une fenetre de console noire.
Merci de me répondre.



ShellExecuteEx() ou CreateProcess() + WaitForSingleObject()

ex =>

SHELLEXECUTEINFO sei;
ZeroMemory(&sei, sizeof(sei));
sei.cbSize = sizeof(sei);
sei.lpParameters = NULL;
sei.nShow = SW_SHOWNORMAL;
sei.lpFile = "Notepad";
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellExecuteEx(&sei);
if (sei.hProcess)
{
WaitForSingleObject(sei.hProcess, INFINITE );
MessageBox(NULL, "Terminé !", "Info", MB_OK | MB_ICONINFORMATION);
}

(dans un thread si on ne veut pas bloquer le prog appelant...)
sophie.cape
Le #9740731
>
ShellExecuteEx() ou CreateProcess() + WaitForSingleObject()

ex =>

SHELLEXECUTEINFO sei;
ZeroMemory(&sei, sizeof(sei));
sei.cbSize = sizeof(sei);
sei.lpParameters = NULL;
sei.nShow = SW_SHOWNORMAL;
sei.lpFile = "Notepad";
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellExecuteEx(&sei);
if (sei.hProcess)
{
WaitForSingleObject(sei.hProcess, INFINITE );
MessageBox(NULL, "Terminé !", "Info", MB_OK | MB_ICONINFORMATION);
}




Merci mais ton exemple affiche une erreur s'il ne trouve pas le programme.
or je voudrais que mon programe execute un autre programme SEULEMENT si il
existe.
Dois-je changer quelque-chose da,s ton code?
Christian ASTOR
Le #9740721
sophie.cape wrote:

Merci mais ton exemple affiche une erreur s'il ne trouve pas le programme.
or je voudrais que mon programe execute un autre programme SEULEMENT si il
existe.
Dois-je changer quelque-chose da,s ton code?



Si on met SEE_MASK_FLAG_NO_UI, il n'y aura pas de Dlg d'erreur s'il
n'est pas trouvé.
sophie.cape
Le #9740711
> Si on met SEE_MASK_FLAG_NO_UI, il n'y aura pas de Dlg d'erreur s'il
n'est pas trouvé.



C'est exactement se que je cherchait. Merci.
Publicité
Poster une réponse
Anonyme