我想在VB里用按键精灵中的IFCOLOR函数~各位高人帮帮忙~!

来源:百度知道 编辑:UC知道 时间:2024/09/24 03:53:46
跪求:
在VB里用按键精灵中的IFCOLOR函数~各位高人帮帮忙~!是不是要声明呀`谢谢了~我出高价呀~~!!!我在线等答案~快点呀~高人!!!!、
比如
如果屏幕坐标256,359的颜色值是&H562FA8那么就按下空格键
!就着~谢谢各位了~
不用IFCOLOR也可以的~帮帮忙~会的我还加百度B

可以使用API函数GetPixel,返回值是一个Long,可以通过Hex()将其转化为十六进制表示的String.
我帮您编了一个Function,您可以参照试试:
Private Function ifColor(ByVal x As Long, ByVal y As Long, ByVal color As Long) As Boolean
Dim nTmpColor As Long
nTmpColor = GetPixel(GetDC(0), x, y)
ifColor = (color = nTmpColor)
End Function
输入要获取的屏幕坐标x,y,以及颜色值的long值(如果是RGB的就调用的时候用RGB(R分量,G分量,B分量)函数转换成long,如果是HEX格式的就用CLng("&h" & Hex(HEX格式字符串))来取得Long值

/////////////////////3月9日修改
昨晚太困了,今天早晨起来重新给您写了一个程序,可以获得屏幕任意一点的RGB值,以及判断与给定的颜色是否相等
您可以新建一个VB6工程,在Form1上增加一个Timer空间,设置Enabled=True,Interval=100来测试效果.
注意,我的输出在立即窗口中,如果您没有打开立即窗口,可能看不到程序运行的效果,请在IDE中按Ctrl+G打开立即窗口.
代码如下:
Option Explicit

'定义一个POINTAPI
Private Type POINTAPI
x As Long
y As Long
End Type

'定义一个GRB结构
Private Type STRUCTRGB
Red As Integer
Green As Integer
Blue As Integer
End Type

'Windows API 声明
Pri