OmegaSoft
ГЛАВНАЯ
ПРОГРАММЫ
ПРИКОЛЫ
РЕСУРСЫ
ИСХОДНИКИ
СТАТЬИ
FAQ
САЙТЫ ПО VB
БАННЕРЫ
АВТОР
E-MAIL

$ 5 Миллионов, если Ваше день рождение совпадёт с выпавшей датой!

Опрос.
У вас есть свой сайт в интернете?
Да
Нет
Не помню
Результат

Хотите выиграть цифровую камеру? Тогда регистрируйтесь!


List Banner Exchange

Передвижение мышки


Запускаем любимый 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

В этом случае программа будет прерываться если вы подведёте курсор в верхний
левый угол.

[Автор Анохин Сергей]


MAFIA's Top100 Aport Апорт Top 1000 SUPERTOP Rambler's Top100 Service
Interreklama Advertizing
© Copyright OmegaSoft Production