kjeita Skrevet 8. oktober 2015 Del Skrevet 8. oktober 2015 Jeg leker meg litt med et veldig gammelt spill, og har kommet over et lite problem.Hva jeg prøver på er å automatisk gå rundt i sirkler.Problemet er at jeg ikke får til å 'holde' ned knappene.eks. PostMessage(hwnd, WM_KEYDOWN, 0x0000000D, 0x001C0001); Sleep(1000); PostMessage(hwnd, WM_KEYUP, 0x0000000D, 0xC01C0001); Dette sender kun et enkelt trykk med 'w', og holder den ikke nede som jeg ønsker. Det kan hende det har noe med lParam på KEYDOWN å gjøre, men jeg ikke helt hvordan det skal rettes opp. (verdier kommer fra spyxx) Lenke til kommentar
Enthroner Skrevet 8. oktober 2015 Del Skrevet 8. oktober 2015 Jeg tror du må bruke SendInput for å få til dette. Eventuelt så kan du sende flere KEYDOWN meldinger som er man i essens gjør med hold (altså er hold egentlig repeat).Lykke til! Lenke til kommentar
kjeita Skrevet 9. oktober 2015 Forfatter Del Skrevet 9. oktober 2015 Jeg tror du må bruke SendInput for å få til dette. Eventuelt så kan du sende flere KEYDOWN meldinger som er man i essens gjør med hold (altså er hold egentlig repeat). Lykke til! Det med flere KEYDOWN hadde jeg prøvd før jeg kom hit. Du kan se for deg at du går framover i 30fps, men etter ca et sek så går du over til 1-2 fps. Altså det var ikke helt brukbart. SendInput virket Nå er spørsmålet hvordan sende museklikk Og om noe av dette er mulig å gjøre på bakgrunnsvinduer på noen måter. Lenke til kommentar
ahw_ Skrevet 23. oktober 2015 Del Skrevet 23. oktober 2015 Hvis spillet bruker DirectInput e.l. kan du kanskje vurdere å injisere kode som hook'er API'et. Det er mye mer komplisert, men du vil få mer frihet. Se f.eks. følgende: IDirectInput*::CreateDevice IDirectInputDevice*::GetDeviceState IDirectInputDevice*::SetCooperativeLevel I et gammelt spill la jeg inn min egen meny som kunne navigeres i uten å forstyrre navigeringen i selve spillet. Etter at «omturen» var ferdig nullstilte jeg bare input og ga dette videre til spillet. Kanskje du kan gjøre noe av det samme, bare med å modifisere input'en slik at det ser ut som at en tast er nedtrykket. Koden må være inni selve prosessen til spillet. Du kan f.eks. forsøke å se hvilket API som benyttes med API Monitor. Lenke til kommentar
kjeita Skrevet 31. oktober 2015 Forfatter Del Skrevet 31. oktober 2015 Hvis spillet bruker DirectInput e.l. kan du kanskje vurdere å injisere kode som hook'er API'et. Det er mye mer komplisert, men du vil få mer frihet. Se f.eks. følgende: IDirectInput*::CreateDevice IDirectInputDevice*::GetDeviceState IDirectInputDevice*::SetCooperativeLevel I et gammelt spill la jeg inn min egen meny som kunne navigeres i uten å forstyrre navigeringen i selve spillet. Etter at «omturen» var ferdig nullstilte jeg bare input og ga dette videre til spillet. Kanskje du kan gjøre noe av det samme, bare med å modifisere input'en slik at det ser ut som at en tast er nedtrykket. Koden må være inni selve prosessen til spillet.Du kan f.eks. forsøke å se hvilket API som benyttes med API Monitor. Dette høres spennende ut, og er helt klart noe jeg kunne tenke meg å få til.Jeg er bare ikke helt klar over hvor jeg må starte, siden det vil være nytt for meg. Lenke til kommentar
ahw_ Skrevet 31. oktober 2015 Del Skrevet 31. oktober 2015 (endret) Etter at «omturen» var ferdig nullstilte jeg bare input og ga dette videre til spillet. ...Dette høres spennende ut, og er helt klart noe jeg kunne tenke meg å få til.Jeg er bare ikke helt klar over hvor jeg må starte, siden det vil være nytt for meg. La merke til at jeg sa feil her. Mente så klart at jeg nullstilte input mens «omturen» min pågikk. Koden min fikk altså input-en og spillet ingenting. Ja, det er litt komplisert hvis du ikke har gjort det før. Det finnes også kode som hjelper med dette, som du f.eks. kan bygge videre på. Endret 31. oktober 2015 av ahw_ Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå