在玩游戏时,我们可能需要一些快捷工具,比如左键连点,效果就是在按下鼠标左键后将会以一个很快的速度一直模拟点击鼠标左键,松开后就会自动停止。网上也有很多这样的工具,从前我也自己尝试开发过,但是总会有一个严重的问题——如何判定真正的鼠标左键是否被按下。
一直以来,我都是用如下代码模拟鼠标左键的点击。
mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, NULL, NULL);
mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, NULL, NULL);
同时通过WH_MOUSE_LL钩子来判断鼠标的按键。
LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
switch (wParam)
{
case WM_LBUTTONDOWN:
{