So, ich komme nochmals.
inzwischen habe ich den 3-D-Bildschirmschoner und das 64-Bit-W-7 als Problemverursacher ausschliessen können. Ich komme aber nicht dahinter, wo der Unterschied zwischen XP und W-7 noch sein kann.
Nochmals wie das funktioniert: Ein Service startet ein unsichtbares Programm auf dem gerade aktiven Desktop (Default, Winlogon oder Screen-Saver). Dieses Programm lädt einen Hook (immer aus derselben Library). Sobald der Desktop ändert, wird der Hook beendet, der Wechsel an den Service gemeldet und das Programm beendet. Und das Spiel beginnt von vorne. Funktioniert auf allen Desktops auf XP einwandfrei.
Auf W-7 ebenso auf Winlogon und Default. Auf Screen-Saver aber ist die Sache seltsam. Das Programm wird geladen und der Hook eigentlich ebenfalls (SetWindowsHookEx in der
DLL liefert ein
Handle zurück). Nur eben, der Hook reagiert nicht, sobald eine Taste gedrückt wird, ist einfach der Screen-Blanker weg.
Hat jemand noch eine Idee, wo ich da noch suchen könnte?