向DirectX9发布消息-游戏角色,这是可能的吗



我花了几天时间试图强行将鼠标点击和键盘印象推入DirectX9游戏。到目前为止,我已经能够使用登录屏幕的用户/密码字段。点击和KB事件正在工作。现在,当游戏登录到服务器时,会出现华而不实的游戏介绍,几秒钟后,可以看到实际的游戏UI。文本框、聊天窗口等都是可见的。我可以将点击发送到聊天窗口,按回车键,键入ascii字符。等但我似乎无法点击实际的"游戏角色",也无法使用键盘控制角色的动作。

经过一次又一次的寻找,我陷入了困境。DirectX会纪念我的点击/KB事件吗?有解决办法吗?我知道人们会强迫我挂接SendInput()-我的问题是游戏窗口被最小化了,所以我不能使用SendInput(。

为了简洁起见。我正在使用以下

gameWndHandle = FindWindow("MyGame")
PostMessage(gameWndHandle,WM_KEYDOWN,(TCHAR)'a',NULL); // Works for chat box, not for a game character
PostMessage(gameWndHandle,MK_LBUTTON,NULL,MAKELPARAM(mouseX,mouseY)); // Works for chat box, not for a game character

我相信一定有人破解了这个。有API吗?我是指API伙伴吗?我希望有人能提供一个工作样本的链接。似乎没有人喜欢再分享了:)我想,很可能钩子是最终的解决方案!

尝试使用SendInput函数。

SendInput函数将INPUT结构中的事件串行插入键盘或鼠标输入流中。

最新更新