2012-06-22 3 views
2

Я ищу, чтобы имитировать нажатия клавиш в python 3.2 в Windows 7, чтобы отправить его в GUI. У меня есть модуль python win32, установленный на моем pc.The порядок: alt + t + r + name + enter Каким будет лучший способ отправить эти нажатия клавиш в активное окно? Любой образец кода будет очень полезен. Спасибо. (Я видел некоторый модуль с именем sendkeys, но может ли он использоваться с pywin32? Мне не разрешено устанавливать какие-либо другие модули)Имитация нажатия клавиш в python с использованием pywin32

ответ

4

Я знаю, что это может быть не идеально. У нас есть тестовое приложение, использующее 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) 

Вот список из send key commands для Windows Scripting Host.

Обновление

Используется pywin32. Он устанавливается по умолчанию в версии python ActiveState (который я использую). Я не уверен, но я не верю, что он установлен по умолчанию в простой версии python для ванилин.