按键精灵后台颜色条件判断
按键精灵后台没有ifcolor我这样写也总是颜色判断不对Pluginc1=BkgndColor.GetPixelColor(hwnd,698,538)Delay100If...
按键精灵后台没有 ifcolor 我这样写也总是颜色判断不对 Plugin c1=BkgndColor.GetPixelColor(hwnd,698,538) Delay 100 If c1="179DFD" Plugin Bkgnd.LeftDown(Hwnd, 698, 538) Else Endscript EndIf 求助后台颜色判断
展开
1个回答
2013-08-11
展开全部
你的C1是一个6位16位数字。你让他等于"179DFD"这是一个字符形的。所以不可能相等吧?你去掉双引号看一下。 我这里有一个找色教程式的脚本。看看对你可能有所帮助。MessageBox "这是后台查色教程"&VbCrLf&"欢迎大家使用我的插件^_^"&VbCrLf&"点确定继续教程"
MessageBox "后台查色功能在窗口被移出屏幕外"&VbCrLf&"或者被其它窗口挡住的情况下,仍"&VbCrLf&"能正常取色或找色。"&VbCrLf&"适用范围:非DirectX图形"
MessageBox "该插件具有的功能:"&VbCrLf&"1.取后台窗口指定点的颜色"&VbCrLf&"2.后台窗口的区域找色"&VbCrLf&"3.从后台窗口中间向四周找色"&VbCrLf&"4.后台窗口的模糊找色"
//---------------------------------------------------------
// GetPixelColor
//---------------------------------------------------------
MessageBox "现在介绍取后台窗口指定点的颜色"&VbCrLf&"命令形式:"&VbCrLf&"Plugin Bkgnd.GetPixelColor(窗口句柄,横坐标,纵坐标)"&VbCrLf&VbCrLf&"横坐标和纵坐标使用的是窗口的客户区坐标"&VbCrLf&"返回值是颜色值的十六进制字符串"
MessageBox "现在要演示的例子的脚本如下:"&VbCrLf&VbCrLf&"Plugin hwnd=Window.Foreground()"&VbCrLf&"Plugin Window.Move(hwnd,-6000,20)"&VbCrLf&"Plugin Color=Bkgnd.GetPixelColor(hwnd,10,50)"&VbCrLf&"MessageBox ""窗口客户区坐标(10,50)处的颜色值为:""&Color"&VbCrLf&VbCrLf&"该脚本将当前窗口移出屏幕,然后取该窗口客户区坐标(10,50)处的颜色值"
MessageBox "准备好,演示要开始了。会自动打开[画图]程序!!"
//下面这句取当前窗口的句柄
//Plugin hwnd=Window.Foreground()
VBSCall RunApp("mspaint.exe")
Delay 1000
//找画图区句柄
Plugin Hwnd=Window.Find("MSPaintApp",0)
//下面这句取的窗口边框的坐标,用于后面的还原窗口位置
Plugin rect=Window.GetWindowRect(hwnd)
//下面这句将窗口移出屏幕
Plugin Window.Move(hwnd,-6000,20)
//下面这句取窗口客户区坐标(10,50)处的颜色
Plugin Color=Bkgnd.GetPixelColor(hwnd,10,50)
MessageBox "窗口客户区坐标(10,50)处的颜色值为:"&Color
MessageBox "后台取色功能演示完毕"
MyArray=Split(rect,"|")
//下面这句用来还原窗口位置
Plugin Window.Move(hwnd,MyArray(0),MyArray(1))
//---------------------------------------------------------
// FindColor
//---------------------------------------------------------
MessageBox "现在介绍后台窗口的区域找色,按从左到右,从上到下的顺序找色"&VbCrLf&"命令形式:"&VbCrLf&"Plugin Bkgnd.FindColor(窗口句柄,区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标,十六进制颜色值)"&VbCrLf&VbCrLf&"区域坐标使用的是窗口客户区坐标"&VbCrLf&"返回值是找到的符合条件的点的窗口客户区坐标"&VbCrLf&"返回值的格式是:横坐标|纵坐标"&VbCrLf&"横坐标和纵坐标使用的是窗口的客户区坐标"&VbCrLf&"如果找不到符合条件的点则返回:-1|-1"
MessageBox "现在要演示的例子的脚本如下:"&VbCrLf&VbCrLf&"Plugin hwnd=Window.Foreground()"&VbCrLf&"Plugin Window.Move(hwnd,-6000,20)"&VbCrLf&"Plugin XY=Bkgnd.FindColor(hwnd,0,0,700,550,""FF0000"")"&VbCrLf&"MyArray1=Split(XY,""|"")"&VbCrLf&"MessageBox ""找到的点的横坐标:""&MyArray1(0)&"",纵坐标:""&MyArray1(1)"&VbCrLf&VbCrLf&"该脚本将当前窗口移出屏幕,然后在指定窗口矩形区域内查找指定的颜色"
MessageBox "准备好,演示要开始了"
//下面这句取当前窗口的句柄
//Plugin hwnd=Window.Foreground()
//下面这句取的窗口边框的坐标,用于后面的还原窗口位置
Plugin rect=Window.GetWindowRect(hwnd)
//下面这句将窗口移出屏幕
Plugin Window.Move(hwnd,-6000,20)
//下面这句按从左到右,从上到下的顺序查找指定窗口区域内指定的颜色
Plugin XY=Bkgnd.FindColor(hwnd,0,0,700,550,"FF0000")
//下面这句用于分割字符串
MyArray1=Split(XY,"|")
MessageBox "找到的点的横坐标:"&MyArray1(0)&",纵坐标:"&MyArray1(1)
MessageBox "后台区域找色功能演示完毕"
MyArray=Split(rect,"|")
//下面这句用来还原窗口位置
Plugin Window.Move(hwnd,MyArray(0),MyArray(1))
//---------------------------------------------------------
// FindCenterColor
//---------------------------------------------------------
MessageBox "现在介绍后台窗口的从中间向四周找色"&VbCrLf&"命令形式:"&VbCrLf&"Plugin Bkgnd.FindCenterColor(窗口句柄,区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标,十六进制颜色值)"&VbCrLf&VbCrLf&"区域坐标使用的是窗口客户区坐标"&VbCrLf&"返回值是找到的符合条件的点的窗口客户区坐标"&VbCrLf&"返回值的格式是:横坐标|纵坐标"&VbCrLf&"横坐标和纵坐标使用的是窗口的客户区坐标"&VbCrLf&"如果找不到符合条件的点则返回:-1|-1"
MessageBox "现在要演示的例子的脚本如下:"&VbCrLf&VbCrLf&"Plugin hwnd=Window.Foreground()"&VbCrLf&"Plugin Window.Move(hwnd,-6000,20)"&VbCrLf&"Plugin XY=Bkgnd.FindCenterColor(hwnd,0,0,700,550,""FF0000"")"&VbCrLf&"MyArray1=Split(XY,""|"")"&VbCrLf&"MessageBox ""找到的点的横坐标:""&MyArray1(0)&"",纵坐标:""&MyArray1(1)"&VbCrLf&VbCrLf&"该脚本将当前窗口移出屏幕,然后在指定窗口矩形区域内查找指定的颜色"
MessageBox "准备好,演示要开始了"
//下面这句取当前窗口的句柄
//Plugin hwnd=Window.Foreground()
//下面这句取的窗口边框的坐标,用于后面的还原窗口位置
Plugin rect=Window.GetWindowRect(hwnd)
//下面这句将窗口移出屏幕
Plugin Window.Move(hwnd,-6000,20)
//下面这句按从中间到四周的顺序查找指定窗口区域内指定的颜色
Plugin XY=Bkgnd.FindCenterColor(hwnd,0,0,700,550,"FF0000")
//下面这句用于分割字符串
MyArray1=Split(XY,"|")
MessageBox "找到的点的横坐标:"&MyArray1(0)&",纵坐标:"&MyArray1(1)
MessageBox "后台窗口的从中间向四周找色功能演示完毕"
MyArray=Split(rect,"|")
//下面这句用来还原窗口位置
Plugin Window.Move(hwnd,MyArray(0),MyArray(1))
//---------------------------------------------------------
// FindColorEx
//---------------------------------------------------------
MessageBox "现在介绍后台窗口的模糊找色"&VbCrLf&"命令形式:"&VbCrLf&"Plugin Bkgnd.FindColorEx(窗口句柄,区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标,十六进制颜色值,查找类型,相似度)"&VbCrLf&VbCrLf&"区域坐标使用的是窗口客户区坐标"&VbCrLf&"查找类型:0是按从左到右,从上到下的顺序找色,1是从中间到四周的顺序找色"&VbCrLf&"相似度:取值范围是0.0到1.0,1.0是最相似"&VbCrLf&"返回值是找到的符合条件的点的窗口客户区坐标"&VbCrLf&"返回值的格式是:横坐标|纵坐标"&VbCrLf&"横坐标和纵坐标使用的是窗口的客户区坐标"&VbCrLf&"如果找不到符合条件的点则返回:-1|-1"
MessageBox "现在要演示的例子的脚本如下:"&VbCrLf&VbCrLf&"Plugin hwnd=Window.Foreground()"&VbCrLf&"Plugin Window.Move(hwnd,-6000,20)"&VbCrLf&"Plugin XY=Bkgnd.FindColorEx(hwnd,0,0,700,550,""00FFFF"",0,0.9)"&VbCrLf&"Plugin XY1=Bkgnd.FindColorEx(hwnd,0,0,700,550,""00FFFF"",1,0.9)"&VbCrLf&"MyArray1=Split(XY,""|"")"&VbCrLf&"MyArray2=Split(XY1,""|"")"&VbCrLf&"MessageBox ""按从左到右,从上到下的顺序找色找到的点的横坐标:""&MyArray1(0)&"",纵坐标:""&MyArray1(1)&VbCrLf&""按从中间到四周的顺序找色找到的点的横坐标:""&MyArray2(0)&"",纵坐标:""&MyArray2(1)"&VbCrLf&VbCrLf&"该脚本将当前窗口移出屏幕,然后在指定窗口矩形区域内查找指定的颜色"
MessageBox "准备好,演示要开始了"
//下面这句取当前窗口的句柄
//Plugin hwnd=Window.Foreground()
//下面这句取的窗口边框的坐标,用于后面的还原窗口位置
Plugin rect=Window.GetWindowRect(hwnd)
//下面这句将窗口移出屏幕
Plugin Window.Move(hwnd,-6000,20)
//下面这句按从左到右,从上到下的顺序查找指定窗口区域内指定的颜色
Plugin XY=Bkgnd.FindColorEx(hwnd,0,0,700,550,"00FFFF",0,0.9)
//下面这句按从中间到四周的顺序查找指定窗口区域内指定的颜色
Plugin XY1=Bkgnd.FindColorEx(hwnd,0,0,700,550,"00FFFF",1,0.9)
//下面这句用于分割字符串
MyArray1=Split(XY,"|")
MyArray2=Split(XY1,"|")
MessageBox "按从左到右,从上到下的顺序找色,找到的点的横坐标:"&MyArray1(0)&",纵坐标:"&MyArray1(1)&VbCrLf&"按从中间到四周的顺序找色,找到的点的横坐标:"&MyArray2(0)&",纵坐标:"&MyArray2(1)
MessageBox "后台窗口的从中间向四周找色功能演示完毕"
MyArray=Split(rect,"|")
//下面这句用来还原窗口位置
Plugin Window.Move(hwnd,MyArray(0),MyArray(1))
//---------------------------------------------------------
MessageBox "至此,所有功能都演示完毕,本教程到此结束^_^"
MessageBox "后台查色功能在窗口被移出屏幕外"&VbCrLf&"或者被其它窗口挡住的情况下,仍"&VbCrLf&"能正常取色或找色。"&VbCrLf&"适用范围:非DirectX图形"
MessageBox "该插件具有的功能:"&VbCrLf&"1.取后台窗口指定点的颜色"&VbCrLf&"2.后台窗口的区域找色"&VbCrLf&"3.从后台窗口中间向四周找色"&VbCrLf&"4.后台窗口的模糊找色"
//---------------------------------------------------------
// GetPixelColor
//---------------------------------------------------------
MessageBox "现在介绍取后台窗口指定点的颜色"&VbCrLf&"命令形式:"&VbCrLf&"Plugin Bkgnd.GetPixelColor(窗口句柄,横坐标,纵坐标)"&VbCrLf&VbCrLf&"横坐标和纵坐标使用的是窗口的客户区坐标"&VbCrLf&"返回值是颜色值的十六进制字符串"
MessageBox "现在要演示的例子的脚本如下:"&VbCrLf&VbCrLf&"Plugin hwnd=Window.Foreground()"&VbCrLf&"Plugin Window.Move(hwnd,-6000,20)"&VbCrLf&"Plugin Color=Bkgnd.GetPixelColor(hwnd,10,50)"&VbCrLf&"MessageBox ""窗口客户区坐标(10,50)处的颜色值为:""&Color"&VbCrLf&VbCrLf&"该脚本将当前窗口移出屏幕,然后取该窗口客户区坐标(10,50)处的颜色值"
MessageBox "准备好,演示要开始了。会自动打开[画图]程序!!"
//下面这句取当前窗口的句柄
//Plugin hwnd=Window.Foreground()
VBSCall RunApp("mspaint.exe")
Delay 1000
//找画图区句柄
Plugin Hwnd=Window.Find("MSPaintApp",0)
//下面这句取的窗口边框的坐标,用于后面的还原窗口位置
Plugin rect=Window.GetWindowRect(hwnd)
//下面这句将窗口移出屏幕
Plugin Window.Move(hwnd,-6000,20)
//下面这句取窗口客户区坐标(10,50)处的颜色
Plugin Color=Bkgnd.GetPixelColor(hwnd,10,50)
MessageBox "窗口客户区坐标(10,50)处的颜色值为:"&Color
MessageBox "后台取色功能演示完毕"
MyArray=Split(rect,"|")
//下面这句用来还原窗口位置
Plugin Window.Move(hwnd,MyArray(0),MyArray(1))
//---------------------------------------------------------
// FindColor
//---------------------------------------------------------
MessageBox "现在介绍后台窗口的区域找色,按从左到右,从上到下的顺序找色"&VbCrLf&"命令形式:"&VbCrLf&"Plugin Bkgnd.FindColor(窗口句柄,区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标,十六进制颜色值)"&VbCrLf&VbCrLf&"区域坐标使用的是窗口客户区坐标"&VbCrLf&"返回值是找到的符合条件的点的窗口客户区坐标"&VbCrLf&"返回值的格式是:横坐标|纵坐标"&VbCrLf&"横坐标和纵坐标使用的是窗口的客户区坐标"&VbCrLf&"如果找不到符合条件的点则返回:-1|-1"
MessageBox "现在要演示的例子的脚本如下:"&VbCrLf&VbCrLf&"Plugin hwnd=Window.Foreground()"&VbCrLf&"Plugin Window.Move(hwnd,-6000,20)"&VbCrLf&"Plugin XY=Bkgnd.FindColor(hwnd,0,0,700,550,""FF0000"")"&VbCrLf&"MyArray1=Split(XY,""|"")"&VbCrLf&"MessageBox ""找到的点的横坐标:""&MyArray1(0)&"",纵坐标:""&MyArray1(1)"&VbCrLf&VbCrLf&"该脚本将当前窗口移出屏幕,然后在指定窗口矩形区域内查找指定的颜色"
MessageBox "准备好,演示要开始了"
//下面这句取当前窗口的句柄
//Plugin hwnd=Window.Foreground()
//下面这句取的窗口边框的坐标,用于后面的还原窗口位置
Plugin rect=Window.GetWindowRect(hwnd)
//下面这句将窗口移出屏幕
Plugin Window.Move(hwnd,-6000,20)
//下面这句按从左到右,从上到下的顺序查找指定窗口区域内指定的颜色
Plugin XY=Bkgnd.FindColor(hwnd,0,0,700,550,"FF0000")
//下面这句用于分割字符串
MyArray1=Split(XY,"|")
MessageBox "找到的点的横坐标:"&MyArray1(0)&",纵坐标:"&MyArray1(1)
MessageBox "后台区域找色功能演示完毕"
MyArray=Split(rect,"|")
//下面这句用来还原窗口位置
Plugin Window.Move(hwnd,MyArray(0),MyArray(1))
//---------------------------------------------------------
// FindCenterColor
//---------------------------------------------------------
MessageBox "现在介绍后台窗口的从中间向四周找色"&VbCrLf&"命令形式:"&VbCrLf&"Plugin Bkgnd.FindCenterColor(窗口句柄,区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标,十六进制颜色值)"&VbCrLf&VbCrLf&"区域坐标使用的是窗口客户区坐标"&VbCrLf&"返回值是找到的符合条件的点的窗口客户区坐标"&VbCrLf&"返回值的格式是:横坐标|纵坐标"&VbCrLf&"横坐标和纵坐标使用的是窗口的客户区坐标"&VbCrLf&"如果找不到符合条件的点则返回:-1|-1"
MessageBox "现在要演示的例子的脚本如下:"&VbCrLf&VbCrLf&"Plugin hwnd=Window.Foreground()"&VbCrLf&"Plugin Window.Move(hwnd,-6000,20)"&VbCrLf&"Plugin XY=Bkgnd.FindCenterColor(hwnd,0,0,700,550,""FF0000"")"&VbCrLf&"MyArray1=Split(XY,""|"")"&VbCrLf&"MessageBox ""找到的点的横坐标:""&MyArray1(0)&"",纵坐标:""&MyArray1(1)"&VbCrLf&VbCrLf&"该脚本将当前窗口移出屏幕,然后在指定窗口矩形区域内查找指定的颜色"
MessageBox "准备好,演示要开始了"
//下面这句取当前窗口的句柄
//Plugin hwnd=Window.Foreground()
//下面这句取的窗口边框的坐标,用于后面的还原窗口位置
Plugin rect=Window.GetWindowRect(hwnd)
//下面这句将窗口移出屏幕
Plugin Window.Move(hwnd,-6000,20)
//下面这句按从中间到四周的顺序查找指定窗口区域内指定的颜色
Plugin XY=Bkgnd.FindCenterColor(hwnd,0,0,700,550,"FF0000")
//下面这句用于分割字符串
MyArray1=Split(XY,"|")
MessageBox "找到的点的横坐标:"&MyArray1(0)&",纵坐标:"&MyArray1(1)
MessageBox "后台窗口的从中间向四周找色功能演示完毕"
MyArray=Split(rect,"|")
//下面这句用来还原窗口位置
Plugin Window.Move(hwnd,MyArray(0),MyArray(1))
//---------------------------------------------------------
// FindColorEx
//---------------------------------------------------------
MessageBox "现在介绍后台窗口的模糊找色"&VbCrLf&"命令形式:"&VbCrLf&"Plugin Bkgnd.FindColorEx(窗口句柄,区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标,十六进制颜色值,查找类型,相似度)"&VbCrLf&VbCrLf&"区域坐标使用的是窗口客户区坐标"&VbCrLf&"查找类型:0是按从左到右,从上到下的顺序找色,1是从中间到四周的顺序找色"&VbCrLf&"相似度:取值范围是0.0到1.0,1.0是最相似"&VbCrLf&"返回值是找到的符合条件的点的窗口客户区坐标"&VbCrLf&"返回值的格式是:横坐标|纵坐标"&VbCrLf&"横坐标和纵坐标使用的是窗口的客户区坐标"&VbCrLf&"如果找不到符合条件的点则返回:-1|-1"
MessageBox "现在要演示的例子的脚本如下:"&VbCrLf&VbCrLf&"Plugin hwnd=Window.Foreground()"&VbCrLf&"Plugin Window.Move(hwnd,-6000,20)"&VbCrLf&"Plugin XY=Bkgnd.FindColorEx(hwnd,0,0,700,550,""00FFFF"",0,0.9)"&VbCrLf&"Plugin XY1=Bkgnd.FindColorEx(hwnd,0,0,700,550,""00FFFF"",1,0.9)"&VbCrLf&"MyArray1=Split(XY,""|"")"&VbCrLf&"MyArray2=Split(XY1,""|"")"&VbCrLf&"MessageBox ""按从左到右,从上到下的顺序找色找到的点的横坐标:""&MyArray1(0)&"",纵坐标:""&MyArray1(1)&VbCrLf&""按从中间到四周的顺序找色找到的点的横坐标:""&MyArray2(0)&"",纵坐标:""&MyArray2(1)"&VbCrLf&VbCrLf&"该脚本将当前窗口移出屏幕,然后在指定窗口矩形区域内查找指定的颜色"
MessageBox "准备好,演示要开始了"
//下面这句取当前窗口的句柄
//Plugin hwnd=Window.Foreground()
//下面这句取的窗口边框的坐标,用于后面的还原窗口位置
Plugin rect=Window.GetWindowRect(hwnd)
//下面这句将窗口移出屏幕
Plugin Window.Move(hwnd,-6000,20)
//下面这句按从左到右,从上到下的顺序查找指定窗口区域内指定的颜色
Plugin XY=Bkgnd.FindColorEx(hwnd,0,0,700,550,"00FFFF",0,0.9)
//下面这句按从中间到四周的顺序查找指定窗口区域内指定的颜色
Plugin XY1=Bkgnd.FindColorEx(hwnd,0,0,700,550,"00FFFF",1,0.9)
//下面这句用于分割字符串
MyArray1=Split(XY,"|")
MyArray2=Split(XY1,"|")
MessageBox "按从左到右,从上到下的顺序找色,找到的点的横坐标:"&MyArray1(0)&",纵坐标:"&MyArray1(1)&VbCrLf&"按从中间到四周的顺序找色,找到的点的横坐标:"&MyArray2(0)&",纵坐标:"&MyArray2(1)
MessageBox "后台窗口的从中间向四周找色功能演示完毕"
MyArray=Split(rect,"|")
//下面这句用来还原窗口位置
Plugin Window.Move(hwnd,MyArray(0),MyArray(1))
//---------------------------------------------------------
MessageBox "至此,所有功能都演示完毕,本教程到此结束^_^"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询