يصف مثال هذه المقالة جهاز الغش الخاص بـ "QQ Beauty Find Difference Game" المطبق في VB. شاركها مع الجميع لتكون مرجعا لك. التفاصيل هي كما يلي:
إنه أمر ممل للغاية. المبدأ بسيط للغاية. استخدام VB أبطأ، لكن التنفيذ سهل.
الخيار ExplicitPrivate Type sPOINT x As Long y As LongEnd TypePrivate Declare Function GetDC Lib "user32" (ByVal hwnd As Long) كما أعلن LongPrivate عن وظيفة GetPixel Lib "gdi32" (ByVal hdc As Long، ByVal x As Long، ByVal y As Long) كما 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 مكونات فرعية 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) كعدد صحيح 'حجم المصفوفة يطابق حجم الصورة 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) 'اقرأ صورتين لـ i = 0 إلى 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 For i = 0 To 497 For j = 0 To 447 Call 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& آخر Picture1.ForeColor = &HFF00& End إذا كان آخر Picture1.ForeColor = p1(i, j) End If Picture1.PSet (i, j) التالي NextEnd SubPrivate Sub Picture1_Click()Me.Visible = FalseDoEventsGetPointMe.Visible = TrueEnd Sub
آمل أن تكون هذه المقالة مفيدة لبرمجة VB للجميع.