|
Передвижение мышки
Запускаем любимый Visual Basic и выбираем Standard EXE. На форму помещайте Timer и ставьте интервал скажем 50.
А у самой формы ставьте свойство Visibl в 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
В этом случае программа будет прерываться если вы подведёте курсор в верхний
левый угол.
[Автор Анохин Сергей]
|
|