Winapi 如何用左键更改右键?

Winapi 如何用左键更改右键?,winapi,mouse-hook,Winapi,Mouse Hook,我使用下面的winapi代码将右键单击更改为左键单击 LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam) { if (wParam == WM_RBUTTONDOWN) { return CallNextHookEx(NULL, nCode, WM_LBUTTONDOWN, lParam); } else if (wParam == WM_RBUTTONU

我使用下面的winapi代码将右键单击更改为左键单击

LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{

    if (wParam == WM_RBUTTONDOWN)
    {
        return CallNextHookEx(NULL, nCode, WM_LBUTTONDOWN, lParam);
    }
    else if (wParam == WM_RBUTTONUP)
    {
        return CallNextHookEx(NULL, nCode, WM_LBUTTONUP, lParam);
    }
    else if (wParam == WM_RBUTTONDBLCLK)
    {
        return CallNextHookEx(NULL, nCode, WM_LBUTTONDBLCLK, lParam);
    }

    return CallNextHookEx(NULL, nCode, wParam, lParam);
 }
钩子工作得很好,但这项技术似乎是只读的(我在其他一些stackoverflow问题中读到)。这就是我想做的:

Left click -> Press left button. Right click -> Press left button. 左键单击->按左键。 右键单击->按左键。 有什么办法可以做到这一点吗


提前谢谢。

您可以轻松地使用该功能交换鼠标按钮。

谢谢您的评论,但这会交换按钮,我只想用左换右。可能是因为我的英语不好,我不懂。这就是我想要做的:
左键单击->按左键。右键单击->按左键。
。使用
系统参数info
将执行
左键单击->按右键。右键单击->按左键。
右键?或者我错了?抱歉搞混了:-)。然而,我从来没有用过交换词,我只是说用左键点击来改变右键点击。再次感谢,没问题。有时我也很难用英语解释我的问题。顺便说一句,有什么想法吗?在英语中,“用y改变x”的意思是“用y交换x”。你的意思是写“把x改成y”。您想在全局范围内还是仅在您的程序内执行此操作?谢谢您的回答,但我不想交换按钮,我想用左按钮更改右按钮。我看不出有任何区别。更改右/左键的确切含义是什么?请参阅对原始问题的注释。我要求@cdonts编辑问题以澄清问题,但请求被拒绝。哦,我明白了。嗯,当用户使用您的应用程序时,您可以使用SwapMouseButton交换它们,当用户离开您的应用程序时,您可以使用SwapMouseButton交换它们。它没有被拒绝@KenWhite,只是我不知道要编辑什么!我怎样才能把问题弄清楚?穆斯塔法,我去看看。谢谢