当我从远程桌面断开连接时,PyKeyboard.tap_key()不起作用

时间:2014-11-10 16:46:20

标签: python windows winapi remote-desktop

我有一个程序使用PyKeyboard.tap_key()将键击发送到我自动化的另一个应用程序(不幸的是,应用程序无法以任何其他方式自动化)。我在远程Windows计算机上运行它,我通过远程桌面访问它。

PyKeyboard.tap_key()在我连接时运行良好,但是如果我从远程桌面会话断开连接,则不再提供击键。

另一个问题:断开远程会话等效于"注销 - >切换用户"?我认为问题是用户没有登录(即使会话正在运行)。

1 个答案:

答案 0 :(得分:1)

这似乎不是Python相关的问题。这也适用于SendInput()(这可能是Python使用的WINAPI函数)。

来自this MSDN thread

  

出于安全原因,当计算机被锁定时,不允许应用程序向桌面发送输入。我测试了在RDP最小化时更改光标位置,但事实上,当会话在最小化后恢复时,鼠标光标不会显示,并且当它恢复时,在鼠标移回可见区域之前没有光标可见,在这种情况下,它会显示在用户移动它的位置。实际上,即使RDP窗口已恢复但主机上的鼠标未在窗口上方,RDP窗口中的鼠标光标也不可见。所以这可能也不可能。如果您尝试实现特定行为,除了使用模拟输入移动鼠标之外,可能还有其他方法可以执行此操作。