当光标位置越过特定的 x 值时采取行动

Take action when the cursor position crosses a particular x value

这是我的情况

import win32api

while True:
    x,y = win32api.GetCursorPos()
    if x < 0:
        print("2")
    else:
        print("1")

这会不断打印“1”或“2”,具体取决于鼠标的 x 坐标是否小于 0(双显示器,RHS 是主显示器,因此 < 0 表示鼠标在第二台显示器上)。当 x 变为 < 0 或 x 变为 >= 0 时,如何让它只打印字符串 '1' 或 '2' 的 一个实例

您需要记住最后打印的状态,以便您可以检测何时进入新状态。

last_state = False
while True:
    x,y = win32api.GetCursorPos()
    state = x < 0
    if state == last_state:
        continue
    last_state = state
    if state:
        print("2")
    else:
        print("1")