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

Python - control application started by the different user in Windows

我正在制作使用 SendKeys 控制浏览器的应用程序。但是随着 SendKeys 获得对键盘的完全控制,我想 运行 这个应用程序在不同的用户下。这样我就会工作,应用程序会做它必须做的事情,我们不会互相制造麻烦。

最简单的代码是

import time
import SendKeys

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

我运行它,专注于我要插入文本的字段"hello",然后等待。如果我不更改用户,一切都会按预期完成。 但是当我 运行 它,更改用户并在 10 秒后 return 时,我看到 SendKeys 没有向程序发送任何内容。

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

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

只是总结我们在评论和聊天中的讨论。你的愿望很广泛。我只是想告诉你一些学习方向。

如果您想使用 SendKeys/TypeKeys/ClickInput 方法(作为真实用户工作),您需要 运行 在远程会话中而不是在本地使用自动化脚本。这在我的另一个答案中有详细解释:.

如果你想运行同一台机器上的自动化静默(最小化状态),有一个处理隐藏windows的例子:。只需最小化 window 并使用静默方法(除了 ClickInputTypeKeys 之外的几乎所有方法)。

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