Avatar billede biohazard_666 Nybegynder
09. juni 2009 - 17:02 Der er 1 løsning

Find og bloker for WM_ACTIVEAPP message (subclassing/hook)

Hejsa eksperter :)

Jeg er igang med at se, om jeg kan få noget bestemt til at lykkedes. Det drejer sig om et spil, der kun accepterer keystrokes når det er i fokus. Så jeg kan her godt bruge fx PostMessage, til at sende keystrokes til det her spil. Det virker dog ikke når spillet ligger i baggrunden.

Jeg har forsøgt ud fra koden på VBnet (http://vbnet.mvps.org/index.html?code/subclass/activation.htm) at lave en "hook", der fanger alle WM_ACTIVEAPP-beskeder, også for mit spil (ud fra dets hWnd). Problemet med koden i linket er, at jeg ikke kan få det til at "finde" andre hWnd's end programmets eget :/

Jeg har lagt mærke til, at spill modtager WM_ACTIVEAPP med en wParam, der er sat til 1 (True), når spillet bliver aktivt, og WM_ACTIVEAPP med wParam som 0 (False) når vi mister fokus.

Jeg tænkte så på, om man kan "blokere" for den besked, der fortæller programmet at det ikke længere er i fokus, således at programmet stadig bliver ved med at modtage keystrokes, selvom det egentlig ligger i baggrunden.

Det er en stor mundfuld, og jeg håber nogle kan hjælpe mig videre med problemet :)
Avatar billede biohazard_666 Nybegynder
22. oktober 2009 - 11:45 #1
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester