Python 锁定计算机的鼠标事件

Python 锁定计算机的鼠标事件,python,winapi,python-3.x,pywin32,python-3.4,Python,Winapi,Python 3.x,Pywin32,Python 3.4,我用Python每X小时运行一次脚本,这是通过RDP完成的。在我关闭RDP(我假设)后,屏幕会在计算机上“锁定”。当尝试用下面的代码移动鼠标时,我得到一个错误 def mclick(x,y): win32api.SetCursorPos((x,y)) time.sleep(0.5) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0) win32api.mouse_event(win32con.MO

我用Python每X小时运行一次脚本,这是通过RDP完成的。在我关闭RDP(我假设)后,屏幕会在计算机上“锁定”。当尝试用下面的代码移动鼠标时,我得到一个错误

def mclick(x,y):
    win32api.SetCursorPos((x,y))
    time.sleep(0.5)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
关闭RDP连接后运行脚本时出现的错误:

File "x", line x, in mclick
    win32api.SetCursorPos((x,y))
pywintypes.error: (0, 'SetCursorPos', 'No error message is available')

我假设这是因为RDP连接已关闭,因此除了一直保持此RDP连接的活动状态外,它没有单击的位置。如何运行此连接?

当工作站锁定时,调用
SetCursorPos
失败。这是出于设计,也是一种安全特性。您只需捕获并忽略错误。

在运行脚本之前,可能需要寻找一个Windows API调用来唤醒/解锁计算机?@merlin2011如果存在这样一个函数,那么锁屏的安全性会如何呢?@DavidHeffernan,非常好的一点。:)不幸的是,移动鼠标是必需的,为了避免这个问题,我设置了一个服务器rdp从外部进入,并在另一个答案中找到了一个空闲的鼠标移动,以防止它锁定。谢谢