Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/68: Рейтинг темы: голосов - 68, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 33

Перемещение курсора мыши и имитация кликов

23.09.2012, 10:35. Показов 13634. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Вот что я хочу:
При включении программы мышь переместилась на определённую точку монитора и кликала туда каждые минуты 3 до тех пор пока не отключишь программу!
Все что я имею:
1) Visual Studio 2010
2) Нулевые знания в программировании
3) Пару кодов которые отрыл в интернете

Эмуляция события Click для правой кнопки мыши
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub Command1_MouseUp (Button As Integer, Shift As Integer, _
   X As Integer, Y As Integer)
   '
   If Button = 2 Then  ' Правая кнопка мыши
       If X >= 0 And X <= Command1.Width And _
           Y >= 0 And Y <= Command1.Height Then
           ' Здесь нужно написать код, который
           ' обрабатывает данное событие
       End If
   End If
End Sub

Установка курсора мыши в нужное место на форме
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#If Win32 Then
   Private Declare Function SetCursorPos Lib "user32" _
       (ByVal x As Long, ByVal y As Long) As Long
#Else
   Declare Sub SetCursorPos Lib "User" _
       (ByVal x As Integer, ByVal y As Integer)
#End If
 
Private Sub Form_Load()
   #If Win32 Then
       Dim x As Long, y As Long
   #Else
       Dim x As Integer, y As Integer
   #End If
   '
   Me.Show
   ' Вычисляет координаты командной кнопки
   x = (Me.Left + Command1.Left + Command1.Width / 2) _
       / Screen.TwipsPerPixelX
   y = (Me.Top + Command1.Top + Command1.Height / 2 _
       + Me.Height - Me.ScaleHeight) _
       / Screen.TwipsPerPixelY
   ' Помещает курсор на кнопку
   SetCursorPos x, y
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2012, 10:35
Ответы с готовыми решениями:

Имитация кликов мыши в системе
(ищу для автоматизации действий в фоне) имитация нажатий клавиш работает наура, для теста простое окно с кнопкой на всю форму (msgbox...

Имитация кликов многокнопочной мыши
Подобные темы поднимались неоднократно. Но все-таки. Мои познания в программировании смешны и ограничиваются использованием нескольких...

Перемещение курсора мыши
Добрый день! Сегодня баловался в школе с PascalABC, потом поставил дома .net - из-за компилятора. Делать было нечего, узнал про такую...

10
 Аватар для ZuMiks
124 / 102 / 5
Регистрация: 25.03.2012
Сообщений: 153
23.09.2012, 10:45
Вот посмотри тут, как раз то что тебе надо: Как эмулировать клик мышью
1
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 33
23.09.2012, 10:51  [ТС]
Цитата Сообщение от ZuMiks Посмотреть сообщение
Вот посмотри тут, как раз то что тебе надо: Как эмулировать клик мышью
Спасибо. НО я вообще не разберусь что куда вставлять и что нужно из этого
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
    Const MOUSEEVENTF_LEFTDOWN = &H2
    Const MOUSEEVENTF_LEFTUP = &H4
    Const MOUSEEVENTF_MIDDLEDOWN = &H20
    Const MOUSEEVENTF_MIDDLEUP = &H40
    Const MOUSEEVENTF_MOVE = &H1
    Const MOUSEEVENTF_ABSOLUTE = &H8000
    Const MOUSEEVENTF_RIGHTDOWN = &H8
    Const MOUSEEVENTF_RIGHTUP = &H10
 
  'Cursor.Position = New Point(0, 0)
          '  mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 1, 1)
           ' mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 1, 1)
0
 Аватар для ZuMiks
124 / 102 / 5
Регистрация: 25.03.2012
Сообщений: 153
23.09.2012, 11:16
Вот код для формы, на форму кидаешь таймер:
VB.NET
1
2
3
4
5
6
7
8
9
Public Class Form1
    Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
    Const MOUSEEVENTF_LEFTDOWN = &H2
 
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Cursor.Position = New Point(32, 1270) 'Координаты 
        mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 1, 1)
    End Sub
End Class
В таймере выставляешь время то которое нужно!
0
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 33
23.09.2012, 12:59  [ТС]
Все сделал, запускаю программу ничего не происходит
вот скрин

Добавлено через 1 час 31 минуту
ZuMiks помог решить проблему!
Тему можно закрыть!
0
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
17.12.2015, 13:32
VB.NET
1
mouse_event(MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
17.12.2015, 13:43
Antontth, да я тоже заметил, нажать нажали, а отпустить забыли )))
0
 Аватар для mostApi
8 / 6 / 0
Регистрация: 15.05.2015
Сообщений: 350
19.01.2022, 01:22
Всем привет, не стал создавать новую тему, потому как задача та же, все по примеру работает, по координатам мыши клик происходит, но

Столкнулся с интересной проблемой, не знаю как решить:
при использовании программы относительно координат одного основного монитора, проблем не возникает.

Как только запускаешь кликер с схеме с 2мя - 3мя мониторами, по схеме расширенного рабочего стола, по заданным координатам курсор не переходит в точности, а постоянно с непонятным сдвигом по координатам.

Пример:
Стандартный код для нового позицианирования курсора мыши:
Visual Basic
1
Cursor.Position = New Point(x, y)
Координаты для клика заданы на другом мониторе расширенного рабочего стола: 2283:-687
По факту мышь кликает по координатам: 1145:540
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
19.01.2022, 08:38
Параметры экрана → Дисплей → Масштаб и разметка
Какой масштаб там стоит? 100%?

Добавлено через 2 минуты
Манифест для поддержки HI DPI и нескольких мониторов есть?
0
 Аватар для mostApi
8 / 6 / 0
Регистрация: 15.05.2015
Сообщений: 350
19.01.2022, 19:44
Цитата Сообщение от Замабувараев Посмотреть сообщение
Параметры экрана → Дисплей → Масштаб и разметка
Какой масштаб там стоит? 100%?
Схема приведена наскриншоте "Схема", где: Монитор1 = 1920*1080, Мониторы2 и 3 = 2560*1440, масштаб 100%.

Цитата Сообщение от Замабувараев Посмотреть сообщение
Манифест для поддержки HI DPI и нескольких мониторов есть?
не знаю о чем речь, Мониторы 2 и 3 подключены через HDMI 2.0b и TypeC (через переходник в HDMI 2.0b).
Миниатюры
Перемещение курсора мыши и имитация кликов  
0
 Аватар для mostApi
8 / 6 / 0
Регистрация: 15.05.2015
Сообщений: 350
21.01.2022, 10:23
Может есть у кого идеи, почему так?
Может кто у себя воспроизвести случай, проверить кейс?
Заметил так же, что хоть и заданы параметры координат точно, при щелчке по координатам вроде расположение курсора мыши влияет. Почему так, не понимаю(.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2022, 10:23
Помогаю со студенческими работами здесь

Перемещение курсора мыши
Здравствуйте, возникла потребность имитации перемещения курсора мыши по экрану, есть ли в джаве готовые классы которые это могу делать?...

Перемещение курсора мыши на экране
В своей программе в главной форме я ставлю таймер например 30 сек. При нажатии кнопки запускаю таймер. Надо чтоб через каждые 30 сек....

Программное перемещение курсора мыши
Всем привет! У меня тут вопрос.... каким образ можно перемешать курсор мышака программно?

Проверка перемещение курсора мыши
Как сделать проверку перемещения курсора мыши то есть сначала получить сами координаты, а потом если координаты изменились то выбить...

Перемещение курсора мыши Стрелаками на клавиатуре
Здравствуйте, мне нужна ваша помощь, нужен программный код, Где мышка будет перемещаться по экрану, с помощью стрелок! Код: Delphi


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru