You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python检测Windows系统中鼠标按键是否已互换

如何用Python检测Windows系统中鼠标按键是否互换?

左利手用户常将Windows鼠标主键设为右键(互换左右按键),要检测这个设置,我们可以直接调用Windows系统API,和C++/C#的实现思路一致,核心是使用GetSystemMetrics函数。

实现代码

通过ctypes库调用Windows的user32.dll中的GetSystemMetrics接口:

import ctypes

def are_mouse_buttons_swapped():
    # SM_SWAPBUTTON 的常量值是 23
    SM_SWAPBUTTON = 23
    user32 = ctypes.WinDLL('user32', use_last_error=True)
    return user32.GetSystemMetrics(SM_SWAPBUTTON) == 1

# 测试调用
if __name__ == "__main__":
    if are_mouse_buttons_swapped():
        print("鼠标按键已互换(左利手设置)")
    else:
        print("鼠标按键为默认设置(右键为次要按键)")

原理说明

  • GetSystemMetrics(SM_SWAPBUTTON) 返回值为1时,表示鼠标左右按键已互换;返回0则为默认状态。
  • 这个API在Windows XP及之后的所有版本(包括Win10、Win11)都能正常工作,兼容性良好。

相关实现参考

已有对应的C++和C#实现方案,核心逻辑都是调用同一个Windows API:

  • C#:读取Windows系统的惯用手设置
  • C++:检查鼠标按键是否互换

内容的提问来源于stack exchange,提问作者Al Sweigart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:52:05