|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
[Win32] Problema con CreateProcess
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
Ho provato anche senza il WaitForSingleObject, ma il risultato è il medesimo. Codice:
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);
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
STARTUPINFO è una struttura di "input" per la CreateProcess. Hai inizializzato la struttura (oltre al campo cb)???
Poi metti 0 invece di CREATE_NEW! Questa costante serve quando si aprono i file con CreateFile. Il suo valore è 1, che secondo l'utilizzo che ne fa CreateProcess come "Process Creation Flags" significa DEBUG_PROCESS.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Il target è WinCE, con Win32 quel codice mi funziona (CREATE_NEW a parte). |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:27.



















