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 à:
Pourtant j'indique bien le bon chemin du processus à lancer lors de mon programme.ERROR_FILE_NOT_FOUND
2 (0x2)
The system cannot find the file specified.
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:
Je suis sous Windows 8.1 et j'utilise comme IDE QtCreator.
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
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; }
Pourriez vous m'aider à débloquer la situation je vous prie?
Merci d'avance
Partager