我想向另一个程序的特定窗口发送一些鼠标点击消息。我目前使用的是
这些消息无论用户的鼠标按钮设置如何,都会执行相同的方式。与此相反,我想知道用户是否从鼠标设置控制面板中交换了鼠标按钮。
我进行了研究,并找到了
来自MSDN:
如果在调用该函数之前先反转了鼠标按钮的含义,则返回值为非零。
我可以通过这种方式获取所需的信息,但它也将它们恢复到原始的鼠标按钮状态。我只想检查而不还原到原始状态。
我当前像这样调用此函数:
我想知道除了类似于 SystemParametersInfo 的方法外,是否有其他的替代方法(仅检查用户是否交换了鼠标按钮,而不还原)。
基本上,我想要做的是根据用户的鼠标按钮含义模拟主鼠标按钮单击和辅助鼠标按钮单击。
例如,当我模拟主鼠标按钮单击时,如果用户已经交换了鼠标按钮,则应该模拟右键单击,否则则按照通常情况下模拟左键单击。 对于我想要实现的内容,不存在名为 WM_PRIMARY ... 和 WM_SECONDARY ... 的消息。
提前致谢。
WM_LBUTTONUP
和WM_LBUTTONDOWN
消息,效果很好。这些消息无论用户的鼠标按钮设置如何,都会执行相同的方式。与此相反,我想知道用户是否从鼠标设置控制面板中交换了鼠标按钮。
我进行了研究,并找到了
SwapMouseButton
函数,它的效果很好,但我并不想实际交换鼠标按钮,我只想知道它以前是否被交换过。来自MSDN:
如果在调用该函数之前先反转了鼠标按钮的含义,则返回值为非零。
我可以通过这种方式获取所需的信息,但它也将它们恢复到原始的鼠标按钮状态。我只想检查而不还原到原始状态。
我当前像这样调用此函数:
SwapMouseButton(FALSE);
我想知道除了类似于 SystemParametersInfo 的方法外,是否有其他的替代方法(仅检查用户是否交换了鼠标按钮,而不还原)。
基本上,我想要做的是根据用户的鼠标按钮含义模拟主鼠标按钮单击和辅助鼠标按钮单击。
例如,当我模拟主鼠标按钮单击时,如果用户已经交换了鼠标按钮,则应该模拟右键单击,否则则按照通常情况下模拟左键单击。 对于我想要实现的内容,不存在名为 WM_PRIMARY ... 和 WM_SECONDARY ... 的消息。
提前致谢。
PostMessage
。你提供的链接非常有用。 :-) - GTAVLover