Public Function 取色(ByVal x As Long, ByVal y As Long, ByRef r As Boolean) As Long Dim Ia As Long, lDc As Long Ia = FindWindow(vbNullString, "冒险岛") If Ia <> 0 Then lDc = GetWindowDC(Ia) '取得桌面窗口的设备场景 取色 = GetPixel(lDc, x, y) ReleaseDC Ia, lDc r = True End IfEnd FunctionPrivate Sub Timer1_Timer() Dim 色 As Long, r As Long, g As Long, b As Long, r As Boolean 色 = 取色(222, 588, r) If r Then If 色 = RGB(255, 255, 255) Then '这个颜色我是随便写的 Call keybd_event(82, 0, 0, 0) '模拟按下"R"键 Else Call keybd_event(83, 0, 0, 0) '模拟按下"S"键 End If End If End Sub
Private Sub Timer1_Timer() Dim 色 As Long, r As Long, g As Long, b As Long, x As Boolean 色 = 取色(222, 588, x) If x Then If 色 = RGB(255, 255, 255) Then '这个颜色我是随便写的 Call keybd_event(82, 0, 0, 0) '模拟按下"R"键 Else Call keybd_event(83, 0, 0, 0) '模拟按下"S"键 End If End If End Sub
Private Sub Timer1_Timer() Dim 色 As Long, r As Long, g As Long, b As Long, r As Boolean 色 = 取色(222, 588, r) If r Then If 色 = RGB(255, 255, 255) Then '这个颜色我是随便写的 Call keybd_event(82, 0, 0, 0) '模拟按下"R"键 Else Call keybd_event(83, 0, 0, 0) '模拟按下"S"键 End If End If End Sub 这段里面有2个r定义!!! r As Long去掉
你现在发了2个timer1的事件,那个才是正确的?
'这个是正确的 Private Sub Timer1_Timer() Dim 色 As Long, r As Long, g As Long, b As Long, x As Boolean 色 = 取色(222, 588, x) If x Then If 色 = RGB(255, 255, 255) Then '这个颜色我是随便写的 Call keybd_event(82, 0, 0, 0) '模拟按下"R"键 Else Call keybd_event(83, 0, 0, 0) '模拟按下"S"键 End If End If End Sub
//就算这个游戏没有打开,也一直按"R"键判断一下即可:Private Sub Timer1_Timer() Dim 色 As Long, r As Long, g As Long, b As Long Dim Ia As Long, lDc As Long,取色 as long Ia = FindWindow(vbNullString, "冒险岛") if Ia<>0 then lDc = GetWindowDC(Ia) '取得桌面窗口的设备场景 取色 = GetPixel(lDc, x, y) ReleaseDC Ia, lDc 色 = 取色 If 色 = RGB(255, 255, 255) Then'这个颜色我是随便写的 Call keybd_event(82, 0, 0, 0) '模拟按下"R"键 Call keybd_event(82, 0, 2, 0) '模拟释放"R"键 Else Call keybd_event(83, 0, 0, 0) '模拟按下"S"键 Call keybd_event(83, 0, 2, 0) '模拟释放"S"键 End If end if End Sub
现在我详细的说一下状况吧. 现在是实现了没有开游戏不会模拟按键,出的情况是游戏有开,但是一直疯狂乱按 以下是相关信息 游戏的窗口名称"冒险岛" NP[蓝]的坐标是(168,74) 颜色值是RGB(137,170,229) ------------------------------ 还有刚才都没有说到转换RGB值的事,我这里补上 颜色转换 r = 色 Mod 256 g = (色 \ 256) Mod 256 b = 色 \ 256 \ 256 ---------------------------------------------- 请高手回答我一下.到底是那里出错了,一直搞不明白
Dim Ia As Long, lDc As Long Ia = FindWindow(vbNullString, "冒险岛")
If Ia <> 0 Then
lDc = GetWindowDC(Ia) '取得桌面窗口的设备场景
取色 = GetPixel(lDc, x, y)
ReleaseDC Ia, lDc
r = True
End IfEnd FunctionPrivate Sub Timer1_Timer()
Dim 色 As Long, r As Long, g As Long, b As Long, r As Boolean
色 = 取色(222, 588, r)
If r Then
If 色 = RGB(255, 255, 255) Then '这个颜色我是随便写的
Call keybd_event(82, 0, 0, 0) '模拟按下"R"键
Else
Call keybd_event(83, 0, 0, 0) '模拟按下"S"键
End If
End If
End Sub
Dim 色 As Long, r As Long, g As Long, b As Long, x As Boolean
色 = 取色(222, 588, x)
If x Then
If 色 = RGB(255, 255, 255) Then '这个颜色我是随便写的
Call keybd_event(82, 0, 0, 0) '模拟按下"R"键
Else
Call keybd_event(83, 0, 0, 0) '模拟按下"S"键
End If
End If
End Sub
Dim 色 As Long, r As Long, g As Long, b As Long, r As Boolean
色 = 取色(222, 588, r)
If r Then
If 色 = RGB(255, 255, 255) Then '这个颜色我是随便写的
Call keybd_event(82, 0, 0, 0) '模拟按下"R"键
Else
Call keybd_event(83, 0, 0, 0) '模拟按下"S"键
End If
End If
End Sub
这段里面有2个r定义!!! r As Long去掉
Private Sub Timer1_Timer()
Dim 色 As Long, r As Long, g As Long, b As Long, x As Boolean
色 = 取色(222, 588, x)
If x Then
If 色 = RGB(255, 255, 255) Then '这个颜色我是随便写的
Call keybd_event(82, 0, 0, 0) '模拟按下"R"键
Else
Call keybd_event(83, 0, 0, 0) '模拟按下"S"键
End If
End If
End Sub
Dim 色 As Long, r As Long, g As Long, b As Long
Dim Ia As Long, lDc As Long,取色 as long
Ia = FindWindow(vbNullString, "冒险岛")
if Ia<>0 then
lDc = GetWindowDC(Ia) '取得桌面窗口的设备场景
取色 = GetPixel(lDc, x, y)
ReleaseDC Ia, lDc
色 = 取色
If 色 = RGB(255, 255, 255) Then'这个颜色我是随便写的
Call keybd_event(82, 0, 0, 0) '模拟按下"R"键
Call keybd_event(82, 0, 2, 0) '模拟释放"R"键
Else
Call keybd_event(83, 0, 0, 0) '模拟按下"S"键
Call keybd_event(83, 0, 2, 0) '模拟释放"S"键
End If
end if
End Sub
现在是实现了没有开游戏不会模拟按键,出的情况是游戏有开,但是一直疯狂乱按
以下是相关信息
游戏的窗口名称"冒险岛"
NP[蓝]的坐标是(168,74)
颜色值是RGB(137,170,229)
------------------------------
还有刚才都没有说到转换RGB值的事,我这里补上
颜色转换
r = 色 Mod 256
g = (色 \ 256) Mod 256
b = 色 \ 256 \ 256
----------------------------------------------
请高手回答我一下.到底是那里出错了,一直搞不明白