环境介绍 :
win7 微软系统
python2.7 32位
包:pywin32
win32介绍:
首先,安装一个Pywin32吧,Pywin32是一个Python库,为python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等。安装后自带一个pythonwin的IDE。或者也可以来这边下载一个ActivePython,整合了pywin32和一些其他的库以及一大堆的支持文档,他们的文档查起来是非常方便的。当然了,WIN32的一些相关函数在MSDN上也能直接找到。
简单的说就是 pywin32 这个包 可以模拟微软系统的 操作 包括鼠标点击 键盘输入等等,今天我们主要介绍 用 pywin32 来模拟鼠标点击,实现打地鼠的过程
分析:
整个过程分为:
1.安装python 2.7 2.安装库 pywin32 3.找到窗口句柄 4.定位窗口洞口坐标 5.python模拟鼠标点击
用到的代码:
1.
导入包 import win32gui import win32api import win32con
import os import time
#前三个都包含在pywin32 中
2.
定位鼠标位置: win32gui.GetCursorPos() #在终端中输入,可以返回鼠标所在位置的坐标值
3.
python模拟的鼠标位置:
win32api.SetCursorPos([249,258]) #这里的 249,258 是当时使用 win32gui.GetCursorPos() 这个获取到的洞口位置 (鼠标位置)
#使用后鼠标将 自动定位在这一点 4.
模拟点击鼠标: win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0) #左键点下 DOWN win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0) #左键点起 UP 5.
置顶目标窗口: win32gui.SetForegroundWindow(7996786) #这里的 7996786 是当时获取到的游戏界面的 具柄 ,这个函数用于把具柄窗口置顶
6.
延时:
time.sleep(1) #使用此函数时 系统会自动 延迟 一秒钟 然后再执行 之后的代码
7.
获取窗口具柄
我是用小工具获取的 欢迎补充 python代码
开始: 模拟鼠标打击第一个洞口
############################################################################################
win32api.SetCursorPos([249,258]) #这里的 249,258 是当时使用 win32gui.GetCursorPos() 这个获取到的洞口位置 (鼠标位置) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0) #左键点下 DOWN
win32api.SetCursorPos([249,258]) time.sleep(0.1) win32api.SetCursorPos([249,258]) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0) #左键点起 UP
win32api.SetCursorPos([249,258]) time.sleep(0.1) ############################################################################################
获取洞口位置:
获取具柄小软件下载地址:
http://download.csdn.net/detail/qq_37208123/9862574
一键安装pywin32
http://download.csdn.net/detail/qq_37208123/9862582
打地鼠网站:
http://www.4399.com/flash/178030.htm