tomminno
10-10-2006, 10:30
Ho scritto questo codice per lanciare un processo ed ottenerne l'handle, ma qualcosa non va, il processo viene creato solo nel momento in cui il programma che esegue questo codice termina :muro:
Ho provato anche senza il WaitForSingleObject, ma il risultato è il medesimo.
startupInfo.cb = sizeof(startupInfo);
if (!CreateProcess(CString(fileName.c_str()), 0, 0, 0, false, CREATE_NEW,0,0,&startupInfo, &processInfo))
{
throw Error(_T("Couldn't create process!"));
}
else
{
WaitForSingleObject(processInfo.hProcess, INFINITE);
GetExitCodeProcess( processInfo.hProcess, &ExitCode );
CloseHandle(processHandle);
CloseHandle(processInfo.hThread);
CloseHandle(processInfo.hProcess);
}
Ho provato anche senza il WaitForSingleObject, ma il risultato è il medesimo.
startupInfo.cb = sizeof(startupInfo);
if (!CreateProcess(CString(fileName.c_str()), 0, 0, 0, false, CREATE_NEW,0,0,&startupInfo, &processInfo))
{
throw Error(_T("Couldn't create process!"));
}
else
{
WaitForSingleObject(processInfo.hProcess, INFINITE);
GetExitCodeProcess( processInfo.hProcess, &ExitCode );
CloseHandle(processHandle);
CloseHandle(processInfo.hThread);
CloseHandle(processInfo.hProcess);
}