起
在逐渐舍弃Pyuserinput与PIL模块并使用pywin32来截图与操作后,我的程序成功地达到了每秒59次的执行次数
以下的代码已经有了基本的实用价值
from math import pi,asin#载入数学符号
import win32api,win32con,win32gui,win32ui#载入pywin32模块,pywin32有许多功能,是windows提供的接口,追求效率或追求控制更深层的系统功能的话,这是值得学习的
e=1#改变函数f的弯曲方向,f是一个指数函数(e小于1时是凸函数)
ke=(1*2000/303)**(1/e-1)#函数f的系数,(2000/33)决定了对于函数f当指针与目标相距50像素时f(x)=x,(这是一个指数函数,画张图就非常明白了)。2000/33前的系数(1)用于妥善增大或减小50这个值
f= lambda x:(ke*x)**e if x >=0 else -(-ke*x)**e#这是一个‘指数函数’,只是在x小于0时它的图像是对称于x大于0时的图像的。
hwnd=0#目标窗口的句柄,0是全屏
x=0
y=0#为x,y设置一个初始值
xs=1920#xs,ys代表窗口大小
ys=1080#由于代码多次修改,并没有做到只要修改xs、ys就能使程序匹配新的窗口大小,还需做很多调整
x0=xs/2
y0=ys/2#x0,y0是窗口的中点
nx=0
ny=0#为x0,y0设置一个初始值
while 1==1:
ni=0
flag=0
ki=0#以上三个数据用于重启找色部
#截图部
hwndDC=win32gui.GetWindowDC(0)
mfcDC=win32ui.CreateDCFromHandle(hwndDC)
saveDC=mfcDC.CreateCom