用python win32api按键

时间:2013-10-06 23:17:20

标签: python winapi

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

  1. Python脚本启动
  2. 脚本延迟3秒钟更改为“Z”程序的窗口
  3. 该脚本会在“Z”程序的窗口中点击一下。
  4. 脚本停止点击
  5. / *¿? * /
  6. 要求继续该计划的执行
  7. / *¿? * /
  8. 转到第2步
  9. 因此,在步骤5和7中,我想要做的是模拟按下Alt + Tab键以返回脚本窗口(在步骤5中),然后再返回到'Z'程序的窗口(在步骤7中)。 而问题是我不知道如何实现这一点(模拟按键alt + tab),并没有找到我怀疑的答案。 我正在使用python win32api模块将鼠标定位在某一点并进行点击,但我找不到模拟按键的方法。

3 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:0)

您需要WinApi函数SendInput。

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

答案 2 :(得分:0)

更简单的方法

使用此库W32S

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