如何使用SendKeys向活动窗口发送模拟键盘输入
我刚开始学习Python,想在Windows 7上给一个我打开的应用程序发送一系列按键组合。我的脚本在测试记事本时运行得很好,但在我想用的实际应用程序上却不行。
这是我目前的代码:
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的新手;-)
另外,我已经通过加入这段代码确认了应用程序是在活动窗口中运行的:
import win32ui
wnd = win32ui.GetForegroundWindow()
print wnd.GetWindowText()
1 个回答
2
好的……我重启了一下系统,不知道为什么现在它可以正常工作了。我在想之前运行程序时,可能有一些进程还留在系统里没有结束。无论如何,现在我可以按预期进行操作了,虽然我还是不太明白最开始到底出了什么问题。
感谢所有花时间回复的人。