C++ d3d9代理dll-模拟鼠标单击
我使用的是d3d9代理dll 在此代理dll中,我尝试向加载此dll的应用程序发送鼠标单击:C++ d3d9代理dll-模拟鼠标单击,c++,proxy,directx,mouseclick-event,C++,Proxy,Directx,Mouseclick Event,我使用的是d3d9代理dll 在此代理dll中,我尝试向加载此dll的应用程序发送鼠标单击: HWND mywin = FindWindow(NULL, "My Window Name"); PostMessage ( mywin, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(x,y)); Sleep(5); PostMessage ( mywin, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(x,y
HWND mywin = FindWindow(NULL, "My Window Name");
PostMessage ( mywin, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(x,y));
Sleep(5);
PostMessage ( mywin, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(x,y));
但是应用程序忽略了它
当我使用
ControlClick($hWnd, "", "", "left", 1, 420, 135)
从外部autoit程序中,它可以对其进行重新定位,并且工作正常
由于autoit不是开源的,我不知道它们使用哪个windows api调用。DirectX应用程序通常使用DirectInput进行鼠标和键盘处理,这会忽略windows消息循环。因此,您的代码失败的原因很清楚,但我不知道autoIt是如何工作的。@PMF:即使是MS也不建议对鼠标和键盘使用DirectInput,因为它没有添加任何有用的内容:@cdoubleplusgood:有趣的,更新的请在阅读之前阅读。但我想如果你想用类似的代码处理游戏杆和鼠标/键盘,使用DirectInput仍然是个好主意。我同意,如果你只需要在应用程序中处理鼠标或键盘,它不会增加价值。@AndreasHinderberger:看来你在编写aimbot。奇怪的是。。。当目标窗口未激活时,它会工作。。。