Здоровенько
Вы знаете, как можно довести юзера до белого
коления? Ну конечно, конечно знаете много
способов. И как диск отформатировать, и как
шарик из мышки вытащить. А вы видели
выражение лица юзера, наблюдающего как
курсор его мышки начинает перемещаться по
экрану безо всякого участия со стороны его
мышц. Я говорю не об управлении компьютера
силой мысли (хотя и такое скоро будет
возможно), а о создании программки, которая
будет управлять движением мышки. Вы конечно
можете возразить, что гораздо проще и
быстрее скачать такую прогу из Сети, а самим
пойти попить пивка. На такое мнение я могу
высказать следующее: во-первых, от большого
количества пива наступит пивной алкоголизм
🙂 , во-вторых, если вам лень что-то делать, то
ваш уровень IQ со временем будет опускаться,
в-третьих, труд превратил обезьяну в
человека, а в четвёртых, почитайте труды
Interrupt-а, он вам всё объяснит.
Ну на вступление хватит, приступим к работе.
Запускаем любимый Visual Basic и выбираем Standard EXE.
На форму помещайте Timer и ставьте интервал
скажем 50. А у самой формы ставьте свойство
Visible в False (она ведь не должна быть видима).
Теперь приступим к коду. Сначала
декларируем две функции для работы с
положением курсора мыши:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As
POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long,
ByVal y As Long) As Long
Далее объявляем тип для хранения 2-D
координаты и соответствующую переменную:
Private Type POINTAPI
x As Long
y As Long
End Type
Dim pos As POINTAPI
И ещё несколько вспомогательных переменных:
Dim dx As Integer, dy As Integer ' здесь будут значения
смещений
Dim ub, lb
Переменные ub и lb будут содержать значения
границ в случае случайного перемещения
курсора
Пошли дальше:
Private Sub Form_Load()
ub = 5
lb = -5
App.TaskVisible = False 'делаем программу невидимой в
Task Manager
End Sub
И самое главное - код который будет
перемещать положение курсора мыши. Пишем
его в событие Timer() элемента Timer1:
Private Sub Timer1_Timer()
GetCursorPos pos
Randomize
dx = Int(Rnd * (ub - lb + 1) + lb)
dy = Int(Rnd * (ub - lb + 1) + lb)
SetCursorPos pos.x + dx, pos.y + dy
End Sub
В данном случае курсор мыши будет дёргаться
по экрану. Для изменения параметров
поэкспериментируйте со значениями lb и ub и
Timer1.Interval. Ну это естественно далеко не
единственный вариант перемещения курсора.
Можете например заставить его падать вниз:
Private Sub Timer1_Timer()
GetCursorPos pos
If (pos.y + 100) <= Screen.Height / Screen.TwipsPerPixelY Then
dy = 1
Else
dy = 0
End If
SetCursorPos pos.x, pos.y + dy
End Sub
Или падать вниз с ускорением:
Private Sub Timer1_Timer()
GetCursorPos pos
If (pos.y + 100) <= Screen.Height / Screen.TwipsPerPixelY Then
dy = dy+1
Else
dy = 0
End If
SetCursorPos pos.x + dx, pos.y + dy
End Sub
Короче, простор для творчества большой. И
если вы не совсем лентяи и имеете мозги и
знания математики (да-да, её тоже знать надо,
поверьте моему опыту программиста), то
наверняка создадите какой-нибудь
замечательный путь. Для начала можете
сделать путь в форме квадрата и круга. Ну а
как запускать программу на компьютере
жертвы я писать здесь не буду - вы наверняка
сами знаете. Ну а если нет, то может в
следующий раз напишу об этом И напоследок
маленький совет. Когда заняты
тестированием программы, добавьте в код
события Timer() следующую строку:
If ((pos.x <= 4) And (pos.y <= 4)) Then End
В этом случае программа будет прерываться
если вы подведёте курсор в верхний левый
угол.