3

我是 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()
4

2 回答 2

1

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

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

于 2011-01-09T20:18:23.550 回答
0

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

shell.AppActivate('Put_The_Name_Here')

上面的代码将选择已打开但未激活的程序、文件等,这可能是您的问题。

希望这对某人有帮助!

于 2017-01-30T14:44:40.787 回答