Python - 控制应用程序由Windows中的不同用户启动

时间:2016-04-22 09:52:20

标签: python windows sendkeys pywinauto

我正在制作使用SendKeys控制浏览器的应用程序。但是当SendKeys完全控制键盘时,我想在不同的用户下运行这个应用程序。这样我将会工作,应用程序将完成它必须做的事情,我们不会互相制造问题。)

最简单的代码是

import time
import SendKeys

time.sleep(10)
SendKeys.SendKeys('hello')

我运行它,专注于我想要插入文本“hello”的字段,然后等待。如果我不更改用户,则按预期完成所有操作。 但是当我运行它时,更改用户并在10秒后返回,我看到SendKeys没有向程序发送任何内容。

如何向不同用户下的程序发送击键?

(我试图用pywinauto做同样的事情,但结果几乎一样 - 如果我不改变用户,一切都很好,如果我改变它就会出错。所以我认为它更简单到仅使用SendKeys解决此问题。

1 个答案:

答案 0 :(得分:1)

只是在评论和聊天中总结我们的讨论。你的愿望非常广泛。我只是想向您展示一些学习方向。

如果要使用SendKeys/TypeKeys/ClickInput方法(以真实用户身份工作),则需要在远程会话中运行自动化脚本,而不是在本地运行。我在另一个答案中详细解释了这一点:SetCursorPos fail with "the parameter is incorrect" after rdp session terminated

如果要以静默方式在同一台计算机上运行自动化(处于最小化状态),则有一个处理隐藏窗口的示例:Python - Control window with pywinauto while the window is minimized or hidden。只需最小化窗口并使用静默方法(几乎所有方法除ClickInputTypeKeys)。

随意询问有关pywinauto和GUI自动化的更详细问题。