Я написал приложение, которое просто выполняет java -jar
.Я хочу, чтобы стартовое приложение закрывалось сразу после выполнения CreateProcessA
.
LPSTR _cmdupdate = const_cast<char *> (cmdupdate.c_str());
STARTUPINFO info = {sizeof (info)};
ZeroMemory(&info,sizeof(info));
info.cb=sizeof(info);
PROCESS_INFORMATION processInfo;
ZeroMemory(&processInfo,sizeof(processInfo));
CreateProcessA(TEXT(java_exe.c_str()), _cmdupdate, NULL, NULL, false, 0, NULL, TEXT("bin"), &info, &processInfo);
CloseHandle(processInfo.hProcess);
CloseHandle(processInfo.hThread);
exit(0);
Если я выполняю это через IDE (Netbeans 7), все работает нормально: Java продолжает работать, пока стартер завершается.Если я запускаю один и тот же exe-файл, дважды щелкнув по нему: java запускает jar, но стартер ждет завершения процесса java.
Так в чем разница между CreateProcess при запуске через IDE и запускомавтономные?