0

我正在尝试在 PYTHON 2.4 脚本中实现以下行为,以下是步骤,然后是问题:

  1. Python 脚本启动
  2. 该脚本延迟 3 秒以更改为“Z”程序的窗口
  3. 该脚本在“Z”程序的窗口上进行了一些点击。
  4. 脚本停止点击
  5. /* ¿? */
  6. 要求继续执行程序
  7. /* ¿? */
  8. 转到第 2 步

因此,在第 5 步和第 7 步中,我想要模拟按下 Alt+Tab 键以返回脚本窗口(在第 5 步中),然后再次返回到“Z”程序的窗口(在第7)。问题是我不知道如何实现这一点(模拟按键 alt+tab),也没有找到我疑惑的答案。我正在使用 python win32api 模块将鼠标定位在某个点并进行点击,但我找不到模拟按键的方法。

4

3 回答 3

2

尝试这个 :

1)使用:https ://gist.github.com/chriskiehl/2906125

2)

import win32api
import win32com.client

shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("app")
win32api.Sleep(100)
shell.AppActivate("myApp")
win32api.Sleep(100)
shell.SendKeys("name")
win32api.Sleep(500)
shell.SendKeys("{ENTER}")
win32api.Sleep(2500)
shell.SendKeys("^a") # CTRL+A may "select all" depending on which window's focused
shell.SendKeys("{DELETE}") # Delete selected text?  Depends on context. :P
shell.SendKeys("{TAB}") #Press tab... to change focus or whatever
于 2017-11-01T10:13:55.747 回答
0

您需要 WinApi 函数 SendInput。

请参阅 MSDN 中的说明:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms646310 (v=vs.85).aspx

于 2013-10-07T06:26:43.037 回答
0

更简单的方法

使用这个库W32S

我的图书馆。如果你愿意,只需复制源代码

于 2020-03-15T16:26:40.520 回答