Bonjour,
Quelle méthode dois je utiliser pour communiquer entre 2 .exe ?
Mon contexte:
-2 applications MFC A & B
-j'aimerais que l'application A envoi un message à l'application B pour lui demander de s'arrêter (proprement...)
-l'application B doit donc scruter ce genre de message afin de déclencher sa fermeture...
-j'utilise actuellement le code ci-dessous dans l'application A afin de déclencher un traitement quand l'application B se termine, mais j'aimerais "précipiter" cette terminaison
j'espère avoir été clair...
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 // code de l'application 'A' bool CUpdaterApp::Wait() { HANDLE hSnapShot; PROCESSENTRY32 uProcess; BOOL r; short PID = 0; hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL,0); uProcess.dwSize = (DWORD) sizeof(PROCESSENTRY32); r = Process32First(hSnapShot, &uProcess); do { if ( strstr(uProcess.szExeFile, "B.exe") ) // on compare au nom de l'executable PID = (short) uProcess.th32ProcessID; r = Process32Next(hSnapShot, &uProcess); } while ( r ); CloseHandle(hSnapShot); if ( PID == 0) return false; HANDLE hTemp; hTemp = OpenProcess(PROCESS_ALL_ACCESS, false, (DWORD) PID); WaitForSingleObject( hTemp, INFINITE ); DWORD retour; GetExitCodeProcess(hTemp,&retour); CloseHandle( hTemp ); return(true); }
Partager