CreateProcess ne fonctionne pas
Bonjour à tous.
Voilà j'ai besoin d'utiliser la fonction CreateProcess de Windows.h pour faire appelle à un autre processus lors de l'execution de mon programme, mais celle-ci ne fonctionne pas, le programme me retourne l'erreur: CreateProcess failed (2).
Or d'après MSDN l'erreur 2 correspond à:
Citation:
ERROR_FILE_NOT_FOUND
2 (0x2)
The system cannot find the file specified.
Pourtant j'indique bien le bon chemin du processus à lancer lors de mon programme.
Les 2 sont dans le même dossier, mon programme s'appelle Windows_Creating_Process.exe et mon processus Ivcon.exe.
Dans cmd je me place donc dans le dossier contenant ces 2 programmes et je tappe:
Windows_Creating_Process.exe Ivcon.exe.
Mais il me renvoie l'erreur précédente.
Je ne comprends pas d'où vient le problème.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #include <stdio.h>
#include <windows.h>
int main(int argc, char *argv[])
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// Start the child process.
if( !CreateProcess( NULL, // No module name (use command line)
argv[1], // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
)
{
printf( "CreateProcess failed (%d).\n", GetLastError() );
return 0;
}
// Wait until child process exits.
WaitForSingleObject( pi.hProcess, INFINITE );
// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
return 0;
} |
Je suis sous Windows 8.1 et j'utilise comme IDE QtCreator.
Pourriez vous m'aider à débloquer la situation je vous prie?
Merci d'avance