STARTUPINFOA est une structure
cb est un entier
lpReserved est un entier
lpDesktop est un entier
lpTitle est un entier
dwX est un entier
dwY est un entier
dwXSize est un entier
dwYSize est un entier
dwXCountChars est un entier
dwYCountChars est un entier
dwFillAttribute est un entier
dwFlags est un entier
wShowWindow est un entier sur 2 octets
cbReserved2 est un entier sur 2 octets
lpReserved2 est un entier
hStdInput est un entier
hStdOutput est un entier
hStdError est un entier
FIN
PROCESS_INFORMATION est une structure
hProcess est un entier
hThread est un entier
dwProcessId est un entier
dwThreadId est un entier
FIN
EXCEPTION_RECORD est une structure
ExceptionCode est un entier
ExceptionFlags est un entier
ExceptionRecord est un entier
ExceptionAddress est un entier
NumberParameters est un entier ExceptionInformation est un entier
FIN
EXCEPTION_DEBUG_INFO est une structure
ExceptionRecord est un EXCEPTION_RECORD dwFirstChance est un entier
FIN
LOAD_DLL_DEBUG_INFO est une structure
hFile est un entier
lpBaseOfDll est un entier
dwDebugInfoFileOffset est un entier
nDebugInfoSize est un entier
lpImageName est un entier
fUnicode est un entier
FIN
DEBUG_EVENT est une structure
dwDebugEventCode est un entier
dwProcessId est un entier
dwThreadId est un entier
uExceptionDI est un EXCEPTION_DEBUG_INFO
uLoadDll est une LOAD_DLL_DEBUG_INFO
FIN
dbEvent est une DEBUG_EVENT
lpStartupInfo est un STARTUPINFOA
lpProcessInformation est un PROCESS_INFORMATION
RetourFonction=API("KERNEL32","CreateProcessA",lpApplicationName,"",Null,Null,Faux,OUBinaire(DEBUG_PROCESS,CREATE_NEW_CONSOLE), Null,Null,&lpStartupInfo,&lpProcessInformation)
SI RetourFonction=-1 ALORS
Erreur (ErreurInfo())
FinProgramme()
FIN
TANTQUE Vrai
API("KERNEL32","WaitForDebugEvent",&dbEvent,0)
SI (dbEvent:dwProcessId = lpProcessInformation:dwProcessId) ALORS
SELON dbEvent:dwDebugEventCode
CAS EXCEPTION_DEBUG_EVENT
SELON dbEvent:uExceptionDI:ExceptionRecord:ExceptionCode
FIN
CAS CREATE_PROCESS_DEBUG_EVENT
Trace ("create porocess: "+dbEvent:dwProcessId)
CAS LOAD_DLL_DEBUG_EVENT
Size est un entier=API ("KERNEL32","GetFileSize",dbEvent:uLoadDll:hFile,0)
//Size me retourne -1
// et l'erreur de erreurinfo est :
// GetLastError a renvoyé 6
// Descripteur non valide
FIN
FIN
Multitache(-1)
API ("KERNEL32","ContinueDebugEvent",dbEvent:dwProcessId,dbEvent:dwThreadId,DBG_CONTINUE)
FIN
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=3693&post_id=15596