На примере этой статьи описывается читерское устройство «QQ Beauty Find Difference Game», реализованное на VB. Поделитесь этим со всеми для справки. Подробности следующие:
Это довольно скучно. Принцип очень прост. Использование VB медленнее, но реализация проста.
Option ExplicitPrivate Тип sPOINT x As Long y As LongEnd TypePrivate Объявить функцию GetDC Lib "user32" (ByVal hwnd As Long) As LongPrivate Объявить функцию GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As LongPrivate объявляет функцию 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 LongPrivate 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 Или SWP_NOSIZE' Установить окно так, чтобы оно всегда было сверху End Sub' Разложить длинное значение RGB на 3 компонента Sub ColorRGB(Цвет как длинный, C() как целое число) Const ByN как целое число = 256 Const ByN2 As Long = 65536 C(1) = (Color Mod ByN) C(2) = ((Color Mod ByN2) / ByN) C(3) = (Color / ByN2)End SubPrivate Sub GetPoint() Dim p1( 497, 447) Пока, p2(497, 447) Пока, C1(3) Как целое число, 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 Для j = 0 до 447 p1(i, j) = GetPixel(hD, i + pic1.x, j + pic1.y) p2(i, j) = GetPixel(hD, i + pic2.x, j + pic2 .y) Далее Далее 'Контраст, отметьте разницу Dim t As Boolean t = True Для i = от 0 до 497 Для j = от 0 до 447 Вызов ColorRGB(p1(i, j), C1()) Вызовите ColorRGB(p2(i, j), C2()), если (Abs(C1(1) - C2(1)) > 30 или Abs(C1(2) - C2(2)) > 30 Или Abs(C1(3) - C2(3)) > 30) Тогда t = Не t Если t Тогда Picture1.ForeColor = &H0& Else Picture1.ForeColor = &HFF00& End If Else Picture1.ForeColor = p1(i, j) End If Picture1.PSet (i, j) Next NextEnd SubPrivate Sub Picture1_Click()Me.Visible = FalseDoEventsGetPointMe.Visible = TrueEnd Sub
Я надеюсь, что эта статья будет полезна всем, кто занимается программированием на VB.