要判断hook的鼠标是否是真实鼠标或者是调用mouse_event()的,可以通过检查鼠标消息的dwExtraInfo参数来实现。dwExtraInfo参数是一个DWORD类型的值,它包含了鼠标消息的附加信息,可以用来判断鼠标消息的来源。

如果dwExtraInfo的值为0,则表示鼠标消息来自真实鼠标;如果dwExtraInfo的值不为0,则表示鼠标消息是通过调用mouse_event()函数模拟的。

下面是一个示例代码,用于检查鼠标消息的dwExtraInfo参数,并判断鼠标消息的来源:

LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    if (nCode == HC_ACTION)
    {
        MOUSEHOOKSTRUCT* pMouseStruct = (MOUSEHOOKSTRUCT*)lParam;
        if (pMouseStruct != nullptr)
        {
            DWORD dwExtraInfo = pMouseStruct->dwExtraInfo;
            if (dwExtraInfo == 0)
            {
                // 鼠标消息来自真实鼠标
            }
            else
            {
                // 鼠标消息是通过调用mouse_event()函数模拟的
            }
        }
    }
    return CallNextHookEx(nullptr, nCode, wParam, lParam);
}

在这个示例代码中,我们首先获取了鼠标消息的dwExtraInfo参数,然后判断它是否为0。如果dwExtraInfo为0,则表示鼠标消息来自真实鼠标;否则,表示鼠标消息是通过调用mouse_event()函数模拟的。

判断hook的鼠标是否是真实鼠标 或者是调用mouse_event的 如何获取这个DWORO值 GetMessageExtraInfo不行它永远都是0 给个例子

原文地址: https://www.cveoy.top/t/topic/bC72 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录