控制操作系统鼠标单击

Control OS mouse clicks

本文关键字:单击 鼠标 操作系统 控制      更新时间:2023-10-16

我似乎找不到我正在寻找的东西,这是一种改变操作系统鼠标点击的方法。要指定这将在Windows上。

目标是限制用户在一段时间内可以注册的鼠标点击次数。

我认为您正在寻找的功能是SetWindowsHookEx .下面是一个快速示例。

#include <windows.h>
const DWORD desireddelay = 10;
LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    static DWORD previoustimestamp = 0;
    if ((nCode == 0) && (wParam == WM_RBUTTONDOWN))
    {
        if ((((MSLLHOOKSTRUCT*)lParam)->time - previoustimestamp) < desireddelay)
        {
            return 1; //Non-Zero Swallows the keystroke. 0 Allows it. Always CallNextHookEx if you are not swallowing it.
        }
        else
        {
            previoustimestamp = ((MSLLHOOKSTRUCT*)lParam)->time;
        }
    }
    return CallNextHookEx(NULL, nCode, wParam, lParam);
}
int main()
{
    HHOOK hook = SetWindowsHookEx(WH_MOUSE_LL, MouseProc, GetModuleHandle(NULL), NULL);
    MSG msg;
    bool done = false;
    while (GetMessage(&msg, NULL, NULL, NULL)) {}
    UnhookWindowsHookEx(hook);
    return 0;
}