|
发表于 2017-11-24 16:27:56
|
显示全部楼层
var thisCallback
var time
var dalay = array()
var pointX = array()
var pointY = array()
var buttonDown = array()
function MouseProc(nCode,wParam,lParam)
var x,y
if(wParam == 512)//w参数 表示是 键盘按下或者弹起
traceprint(gettickcount()-time)
arraypush(dalay,gettickcount()-time)
mousegetpoint(x,y)
traceprint(x&","&y)
arraypush(pointX,x)
arraypush(pointY,y)
arraypush(buttonDown,0)
time=gettickcount()
elseif(wParam == 513)
traceprint(gettickcount()-time)
arraypush(dalay,gettickcount()-time)
mousegetpoint(x,y)
traceprint(x&","&y&",buttonDown")
arraypush(pointX,x)
arraypush(pointY,y)
arraypush(buttonDown,1)
time=gettickcount()
end
return dllcall("user32.dll","long","CallNextHookEx","long",thisHook,"long",nCode,"long",wParam,"long",lParam)//当code小于0的时候一定要把消息传递给他一个子程
end
var thisHook
//开始按钮_点击操作
function start_click()
arrayclear(dalay)
arrayclear(pointX)
arrayclear(pointY)
arrayclear(buttonDown)
//这里添加你要执行的代码
thisCallback = callbackmalloc("MouseProc","hookproc")
thisHook = dllcall("user32.dll","long","SetWindowsHookExA","long",14,"callback",thisCallback,"long",0,"long",0)//执行setwindowhook函数 挂起全局钩子,14全局钩子
traceprint(getlasterror(1))//这里获取dllcall执行后是否有错误信息
traceprint(thisHook)//输出钩子是否设置成功
time = gettickcount()
end
//退出按钮_点击操作
function exit_click()
var ret = dllcall("user32.dll","long","UnhookWindowsHookExA","long",thisHook)//删除钩子句柄 当hook不需要的时候记得一定要删除
callbackfree(thisCallback)//删除钩子句柄之后 不要忘了 释放我们的回调函数,否则TC对应的函数里面一直会输出信息
end
function button0_click()
//这里添加你要执行的代码
for(var i = 0; i < arraysize(dalay); i++)
sleep(dalay[i],false)
mousemove(pointX[i],pointY[i])
if(buttonDown[i]==1)
mouseleftclick()
end
end
end
function mousehook_init()
//这里添加你要执行的代码
var form
form = windowgetactivehwnd()
windowsettop(form,true)
end
|
|