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;
} |
Partager