이 기사의 예에서는 VB에서 구현된 "QQ Beauty Find Difference Game"의 부정 행위 장치에 대해 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부사항은 다음과 같습니다:
꽤 지루합니다. 원리는 매우 간단합니다. VB를 사용하면 속도가 느려지지만 구현은 쉽습니다.
옵션 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 Or SWP_NOSIZE' 창을 항상 맨 위에 있도록 설정 End Sub' 긴 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 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 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 호출 ColorRGB(p1(i, j), C1()) 호출 ColorRGB(p2(i, j), C2()) If (Abs(C1(1) - C2(1)) > 30 또는 Abs(C1(2) - C2(2)) > 30 또는 Abs(C1(3) - C2(3)) > 30) 그러면 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 프로그래밍에 도움이 되기를 바랍니다.