Gå til innhold

keybd_event funker ikke som jeg vil


Anbefalte innlegg

#include <iostream>
#include <windows.h>

int main()
{
   
  
   std::cout << "I just hit enter :D\n";
    
  while(1)
  {
          Sleep(1000);
keybd_event(VK_RETURN,0,0, 0);
   keybd_event(VK_RETURN,0, KEYEVENTF_KEYUP,0);


  
   
}
} 

 

Prøver å kjøre dette mens jeg er inne på en cs server for å holde meg unna afk. Jeg skal da skyte med pistolen hvert sekund, men det skjer ikke. Åpner jeg et text dokument ser jeg at enter blir trykt. Men hvorfor ikke i cs spillet ?

Endret av olemedkrutt
Lenke til kommentar
Videoannonse
Annonse
Jeg skal ikke si det for sikkert men hl bruker jo DI for å mota tastatur trykk så det er jo mulig at verken WM_KEYUP eller WM_KEYDOWN blir brukt av DI.

7518393[/snapback]

 

Ja, det er riktig. Half-Life bruker DirectInput. Så du må hooke DirectInput for å gjøre det du vil. Microsoft DirectInput snakker direkte med tastatur/mus driverne. keybd_event sender windows meldinger, men disse kommer aldri til Half-Life.

 

Eksempel på DirectInput hooking:

http://www.gamedev.net/community/forums/to...topic_id=371104

Lenke til kommentar
  • 1 år senere...

Olemedkrutt, for å undgå å være såkalt "afk" i Counter-Strike vil jeg anbefale deg å kode noe helt annet. For å få deg godt i gang sender jeg deg videre til et forum fult av guider og folk som liker å hjelpe -> Game Deception!

 

Det du kan lage / adde etter litt studering er en såkalt "walkbot" som er vist i en eksempel kode av CrazyLord (Link finner du her. Når du først har kommet så langt åpner det seg mange nye muligheter, som ikke altids fører til det gode :/ )

Endret av zorgion
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...