Visual c++ 给DirectX9游戏角色发邮件,有可能吗?

Visual c++ 给DirectX9游戏角色发邮件,有可能吗?,visual-c++,directx,mouseevent,keyboard-events,postmessage,Visual C++,Directx,Mouseevent,Keyboard Events,Postmessage,我已经花了几天的时间试图强迫自己在DirectX9游戏中加入鼠标点击和键盘印象。到目前为止,我已经能够使用登录屏幕的用户/密码字段。单击和KB事件正在工作。 现在,当游戏登录到服务器时,会出现华丽的游戏介绍,几秒钟后,实际的游戏用户界面就会显示出来。文本框、聊天窗口等可见。 我能够发送到聊天窗口的点击,按回车键,键入ascii字符。等 但我似乎无法点击实际的游戏角色,或者使用键盘来控制角色的移动 经过一番又一番的寻找,我被困在了这一点上。DirectX会尊重我的点击/KB事件吗?有解决办法吗?我

我已经花了几天的时间试图强迫自己在DirectX9游戏中加入鼠标点击和键盘印象。到目前为止,我已经能够使用登录屏幕的用户/密码字段。单击和KB事件正在工作。 现在,当游戏登录到服务器时,会出现华丽的游戏介绍,几秒钟后,实际的游戏用户界面就会显示出来。文本框、聊天窗口等可见。 我能够发送到聊天窗口的点击,按回车键,键入ascii字符。等 但我似乎无法点击实际的游戏角色,或者使用键盘来控制角色的移动

经过一番又一番的寻找,我被困在了这一点上。DirectX会尊重我的点击/KB事件吗?有解决办法吗?我知道人们会强迫我使用SendInput——我的问题是游戏窗口被最小化了,所以我不能使用SendInput,但我怀疑PostMessagegameWndHandle、WM_XXXXX、WPARAM、LPARAM,特别是WM_XXXXX的参数没有被DirectX的参数强制,这意味着我的简单点击被简单地丢弃

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

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吗?我是说有朋友吗?我希望有人能提供一个链接到一个工作样本。似乎再也没有人愿意分享了:我猜,最有可能的解决方案是钩子

尝试使用函数

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


这就是我以前所做的。我可能是通过hooksSorry做的,我在代码示例中看到了PostMessage,并将SendInput误读为SendMessage。您看到了吗?另外,如果您确定PostMessage可以帮助您,请尝试使用记录游戏的消息处理。我已经检查了所有内容。我一直想解决的问题是通过挂钩使用DirectInput。使用DirectInput的应用程序直接轮询键盘和鼠标,并跳过正常的消息传递API。