Process persistant même après l'arrêt de l'application Java
Bonjour,
je souhaite développer en VC++ sous Visual Studio 2005, pour une plateforme Windows, un petit programme permettant de lancer une application java.
Mon programme se lance bien mais par contre, même si j'arrête mon programme java, le thread java continue à tourner...
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
| int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
// En réalité, le pointeur commandeDos se construit dynamiquement en fonction de la première JRE trouvée dans le répertoire jre
char* commandeDos = ".\\jre\\jre1.6.0_07\\bin\\javaw.exe"
// Conversion d'un char* en LPWSTR
size_t nSize1 = 1 + strlen( commandeDos );
LPWSTR wCmdeDos = new WCHAR[nSize1];
mbstowcs( wCmdeDos, commandeDos, nSize1 );
// Libération de la mémoire...
free(commandeDos);
// Creation d'un processus
STARTUPINFO siStartupInfo;
PROCESS_INFORMATION piProcessInfo;
memset(&siStartupInfo, 0, sizeof(siStartupInfo));
memset(&piProcessInfo, 0, sizeof(piProcessInfo));
siStartupInfo.cb = sizeof(siStartupInfo);
if(CreateProcess(NULL,wCmdeDos,NULL,NULL,0, NORMAL_PRIORITY_CLASS, NULL, NULL, &siStartupInfo, &piProcessInfo) == FALSE) {
// erreur
MessageBox(NULL, _T("Impossible de lancer l'application java..."), _T("Erreur..."), MB_OK + MB_ICONERROR);
return 1;
}
return 0;
} |
Ce bout de code fonctionne mais je ne comprends pas, le thread javaw continue à tourner même après l'arrêt de l'application.
Par contre, le processus du programme VC++ s'arrête bien dès le lancement de l'application java.
Avez-vous une idée pour corriger le problème du processus persistant ?
Merci,
F.