communication entre 2 applications (exe)
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
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
|
// 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);
} |
j'espère avoir été clair...