本文实例讲述了VB实现的《QQ美女找茬游戏》作弊器。分享给大家供大家参考。具体如下:
比较无聊哈,原理很简单,用VB速度比较慢,但是实现很容易。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
Option Explicit Private Type sPOINT x As Long y As Long End Type 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 Declare Function SetWindowPos Lib "user32" ( ByVal hwnd As Long , ByVal hWndInsertAfter As Long , ByVal x As Long , ByVal y As Long , ByVal cx As Long , ByVal cy As Long , ByVal wFlags As Long ) As Long Private Const HWND_TOPMOST& = -1 ' 将窗口置于列表顶部,并位于任何最顶部窗口的前面 Private Const SWP_NOSIZE& = &H1 ' 保持窗口大小 Private Const SWP_NOMOVE& = &H2 ' 保持窗口位置 Private Sub Form_Load() SetWindowPos Me .hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE ' 将窗口设为总在最前 End Sub '把long型的RGB值分解成3个分量 Sub ColorRGB(Color As Long , C() As Integer ) Const ByN As Integer = 256 Const ByN2 As Long = 65536 C(1) = (Color Mod ByN) C(2) = ((Color Mod ByN2) \ ByN) C(3) = (Color \ ByN2) End Sub Private Sub GetPoint() Dim p1(497, 447) As Long , p2(497, 447) As Long , C1(3) As Integer , C2(3) As Integer '数组大小匹配于图片的大小 Dim pic1 As sPOINT, pic2 As sPOINT '设置两张图片的屏幕位置 pic1.x = 8 pic1.y = 192 pic2.x = 517 pic2.y = 192 Dim h As Long , hD As Long , r As Long , i As Integer , j As Integer hD = GetDC(0) '读入两张图片 For i = 0 To 497 For j = 0 To 447 p1(i, j) = GetPixel(hD, i + pic1.x, j + pic1.y) p2(i, j) = GetPixel(hD, i + pic2.x, j + pic2.y) Next Next '对比,标记差异 Dim t As Boolean t = True For i = 0 To 497 For j = 0 To 447 Call ColorRGB(p1(i, j), C1()) Call ColorRGB(p2(i, j), C2()) If (Abs(C1(1) - C2(1)) > 30 Or Abs(C1(2) - C2(2)) > 30 Or Abs(C1(3) - C2(3)) > 30) Then t = Not t If t Then Picture1.ForeColor = &H0& Else Picture1.ForeColor = &HFF00& End If Else Picture1.ForeColor = p1(i, j) End If Picture1.PSet (i, j) Next Next End Sub Private Sub Picture1_Click() Me .Visible = False DoEvents GetPoint Me .Visible = True End Sub |
希望本文所述对大家的VB程序设计有所帮助。