Naja, das endgültig sauberste wäre es wohl, seine eigene, angepasste WndProc() zu bauen. Zumindest für das Mainform, um darüber die Aktivität des Prozesses gegenüber dem
OS zu wahren. Was die gesamte Logik angeht, so würde ich - bei einem Spiel - so vorgehen: Die eigene WndProc baut eine Liste der Eingaben, und es gibt einen "Master"-Thread, der quasi folgendes tut:
- Liste der WndProc abarbeiten (aka Controller-Eingaben auslesen)
- Spiellogik des nächsten Frames durchrechnen (logische Objekte, Spielerposition, Physik, etc.)
- Rendern (D3D/OGL bis zum Present/Flip/Whatever)
- rinse and repeat
Alles unter völligem Verzicht des Kissens der
VCL natürlich, da die bestenfalls bei solchen Vorhaben hinderlich ist.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)