【发布时间】:2015-06-09 07:08:49
【问题描述】:
所以我一直在尝试使用 Python pywin32 包将输入发送到基于交互式控制台的 win32 exe,它在执行时为我提供了一堆选项,并根据用户键入的输入显示后续菜单。在网上阅读了一些之后,我确实尝试执行以下代码,但它仍然无法将输入发送到程序,所以如果有人能够实现类似的东西,请告诉我。
我一直在尝试的代码如下:
import win32com.client
def main():
shell = win32com.client.Dispatch("WScript.Shell")
shell.run('cmd /K cd "E:\\Documents and Settings\\Owner\\Desktop\\pds\\" && CONVERT.EXE')
shell.AppActivate('E:\\Documents and Settings\\Owner\\Desktop\\pds\\CONVERT.EXE')
print("sending keys...")
shell.SendKeys("trial.bin")
shell.SendKeys("{ENTER}")
if __name__ == '__main__':
main()
【问题讨论】:
-
事实证明,我正在启动 CONVERT.exe 的应用程序正在创建一个子进程,因为我无法将击键传递给该进程。 SendKeys 只将击键传递给它控制的进程。
标签: python python-2.7 pywin32 win32com