使用WH_MOUSE_LL钩子来判断按键是否是mouse_event模拟的

本文介绍了如何在游戏中通过WH_MOUSE_LL钩子来区分真实的鼠标左键点击与使用mouse_event模拟的点击。当MOUSEHOOKSTRUCT的wHitTestCode参数为0时表示真实按键,为1时表示模拟按键,从而实现准确的判断。
摘要由CSDN通过智能技术生成

在玩游戏时,我们可能需要一些快捷工具,比如左键连点,效果就是在按下鼠标左键后将会以一个很快的速度一直模拟点击鼠标左键,松开后就会自动停止。网上也有很多这样的工具,从前我也自己尝试开发过,但是总会有一个严重的问题——如何判定真正的鼠标左键是否被按下。

一直以来,我都是用如下代码模拟鼠标左键的点击。

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:
    {
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值