Bei ReadProcessMemory brauchst du doch ohnehin ein
Handle. Warum nicht einfach mit WaitForSingleObject darauf warten, daß der Prozeß beendet wird?!
Nachtrag: Dein Code hat einen bösen Nachteil ... niemals Konstanten als literale Werte benutzen. Immer stattdessen das Symbol der Konstante benutzen. Klingt unwahrscheinlich, aber der Wert könnte auch zwischen verschiedenen Betriebssystemversionen variieren und dann hättest du ein Problem. Also lieber den Symbolnamen verwenden