按键精灵多线程后台找色的问题

自己写的脚本,单独运行3个子程序时正常
但整合到一起就没反应了
子程序a:找色执行鼠标点击(点击后画面会有变化)
子程序b:如果10秒内某点颜色无变化(10秒内子程序a找不到颜色时),跳转至c
子程序c:效果同a,但是a找到颜色时优先执行a
求高手指教~~

Hwnd = Plugin.Window.MousePoint()
BeginThread a : BeginThread b
While 1
Wend
While 2
Wend
Sub a
While 1
XY = Plugin.Bkgnd.FindColor(Hwnd, 634, 368, 814, 447, "00FFFF")
ZB = InStr(XY, "|")
intX = Clng(Left(XY, ZB - 1)) : intY = Clng(Right(XY, Len(XY) - ZB))
If intX > 0 And intY > 0 Then
Call Plugin.Bkgnd.LeftClick(Hwnd, intX, intY)
Delay 1000
End If
Wend
End Sub
Sub b
While 2
d = Plugin.Bkgnd.GetPixelColor(Hwnd, 330, 221)
Delay 10000
f = Plugin.Bkgnd.GetPixelColor(Hwnd, 330, 221)
If d = f Then
Call c
End If
Wend
End Sub
Sub c
XY = Plugin.Bkgnd.FindColor(Hwnd, 1251, 476, 1343, 489, "00FFFF")
ZB = InStr(XY, "|")
intX2 = Clng(Left(XY, ZB - 1)) : intY2 = Clng(Right(XY, Len(XY) - ZB))
If intX2 > 0 And intY2 > 0 Then
Call Plugin.Bkgnd.LeftClick(Hwnd, intX2, intY2)
Delay 1000
End If
End Sub

Hwnd = Plugin.Window.MousePoint()
dimenv av
dim b2(0)
b2(0)=Hwnd
av=join(b2,"|")
BeginThread a : BeginThread b
While 1
Wend
While 2
Wend
Sub a
While 1
XY = Plugin.Bkgnd.FindColor(av, 634, 368, 814, 447, "00FFFF")
ZB = InStr(XY, "|")
intX = Clng(Left(XY, ZB - 1)) : intY = Clng(Right(XY, Len(XY) - ZB))
If intX > 0 And intY > 0 Then
Call Plugin.Bkgnd.LeftClick(av, intX, intY)
Delay 1000
End If
Wend
End Sub
Sub b
While 2
d = Plugin.Bkgnd.GetPixelColor(av, 330, 221)
Delay 10000
f = Plugin.Bkgnd.GetPixelColor(av, 330, 221)
If d = f Then
Call c
End If
Wend
End Sub
Sub c
XY = Plugin.Bkgnd.FindColor(av, 1251, 476, 1343, 489, "00FFFF")
ZB = InStr(XY, "|")
intX2 = Clng(Left(XY, ZB - 1)) : intY2 = Clng(Right(XY, Len(XY) - ZB))
If intX2 > 0 And intY2 > 0 Then
Call Plugin.Bkgnd.LeftClick(av, intX2, intY2)
Delay 1000
End If
End Sub追问

方便留个QQ么?
或者加我的119107298

温馨提示:内容为网友见解,仅供参考
无其他回答

按键精灵 前台找色后台找色结果不一样
你用抓抓的句柄功能可以看到游戏窗口左上角坐标,可能你看上去游戏窗口已经贴着左上角了,但是那包括了标题栏,所以左上角可能偏右下一点?而且游戏分父窗口和子窗口,一般操作的是子窗口,而父窗口是0,0 取句柄用鼠标指向窗口句柄比较好。还有写后台坐标的时候把抓抓的起始坐标改掉。

后台找色 和句柄的问题 按键精灵
第一,"3EFEF",颜色值错了,是六个十六进制数。第二,你的游戏屏蔽了按键精灵自带后台插件(这点很多游戏都会)我想,你的游戏应该屏蔽了。Plugin hwnd=Window.MousePoint() 是按键精灵7的语法,8以上的不是这样写了,应该这样写 hwnd=Plugin.Window.MousePoint()这句话是获取鼠标所在窗口的窗口句柄。

请问下,按键精灵后台找色小问题
后台范围找色找到返回坐标字符串"x|y",找不到返回"-1|-1".可以用字符串函数来分拆获得xy的值.ZB = InStr(XY, "|")X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))也可以用数组的方式:zb=split(XY,"|")x=zb(0)y=zb(1)如果是只想判断是否找到色,可以直...

按键精灵后台找色的问题
要么就设置2组找色的,比如x1,y1和x2,y2,然后用if 当x1,y1,x2,y2都>0的时候,条件才往下面执行,还有一种就是不要用单独的找色命令,用多点找色来解决这个问题

按键精灵后台找色问题
按键精灵后台找色对大不份游戏都是不支持的 修改:颜色加上"",如果还找不到,就把相似度1.0改成0.9 Plugin BkgndColor.FindColorEx(ck,0,0,391,472,"0034ff",0,1.0,x,y)

按键精灵后台抓色问题
1.你的坐标可能有问题。2.你的系统不支持后台。

按键精灵 无法后台抓色取色怎么办?
没法实现 游戏用DX绘图的话是无法后台找色的 因为DX绘图 在窗口最小化或者被其他程序覆盖的情况下压根就不绘图 可以试试半后台 也就是不要最小化 把你需要找色的区域露出来 前台可以看电影什么的 就行了 还有一些DX转GDI的工具 不过如果电脑配置不是超级高的话就别用了 非常卡 ...

按键精灵 后台找色的疑问
XY2 = Split(Plugin.BkgndColor.FindColor(Hwnd, 0, 0, 2000, 2000, "00FF00"), "|")'对比颜色,看找到想要的颜色不 If XY1(0) > 0 and XY2(0) > 0 Then MsgBox "找到2处指定意思,可以执行子程序"'其中颜色1坐标:XY1(0),XY1(1)'其中颜色2坐标:XY2(0),XY2(1)End If ...

按键精灵后台取色识别问题
Hwnd = Plugin.Window.MousePoint()GetColor = Plugin.Bkgnd.GetPixelColor(Hwnd, 100,100)Delay 1000 Rem A IfColor 325,410,"GetColor",0 Then Delay 2000 Call Plugin.Bkgnd.LeftClick(Hwnd, 100,100)Else Goto A End If 那个ifcolor命令后面的getcolor是一个变量,不应该用双引号把它括起来,...

按键精灵后台找色问题
许多游戏都屏蔽按键精灵后台插件,你试一下后台取色,是不是返回"000000",如果是就说明屏蔽了。

相似回答