2011-01-08 117 views
3

我是Python的新手,并试图将键击的组合发送到在Windows 7下打开的应用程序。当我调用记事本时,我的脚本将完美地工作。 EXE为测试目的,它不与我正在尝试使用的实际应用程序。如何使用SendKeys将模拟键盘笔画发送到活动窗口

这是到目前为止我的代码:

import win32com.client 
import time 
import SendKeys 
import os 
from ctypes import * 

shell = win32com.client.Dispatch("WScript.Shell") 

os.startfile("C:\...exe") 

time.sleep(5) 

shell.SendKeys('%{F4}')  # 'Alt+F4' to close the application again. 

出于某种原因,应用程序不会关闭在反应脚本。当我在键盘上点击“Alt + F4”时,它会按预期关闭。关于可能发生在这里的任何想法?

欢迎任何帮助!请记住,我是新来的Python ;-)

PS:我已经验证了应用程序在活动窗口通过包括此代码段运行:

import win32ui 
wnd = win32ui.GetForegroundWindow() 
print wnd.GetWindowText() 
+0

哪些是您的具体要求?你为什么使用Python?它看起来好像你已经把自己涂在了一个角落里。 – Apalala 2011-01-09 01:17:43

回答

0

OK ......我重新启动该系统和由于某种原因现在正在工作。我想知道如果以前的程序调用的某个流程实例可能一直在系统中徘徊。无论如何,即使我真的不明白哪里出了问题,我现在能够按预期执行操作。

感谢大家谁花时间repsond。

0

我知道这是6年前问过,但有人可能会同样的问题,所以这里是一个可能的解决方案:

shell.AppActivate('Put_The_Name_Here')

上面的代码将选择程序,文件等:已打开但未激活,也许是您的问题。

希望这可以帮助别人!

相关问题