Hallo.
Ich starte ein Programm (mit CreateProcess() oder ShellExecuteEx()) und nutze WaitForSingleObject(), um festzustellen, wann der Prozess endet. Manche Programme (z.B. das Spiel BioShock) beenden den erzeugten Prozess aber sofort wieder und laufen in einem anderen weiter. Liegt wahrscheinlich am SecuROM-Kopierschutz.
Wenn ich den Prozess mittels Process Monitor von Sysinternals verfolge, erkennt SecuROM das und
verhindert den Start.
Kann ich den Prozess trotzdem irgendwie verfolgen und feststellen wann er beendet wird?
Code:
PID Operation Path Result Detail
3532 Load Image C:\WINDOWS\system32\secur32.dll SUCCESS Image Base: 0x1660000, Image Size: 0x11000
3532 Process Create D:\Win\BioShock\Builds\Release\Bioshock.exe SUCCESS PID: 3256
3256 Thread Create SUCCESS Thread ID: 2792
3256 Load Image D:\Win\BioShock\Builds\Release\Bioshock.exe SUCCESS Image Base: 0x10900000, Image Size: 0x15fc000
3256 Load Image C:\WINDOWS\system32\ntdll.dll SUCCESS Image Base: 0x7c910000, Image Size: 0xb7000
3532 Thread Exit SUCCESS User Time: 0.4531250, Kernel Time: 0.1093750
3532 Process Exit SUCCESS Exit Status: 5664, User Time: 0.4687500, Kernel Time: 0.0937500
3256 Load Image C:\WINDOWS\system32\kernel32.dll SUCCESS Image Base: 0x7c800000, Image Size: 0x107000