代码之家  ›  专栏  ›  技术社区  ›  GTAVLover

检查是否在C中交换了鼠标按钮++

  •  5
  • GTAVLover  · 技术社区  · 8 年前

    我想发送一些鼠标点击消息到另一个程序的指定窗口。我当前使用 WM_LBUTTONUP WM_LBUTTONDOWN

    无论用户的鼠标按钮设置如何,这些消息都以完全相同的方式执行。反对它,我想知道用户是否从鼠标设置控制面板交换了鼠标按钮。

    我研究发现 SwapMouseButton

    如果在调用函数之前,鼠标按钮的含义已颠倒,则返回值为非零。

    我可以通过这种方式获得我想要的信息,但它也可以将它们恢复到鼠标按钮的原始状态。我只想检查,不想恢复到原始状态。

    我目前将此函数称为:

    SwapMouseButton(FALSE);
    

    SystemParametersInfo )仅检查

    基本上,我想做的是根据用户的鼠标按钮含义模拟主鼠标按钮单击和次鼠标按钮单击。

    例如,当我模拟主鼠标按钮单击时,如果用户交换了鼠标按钮,则应该像往常一样模拟鼠标右键单击,否则模拟鼠标左键单击。不存在调用的消息 WM_PRIMARY... WM_SECONDARY... 让我做我想做的事。

    提前谢谢。

    1 回复  |  直到 8 年前
        1
  •  9
  •   DAle    8 年前

    您可以使用 GetSystemMetrics SM_SWAPBUTTON

    SM_SWAPBUTTON 23

    按钮交换;否则为0。