Motivation
我将使用 python 单击鼠标左键进行一些自动化测试。
我的开发和测试环境
-
我的本地开发机器(Win10(是鼠标左撇子。这意味着我单击鼠标左键以显示鼠标右键单击菜单。
-
测试服务器是鼠标的右手。我通常使用 TeamViewer 访问测试服务器,并且不需要测试服务器上的鼠标进行其他设置即可访问。我的意思是,使用 TeamViewer,如果我在 TeamViewer 视口中单击鼠标左键,则会在测试服务器上弹出鼠标右键菜单。
问题
-
我使用 pynput(https://pypi.org/project/pynput/( 单击鼠标按钮。下面是一个测试代码:
def simulate_left_click(): from pynput.mouse import Button, Controller m = Controller() m.press(Button.right)
在我的左撇子本地机器上,这段代码不会弹出鼠标右键菜单,这是我想要的,而在右手的测试服务器上,这段代码会弹出鼠标右键菜单。此代码的这种不一致行为很烦人。
我想做什么
我想写一个函数'is_system_left_handed((',像这样:
def simulate_left_click():
from pynput.mouse import Button, Controller
m = Controller()
if is_system_left_handed():
m.press(Button.right)
else:
m.press(Button.left)
我的问题
- 如何实现函数"is_system_left_handed(("?可能吗?
- 如果不可能,是否有任何其他 python 包可用于此问题?
谢谢
使用 GetSystemMetrics(SM_SWAPBUTTON( 检测鼠标按钮是否被交换...
SM_SWAPBUTTON = 23
from win32api import GetSystemMetrics
print(GetSystemMetrics(SM_SWAPBUTTON))
附注: 需要 pywin32:python -m pip install pywin32