背景:忆起10年前玩过的网游《热血江湖》。游戏中不定时出现可使用必杀技提示,需要在此时键盘按键(必杀技需根据提示按多个键位)才可使用。
思路一:通过python调用windows大漠插件dm.dll,使用插件中封装好的函数来操作。但是XP系统使用python的win32模块总是报错(可能系统问题),虽然换了win7就正常了,感觉不爽,于是有了思路二。
思路二:PIL定时获取指定位置图片,与按键提示图片对比,如匹配则模拟按对应按键。
上代码结合注释(通过游戏内聊天输入框测试通过):
#coding:utf-8
from ctypes import *
from PIL import ImageGrab, Image
import ctypes
import math
import operator
import time
import win32gui
import win32api
import win32con
import win32com.client
class RECT(ctypes.Structure):
_fields_ = [('left', ctypes.c_int),
('top', ctypes.c_int),
('right', ctypes.c_int),
('bottom', ctypes.c_int)]
def get_image_histogram(imgobj):
return imgobj.histogram()
def pil_image_simil