python - 如何使用 SendKeys 将模拟键盘敲击发送到事件窗口

标签 python winapi windows-7 sendkeys

我是 Python 的新手,正在尝试将组合键发送到我在 Windows 7 下打开的应用程序。虽然我的脚本在我出于测试目的调用 Notepad.exe 时可以完美运行,但它不适用于实际应用程序我正在尝试使用。

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

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()

最佳答案

好的...我重新启动了系统,出于某种原因它现在可以正常工作了。我想知道以前程序调用的某些进程实例是否可能一直在系统上徘徊。无论如何,我现在能够按预期执行操作,即使我一开始并不真正理解哪里出了问题。

感谢所有花时间回复的人。

关于python - 如何使用 SendKeys 将模拟键盘敲击发送到事件窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636887/

相关文章:

c++ - 使用 XP 主题消隐控件

ruby-on-rails - 为 Windows 7 安装 Ruby on Rails(最新)

windows-7 - Windows 7 : unable to register DLL - Error Code:0X80004005

windows-7 - 如何防止文件重定向到 VirtualStore 来读/写文件?

python - 在Python中追加列表的问题

python - python 中的递归类输入

c++ - 具有 Windows 7 外观的消息框

windows - DLL 文件到底是什么,它们是如何工作的?

python - 如何绘制颜色 QtGui.QPainterPath.addRect()?

python - 如何将当前组作为参数传递给 groupby?