Guest wrote:
I haven't (yet?) tried writing my own kb hook.
I don't think a hook is the answer for pushing keystrokes and mouse clicks into a DirectInput game. However, a hook is very useful for detecting keystrokes and mouse clicks at a low level (circumventing just about anything that might try to stop it).
Quote:
I instead downloaded and tried over 40 other Windows hotkey programs
Wow!
Quote:
Of the ~40 programs I tested, 5 of them worked in the game. They are (sorry if this is taboo):
Journal Macro
QuicKeys
KeyGO
OnHand
Toggle Keyboard
It's not taboo at all. In fact, your research is quite valuable to me and will certainly prove useful to others who are looking for ways to send keystrokes and mouse clicks to games that ignore the API functions keybd_event() and mouse_event().
Quote:
It's likely they are using a method similar to what Astaelan is using, or they are using their own kb device driver.
...any idea how these 5 programs are working in the game (Lineage2), while AHK is not?
I can't escape the feeling that it might be something really obvious that we just haven't stumbled across yet. Perhaps a journal record hook (which can also play back keystrokes?) Or perhaps something at the interrupt level, from the Win9x era (though I doubt that such tricks work on NT-based OSes such as XP). Or perhaps it has something to do with AttachThreadInput().
Or could it be something even simpler such as SendInput() (which requires Win98+ or NT4 SP3+). Maybe you could write a test program that attempts a single call to SendInput() while the game window is active.