Macroprogram (Keyhook og key send)

Tags:    c++

<< < 12 > >>
Davs.
Jeg har et lille problem.
Jeg er i gang med at lave et macroprogram som skal kunne modtage taste tryk og sende taste tryk og musse bevægelser.

Jeg har følgende kode til at modtage tryk med:
Fold kodeboks ind/udKode 


Og jeg har følgende kode til at sende tryk med:
Fold kodeboks ind/udKode 


De virker egentlig meget godt. Men mit problem er at jeg godt vil have dem til at arbejde med ASCII tal. Det gør denne kode ikke (den vil kun arbejde med tegn eller noget nær VK_RETURN).
Der vil jeg i stedet have den til at arbejde i ASCII da det er noget nemmere at arbejde med.
Nogen der har en ide til at få den til at gøre det?



12 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Okay jeg har fået key hooken til at modtage trykkene i ASCII tal. Men kan ikke få den til at sende keystrokes med via ASCII koderne.

Der får jeg bare nogle mærkelig outputs som f.eks:
Jeg vil skrive Skinke og så får jeg teksten s+9,+5..... Hvad i alverden sker der?

Jeg har tjekket at jeg translater mine ASCII chars ordenligt og der er ingen problemer.

Min kode jeg sendr med:
Fold kodeboks ind/udKode 


Jeg har prøvet med SendInput. Men det kan jeg slet ikke få til at virke. Nogen der har nogle forslag?



Jeg tror at problemet er små bogstaver, store bogstaver burde kunne sendes problemfrit.
Jeg er ikke sikker på at du kan sende små bogstaver på den måde, er det nødvendigt?



Ved nærmere eftertanke og test.
Hvis du bruger SendInput og wScan kan det virke med små bogstaver også:

Fold kodeboks ind/udKode 




Ved nærmere eftertanke og test.
Hvis du bruger SendInput og wScan kan det virke med små bogstaver også:

Fold kodeboks ind/udKode 


Mit problem er ikke små og store bogstaver. Mit problem er at jeg vil oversætte store og små bogstaver. Jeg vil have den til at køre det som ASCII tal ikke tegn.

Jeg kan heller ikke lige få din kode der til at virke. Hvad skal der inputtes som anden parameter i funktionen?



Her er hele koden:
Fold kodeboks ind/udKode 


Hvad mener du med "jeg vil oversætte store og små bogstaver"?



Her er hele koden:
Fold kodeboks ind/udKode 


Hvad mener du med "jeg vil oversætte store og små bogstaver"?


Uhh jeg fik den til at virke. Kunne ikke se grunden til det andet paramete så det fjærnede jeg. Og koden virker nu som jeg vil have den til.

Tak du! :)

Tror foresten din kode der vil give et uendeligt loop som bliver ved med at sende den samme bogstav konstant hehe. Men har ikk lige prøvet den så det ved jeg ikk hehe.

Men tak tak



Hvorfor tror du at min kode vil sende det samme bogstav kontant i en uendelig løkke?



Hvorfor tror du at min kode vil sende det samme bogstav kontant i en uendelig løkke?


Jo fordi når du modtager et tastetryk så sender den også dette tastetryk igen, hvilket resultere i at keyhooken modtager dette tastetryk og så sender de igen og det vil den gøre uendeligt.



Nej, jeg modtager i hooken et tastetryk og sender nogle andre tastetryk og sender det originale videre, der er ingen loop.
Hvis man sender det samme tastetryk som man modtager mere end én gange ville der kunne opstå en uendelig løkke. Det kan man undgå ved at kikke på flags i KBDLLHOOKSTRUCT, der er et bit der fortælle om tastetrykket er et oprindeligt tastetryk, eller et der er blevet indsat (af os selv).



Nej, jeg modtager i hooken et tastetryk og sender nogle andre tastetryk og sender det originale videre, der er ingen loop.
Hvis man sender det samme tastetryk som man modtager mere end én gange ville der kunne opstå en uendelig løkke. Det kan man undgå ved at kikke på flags i KBDLLHOOKSTRUCT, der er et bit der fortælle om tastetrykket er et oprindeligt tastetryk, eller et der er blevet indsat (af os selv).


Ahh ok fair.

Men nu har jeg fået et andet lille problem. Jeg vil gærne have den til at sende et enter tryk. Det virker egentlig også fint i notepad og word. Men når jeg går over i MSN eller nogle spil så er det som om der går et eller andet galt så den ikke sende enter tegnet ordenligt.
F.eks. i spillet der kan den ikke bringe chat menuen frem (som åbnes og lukket med enter), men den vil tilgengæld godt lukke den ned hvis man har åbnet den.

Har du nogen anelse om hvad der foregår? For jeg har ikke :/

Jeg bruger følgende kode:
Fold kodeboks ind/udKode 

Og kalder den med SendKeys(13);
13 ASCII tallet for enter.
(Bemærk at koden er lavet til kun at sende et tegn ad gangen lige der)



<< < 12 > >>
t