begin process at 2010 03 18 21:37:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

CreateProcess


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

CreateProcess

dimanche 5 décembre 2004 à 14:45:26 | CreateProcess

vecchio56

Administrateur CodeS-SourceS
Salut,
J'ai une petite question dont la réponse est sans doute dans la MSDN mais c'est vraiment long a lire alors avant de commencer je tente le coup ici. Est-il possible de récupérer le code de retour d'un module éxécuté avec CreateProcess?
Par exemple

STARTUPINFO si = {sizeof si};
PROCESS_INFORMATION pi = {0};
CreateProcess(0, "regedit", 0, 0, 0, 0, 0, 0, &si, &pi);
WaitForSingleObject(pi.hProcess, INFINITE);
// Combien a renvoyé l'éxécution de regedit?


Merci
dimanche 5 décembre 2004 à 15:14:16 | Re : CreateProcess

Nebula

Membre Club
Réponse acceptée !
The GetExitCodeProcess function retrieves the termination status of the specified process.
dimanche 5 décembre 2004 à 15:15:06 | Re : CreateProcess

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
GetExitCodeProcess

ciao...
BruNews, MVP VC++
dimanche 5 décembre 2004 à 15:18:40 | Re : CreateProcess

vecchio56

Administrateur CodeS-SourceS
Merci, je venais de trouver sur le forum
mardi 30 juin 2009 à 09:05:50 | Re : CreateProcess

olivierroyo

Je remet le sujet au gout du jour,
j'ai noté un probleme avec: GetExitCodeProcess
J'ai un example ou je lance avec CreateProcess une page sur internetExplorer. Lorsqu'un fenetre ie, est deja lancee, le resulat de GetExitCodeProcess est "actif", meme si je ferme ma fenetre generee.
D'ou mes 2 questions:
1- y a t il un moyen de savoir precisement si ma fenetre et mon process est actif ou non.
2- vous auriez un example pour tuer un process avec ExitProcess ?

mardi 30 juin 2009 à 11:41:54 | Re : CreateProcess

olivierroyo

Ok, je me repond a moi meme, au cas ou ca interesse qqun.

1- curieusement lorsqu'on lance ie avec CreateProcess, il y a deux process de créés (merci la console!!). Ceci expliqueraitz bien cela. Ca marche super avec notePad par exemple.

2- pour fermer un prog exécuté via CreateProcess, il faut utiliser TerminateProcess().

qqun pourrait confirmer?

mardi 30 juin 2009 à 20:44:20 | Re : CreateProcess

BruNews

Administrateur CodeS-SourceS
Si c'est un prog fenêtré, il convient de fermer proprement en envoyant un WM_CLOSE via PostMessage sur la fanêtre principale.

ciao...
BruNews, MVP VC++
mercredi 1 juillet 2009 à 15:55:49 | Re : CreateProcess

olivierroyo

Effectivement, mais pas evident de trouver son Hwnd avec le PROCESS_INFORMATION!
je suis passé par:
::EnumWindows(KillWindow, pi.dwProcessId);

et ma methode KillWindow compare les ids de toutes les fenetres ouvertes.
mercredi 1 juillet 2009 à 16:35:28 | Re : CreateProcess

olivierroyo

pour eviter de passer par un CALLBACK:

HWND h = ::GetTopWindow(0 );
while ( h )
{
DWORD pid;
DWORD dwTheardId = ::GetWindowThreadProcessId( h,&pid);



if ( pid == /*your process id*/ )
{
// here h is the handle to the window
break;
}
h = ::GetNextWindow( h , GW_HWNDNEXT);
}



Cette discussion est classée dans : code, regedit, pi, createprocess


Répondre à ce message

Sujets en rapport avec ce message

Pseudo code avec problème :( (urgent) [ par cardi ] Mon poste ressemble un peu à celui de Goschan... Voici mon pseudo code pour faire un déplacement positif dans un vecteur d'entiers avec les pointeurs: passage d'argement chaine [ par victorcoasne ] Je fais :int taille(char chaine[]){ cout return (sizeof(chaine)/sizeof(chaine[0])); }int main(){char CreatePorcess + App 16-bits [ par vecchio56 ] BonjourJ'éxécute une application 16-bits avec CreateProcess mais je n'arrive pas à récupérer ce qu'il y a dans stdout. Le problème c'est que le même c CreateProcess Sans afficher fenetre d'execution [ par babylone2019 ] Bonjour,Je lance une serie de script depuis mon programme.Pour cela j'utilise : PROCESS_INFORMATION pi; STARTUPINFO si = {sizeof(si)}; si.dwFlags = ST erreur+erreur+erreur...pff [ par babaslow ] bonjour,Après avoir suivi le tuto d'installation trouvé ici http://www.cppfrance.com/code.aspx?ID=38359 j'essaie maintenant de compiler ces 10 malheur Probleme de CreateProcess sous dev C++ [ par Kangourou_Nomade ] Bonjour,J'ai un petit probleme de CreateProcess sour dev c++ que je n'ai pas avec le meme code en compilant sous visual :sous visual pour spawner un c Problème avec CreateProcess [ par mioux ] SalutJe cherche une solution à un problème tout bête... il faut que je lance un programme et que j'attende qu'il s'arrete pour continuer l'exécution d Code source incomplet en C [ par Sneakito ] Je suis un débutant, or j'ai un programme assez complexe à réaliser(pour moi), voici ce qu'il doit faire:Remplacer un mot dans une page html (hors bal Software pour optimiser du code [ par serialtom ] Salut a tous !Existe il un software qui permet de reperer les calculs ou operations gourmandes en temps de calcul ? (de preference un freeware ...)mer Problème Compilation Visual C++.Net :) [ par Joky ] Il m'arrive un truc esstraordinaire lolJe code tout bien pour l'affichage d'une fenêtre, code de base quoiJe compile, aucune erreur, mais lorsque j'ex


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales