VB 屏幕找色 这段代码为什么 运行后VB最大化了 还有显示不出坐标 还有这个例子谁试验成功过

来源:百度知道 编辑:UC知道 时间:2024/06/18 00:39:05
'下面是屏幕找色实例,请根据实际情况进行验证。
Option Explicit

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

'定义一个找色区域
Private Type RECT
Left As Long '区域坐标x
Top As Long '区域坐标y
Right As Long '区域宽
Bottom As Long '区域高
End Type

'Windows API 声明
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long

'测试颜色函数,给定屏幕任意找色区域值,返回坐标位置
Private Function ifColor(x As RECT, ByVal color As Long) As POINTAPI
On Error Resume Next
Dim nTmpColor As Long, i As Long, j As Long
For i = x.Left To x.Left + x.Right
For j = x.Top To x.Top + x.Bottom
nTm

Private Function ifColor(x As RECT, ByVal color As Long) As POINTAPI
On Error Resume Next
Dim nTmpColor As Long, i As Long, j As Long
Dim h As Long
h = GetDC(0)
For i = x.Left To x.Left + x.Right
For j = x.Top To x.Top + x.Bottom
nTmpColor = GetPixel(h, i, j)
If color = nTmpColor Then
ifColor.x = i
ifColor.y = j
Exit Function
End If
DoEvents
Next
Next
End Function
这个函数没写好,改成这样试一下