ตัวอย่างของบทความนี้จะอธิบายอุปกรณ์โกงของ "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) As LongPrivate Declare Function 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 Or 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) As Integer 'ขนาดอาร์เรย์ตรงกับขนาดของรูปภาพ Dim pic1 As sPOINT, pic2 As sPOINT 'ตั้งค่าตำแหน่งหน้าจอของรูปภาพทั้งสอง pic1.x = 8 pic1.y = 192 pic2.x = 517 pic2.y = 192 Dim h ตราบเท่าที่ , hD ตราบเท่าที่ r ตราบเท่าที่ i เป็นจำนวนเต็ม 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 สำหรับ i = 0 ถึง 497 สำหรับ j = 0 ถึง 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& 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 ของทุกคน