Показать сообщение отдельно

  #2  
Старый 07.02.2007, 01:29
je0n
Постоянный
Регистрация: 14.05.2006
Сообщений: 334
Провел на форуме:
1543521

Репутация: 272
Отправить сообщение для je0n с помощью ICQ
По умолчанию

Код:
Private Sub Hots_KeyUp(Index As Integer, KeyCode As Integer, Shift As Integer)

If KeyCode >= 65 And KeyCode <= 90 Then          'Îïðåäåëåíèå êëàâèøè
  Hots(Index).Text = Chr(KeyCode)
  Exit Sub
End If

Select Case KeyCode
         Case 192
            Hots(Index).Text = "~"
         Case 49
            Hots(Index).Text = "1"
         Case 50
            Hots(Index).Text = "2"
         Case 51
            Hots(Index).Text = "3"
         Case 52
            Hots(Index).Text = "4"
         Case 53
            Hots(Index).Text = "5"
         Case 54
            Hots(Index).Text = "6"
         Case 55
            Hots(Index).Text = "7"
         Case 56
            Hots(Index).Text = "8"
         Case 57
            Hots(Index).Text = "9"
         Case 48
            Hots(Index).Text = "0"
         Case 189
            Hots(Index).Text = "-"
         Case 187
            Hots(Index).Text = "="
         Case 220
            Hots(Index).Text = "\"
         Case 8
            Hots(Index).Text = "-BackSpace-"
         Case 9
            Hots(Index).Text = "-TAB-"
         Case 20
            Hots(Index).Text = "-CapsLock-"
         Case 160
            Hots(Index).Text = "-LShift-"
         Case 161
            Hots(Index).Text = "-RShift-"
         Case 162
            Hots(Index).Text = "-LCtrl-"
         Case 163
            Hots(Index).Text = "-RCtrl-"
         Case 164
            Hots(Index).Text = "-LAlt-"
         Case 165
            Hots(Index).Text = "-RAlt-"
         Case 144
            Hots(Index).Text = "-NumLock-"
         Case 96
            Hots(Index).Text = "-NP0-"
         Case 97
            Hots(Index).Text = "-NP1-"
         Case 98
            Hots(Index).Text = "-NP2-"
         Case 99
            Hots(Index).Text = "-NP3-"
         Case 100
            Hots(Index).Text = "-NP4-"
         Case 101
            Hots(Index).Text = "-NP5-"
         Case 102
            Hots(Index).Text = "-NP6-"
         Case 103
            Hots(Index).Text = "-NP7-"
         Case 104
            Hots(Index).Text = "-NP8-"
         Case 105
            Hots(Index).Text = "-NP9-"
         Case 27
            Hots(Index).Text = "-Esc-"
         Case 112
            Hots(Index).Text = "-F1-"
         Case 113
            Hots(Index).Text = "-F2-"
         Case 114
            Hots(Index).Text = "-F3-"
         Case 115
            Hots(Index).Text = "-F4-"
         Case 116
            Hots(Index).Text = "-F5-"
         Case 117
            Hots(Index).Text = "-F6-"
         Case 118
            Hots(Index).Text = "-F7-"
         Case 119
            Hots(Index).Text = "-F8-"
         Case 120
            Hots(Index).Text = "-F9-"
         Case 121
            Hots(Index).Text = "-F10-"
         Case 122
            Hots(Index).Text = "-F11-"
         Case 123
            Hots(Index).Text = "-F12-"
         Case 111
            Hots(Index).Text = "-NP/-"
         Case 106
            Hots(Index).Text = "*"
         Case 109
            Hots(Index).Text = "-NP--"
         Case 107
            Hots(Index).Text = "+"
         Case 114
            Hots(Index).Text = "-F3-"
         Case 110
            Hots(Index).Text = "-NP.-"
         Case 44
            Hots(Index).Text = "-PrintScreen-"
         Case 145
            Hots(Index).Text = "-ScrollLock-"
         Case 19
            Hots(Index).Text = "-PauseBreak-"
         Case 33
            Hots(Index).Text = "-PageUp-"
         Case 34
            Hots(Index).Text = "-PageDown-"
         Case 36
            Hots(Index).Text = "-Home-"
         Case 35
            Hots(Index).Text = "-End-"
         Case 45
            Hots(Index).Text = "-Insert-"
         Case 46
            Hots(Index).Text = "-Delete-"
         Case 39
            Hots(Index).Text = "-Right-"
         Case 38
            Hots(Index).Text = "-Up-"
         Case 37
            Hots(Index).Text = "-Left-"
         Case 40
            Hots(Index).Text = "-Down-"
         Case 13
            Hots(Index).Text = vbCrLf
         Case 191
            Hots(Index).Text = "/"
         Case 188
            Hots(Index).Text = ","
         Case 190
            Hots(Index).Text = "."
         Case 219
            Hots(Index).Text = "["
         Case 221
            Hots(Index).Text = "]"
         Case 186
            Hots(Index).Text = ";"
         Case 222
            Hots(Index).Text = "'"
End Select

End Sub
Это нужно, чтобы значения в этом поле совпадало с одним из возвращаемых значений функции KeyScan. Иначе программа не сможет понять какую кнопку нужно нажимать для ввода пароля. Скажу лишь, что index – это номер элемента массива Hots, а KeyCode – это код отпускаемой клавиши, когда курсор стоит на одном из элементов Hots. Надеюсь это понятно.
Теперь в обработчике таймера сотрите, все, что мы понаписали до этого и введите следующий код:
Код:
Private Sub Timer1_Timer()
Dim s As String
Dim i As Integer

s = KeyScan

For i = 0 To 7
  If Hots(i).Text = s Then SendKeys (Passwords(i).Text)
Next i
End Sub
Вот здесь немного расскажу. Функция SendKeys посылает строку в программу в которой вы сейчас находитесь. То есть если вы будите находиться в Ворде и свёрнутая программа выполнит команду SendKeys(“fuck you”), то у вас в Ворде напечатается строка fuck you. Понимайте теперь как будут вводиться пароли. Мы играем в GTA, а наша программа просто запущена и мы её не видим. Когда нажимаем какю-нить кнопку таймер проверяет, не горячая ли клавиша была нажата. И если горячая, то вызывает процедуру SendKeys(), а в качестве параметра ей передаётся строка, которая лежит в элементе массива Pass. Естественно, если бы добавили не 8 полей для ввода паролей и горячей клавиши, то и в цикле вам надо указать не от 0 до 7, а от 0 до нужного вам числа. Ну надеюсь это ясно. Теперь можете откомпилить программу и играть в GTA. Но ещё может быть косяк. Если пароли в игре вводиться не будут, то пишите пароли в программе большими буквами или наоборот маленькими. С чем это связано я не понял, но на разных компах по разному. Ещё идейку подкину. Введите кучу раз пароль gettherefast стоя на одном и том же месте, тогда тачки будут сыпаться с неба. А потом стрельните по всей этой свалке из базуки. Такого взрыва вы ещё, наверное, некогда не видели…
Если будут какие проблемы пишите на jeon@inbox.ru, постараюсь ответить. В архиве со статьёй лежат исходники программы, которую мы писали. Удачи.
 
Ответить с цитированием