【问题标题】:How to send mouse click event to a game application?如何将鼠标点击事件发送到游戏应用程序?
【发布时间】:2011-05-19 12:13:43
【问题描述】:

我尝试向游戏应用程序发送鼠标点击事件。首先,我使用 Spy++ 来查找应用程序接收到的消息。我看到类似:WM_MOUSEACTIVATE,WM_WINDOWPOSCHANGING,WM_ACTIVATEAPP,WM_ACTIVATE,WM_SETFOCUS,... 我尝试发送与我在 Spy++ 上看到的相同的内容,但它不起作用。如何在不给它焦点的情况下将鼠标点击发送到游戏应用程序? .它以窗口模式运行。提前致谢。

【问题讨论】:

  • 请注意,如果您打算为游戏创建作弊,那可能是不太可靠/优雅的方法:)
  • 发布一些代码作为您发送消息的方式。以及如何获得游戏窗口的句柄。
  • :) .. 是的 .. 我尝试编写一个机器人程序(自动?)。我不知道怎么用英语称呼它。这个游戏没有像X-trap、N-Protect game guard、...这样的保护器。你能告诉我我该怎么做吗?我应该学什么? .我花了很多时间向它发送消息 XD
  • 这里有一些代码:获取句柄:HWND hRO = FindWindow(L"GameClassName", L"GameWindowName"); (取自 Spy++).SendMessage(hRO, WM_MOUSEACTIVATE, 0x00190476, 0x02010001); SendMessage(hRO, WM_WINDOWPOSCHANGING, 0, 0x0018FA50); SendMessage(hRO, WM_ACTIVATEAPP, 1, 0); SendMessage(hRO, WM_ACTIVATE, WA_CLICKACTIVE, 0); SendMessage(hRO,WM_NCACTIVATE, 1, 0); SendMessage(hRO, WM_SETFOCUS, 0, 0); PostMessage(hRO, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(200,200)); PostMessage(hRO, WM_LBUTTONUP, MK_LBUTTON, MAKELONG(200,200)); SendMessage(hRO, WM_KILLFOCUS, 0, 0);

标签: c++ windows winapi window


【解决方案1】:

你想要 WM_LMOUSEDOWN。您可以随时查看 MSDN 以了解有关消息含义的文档。

【讨论】:

  • 和WM_LBUTTONDOWN一样吗?
  • 我也发送 WM_LBUTTONDOWN,我检查 MSDN 以获取我发送的每条消息。我还检查了 Spy++,我看到我的应用程序收到了我发送的所有消息,但它仍然不起作用。我不明白。
【解决方案2】:

自动化应用程序和游戏的最佳方式是通过SendInput。虽然理论上应该可以通过 WM_LUBTTONDOWN 等驱动应用程序,但许多应用程序直接通过较低级别的 API(例如 GetAsyncKeyState)读取键状态,这些 API 不会更改其状态以反映从消息队列处理的消息。

使用 SendInput 需要将游戏实际设置到前台,因为输入事件是在低级别合成的,因此会传递到活动/聚焦窗口。

【讨论】:

  • 我试过了:INPUT minput; mininput.type = INPUT_MOUSE; mininput.mi.dx = 200; mininput.mi.dy = 200; minput.mi.dwFlags = MOUSEEVENTF_LEFTDOWN; mininput.mi.time = 0;SetForegroundWindow(hRO);睡眠(5000); if(SendInput(1, &minput, sizeof(INPUT)) == 0) MessageBox(0,L"SENDINPUT ERROR", L"ERROR", 0);.我手动运行并单击游戏窗口,它有一个 LBUTTONDOWN 但在我的鼠标位置,而不是在 200:200。
  • 如果我不点击游戏窗口,它会点击我的鼠标位置。我的意思是它有一个 LBUTTONDOWN 状态,所以当我单击鼠标左键并拖动它时它可以工作。
猜你喜欢
  • 2011-07-19
  • 2015-03-05
  • 1970-01-01
  • 1970-01-01
  • 2017-07-02
  • 2012-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多