使用pywin32在python中模拟击键

时间:2012-06-22 06:10:14

标签: python user-interface simulation

我希望模拟Windows 7中python 3.2中的击键发送到GUI.I我的电脑上安装了python win32模块。订单是alt + t + r + name + enter。什么是最好的将这些击键发送到活动窗口的方法?任何示例代码都会有很大的帮助。 感谢您。 (我见过一些名为sendkeys的模块,但可以和pywin32一起使用吗?我不允许安装任何其他模块)

1 个答案:

答案 0 :(得分:6)

我知道这可能不完美。我们有一个使用python 2.7的测试应用程序。我们利用Windows脚本主机发送密钥。我没有时间将任何东西移植到python 3,但这可能会让你朝着正确的方向前进。它应该非常相似。

import win32api
import win32com.client

shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("app")
win32api.Sleep(100)
shell.AppActivate("myApp")
win32api.Sleep(100)
shell.SendKeys("%")
win32api.Sleep(500)
shell.SendKeys("t")
win32api.Sleep(500)
shell.SendKeys("r")
win32api.Sleep(500)
shell.SendKeys("name")
win32api.Sleep(500)
shell.SendKeys("{ENTER}")
win32api.Sleep(2500)

以下是Windows Scripting Host的send key commands列表。

更新

这使用pywin32。它默认安装在python的ActiveState版本中(我正在使用的版本)。我不确定,但我不相信,它默认安装在普通的python版本中。