*碰到DX游戏SendMessage 和PostMessage是没办法使用模拟键盘鼠标操作的,这时候我们可以用WinIO的SendInput把键盘鼠标消息放到消息队列里面去实现 代码如下:
模拟鼠标
int SuccessAction1, SuccessAction2, SuccessAction3;
INPUT MouseInput[3];
int x=200,y=200;
///////////////////////////////////////第一个动作:模拟鼠标移动到指定位置
MouseInput[0].type = INPUT_MOUSE;//虚拟的类型 INPUT_MOUSE or INPUT_KEY
////////////////////////////////////
MouseInput[0].hi.uMsg = NULL;
MouseInput[0].hi.wParamH = NULL;
MouseInput[0].hi.wParamL = NULL;
/////////////////////键盘消息////////////////////////////////////
MouseInput[0].ki.dwExtraInfo = NULL;
MouseInput[0].ki.dwFlags = NULL;//键盘的消息
MouseInput[0].ki.time = NULL;
MouseInput[0].ki.wScan = NULL;//键盘扫描码
MouseInput[0].ki.wVk = NULL;//键盘VK码
/////////////////////鼠标消息////////////////////////////////////
MouseInput[0].mi.dwExtraInfo = NULL;
MouseInput[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; //鼠标标志 MOUSEEVENTF_LEFTDOWN

本文介绍了在面临DX游戏无法通过SendMessage和PostMessage进行键盘鼠标模拟操作的问题时,如何利用WinIO的SendInput函数将输入事件放入消息队列,从而实现在DX游戏中模拟鼠标和键盘的功能。尽管这种方法存在后台操作的限制,但仍然是解决此类问题的有效途径。

2115

被折叠的 条评论
为什么被折叠?



