Bonjour, je m'explique, avec le code suivant qui se trouve dans une boucle (avec str_cmd qui change à chaque tour), ma commande n'est pas correctement executé à chaque fois (ne fais pas les modification demandé par la commande).
Le probleme, c'est que c'est alléatoire, des fois ca se faiut des fois ca se fait pas....
Au début, je pensais que c'etait parce que ca s'executait trop vite, donc j'ai mis l'attente de fin du processus, mais ca ne change rien...

Je comprends plus......

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
19
20
21
22
						SHELLEXECUTEINFO ExecuteInfo;    
							memset(&ExecuteInfo, 0, sizeof(ExecuteInfo));
 
							ExecuteInfo.cbSize       = sizeof(ExecuteInfo);
							ExecuteInfo.fMask        = 0;                
							ExecuteInfo.hwnd         = this->m_hWnd;                
							ExecuteInfo.lpVerb       = "open";                      
							ExecuteInfo.lpFile       = str_chemin;
							ExecuteInfo.lpParameters = str_cmd;
							ExecuteInfo.lpDirectory  = 0;
							ExecuteInfo.nShow        = SW_HIDE;//;SW_SHOW;//
							ExecuteInfo.hInstApp     = 0;    
							if(ShellExecuteEx(&ExecuteInfo) == FALSE)
							{
							// erreur
							MessageBox("erreur ex","ex",32);
							}else{
 
							// attente
							WaitForSingleObject(ExecuteInfo.hProcess, INFINITE); 
 
							}
MERCI POUR VOTRE AIDE!!!!!

EDIT : truc, tres bizarre, des que je met un MessageBox() avant et apres, ca marche nickel à tous les coups, je comprend vraiment plus rien......