Spawn avec API

Signaler
Messages postés
4
Date d'inscription
samedi 31 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2004
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Débutant en API.
Comment exécuter un .exe ou .com externe en "spawn" avec API. Si possible de masquer la fenetre DOS s'il y a lieu ?
Merci

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
ShellExecute

ciao...
BruNews, MVP VC++
Messages postés
4
Date d'inscription
samedi 31 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2004

Merci BruNews,

J'ai essayé de comprendre avec la doc Borland, mais je suis à l'age des images et les exemples manquent ! Comment passet les arguments ... de reproduire en API l'équivallent en C++ de :

result = spawnl(P_WAIT, "C:\\Temp\\myprog.exe", "myprog.exe","arg1","arg2",NULL);

Merci de votre aide

PS: Le site pour trouver la doc CP5, JR4 ... est KO!
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Exemple avec attente d'execution d'1 minute maxi.

PROCESS_INFORMATION pi;
STARTUPINFO si = {sizeof(si)};
DWORD dwExit;
BOOL bok = CreateProcess(0, szCommandLine, 0, 0, 0,
CREATE_SUSPENDED, 0, 0, &si, &pi);
if(bok) {
ResumeThread(pi.hThread);
CloseHandle(pi.hThread);
// ATTENTE 1 MINUTE MAXI, EXEMPLE
dwExit = WaitForSingleObject(pi.hProcess, 60000);
// SI TROP LONG, ON LE TUE
if(dwExit == WAIT_TIMEOUT){
TerminateProcess(pi.hProcess, 0);
}
CloseHandle(pi.hProcess);
}

Details de CreateProcess() dans MSDN:
http://www.msdn.microsoft.com/library/default.asp

ciao...
BruNews, MVP VC++