Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 4

Движение мыши с точки А в точку Б с зажатой правой кнопкой мыши

18.10.2014, 17:12. Показов 4459. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, мне нужно сделать программу которая бы плавно перемещала курсор мыши из А в Б причем с зажатой правой кнопкой мыши. С С# только начал знакомится, работал только с Action Script 3 (Flash).

вот такой вопрос, я немного погуглил и так и не понял почему нажатия мыши в C# задаются вот так не понятно?

C#
1
2
3
4
5
PostMessage(handle, 0x100, 0x01, 0); //лкм
PostMessage(handle, 0x101, 0x01, 0); 
 
PostMessage(handle, 0x100, 0x02, 0); //пкм
PostMessage(handle, 0x101, 0x02, 0);
объясните пожалуйста, чтоб въехать как то..
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2014, 17:12
Ответы с готовыми решениями:

Компонент MaskEdit должен стать доступным, если нажать на нем правой кнопкой мыши с зажатой клавишей Ctrl
На форме разместить компонент MaskEdit, в котором нельзя изменять текст. Если нажать на компоненте правой кнопкой мыши с зажатой клавишей...

Прокрутка страницы с зажатой кнопкой мыши
Нужен скрол именно БЛОКА, а НЕ всей страницы с зажатием левой кнопки мыши. Есть код для прокрутки ВСЕЙ СТРАНИЦЫ с зажатой левой кнопкой...

Выполнять функцию при зажатой правой кнопке мыши
if (Key.isDown(Key.ESCAPE)) { /* */ } как сделать что так же, только заместо ескейта была правая кнопка мыши или левая? (PS возможно ли...

12
Заблокирован
18.10.2014, 17:17
То что вы привели то это сообщения из ВинАпи которые как бы говорят компьютеру что вы нажали кнопку мыши
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
18.10.2014, 17:21
Что тут не понятного? В виндовс в окна отсылаются сообщения, будь то передвижение мыши,ее нажатии, ввода с клавиатуры и тд. Какие сообщения отсылаются - можно поглядеть утилитой SPY++ (но их там не мало ).
Функция PostMessage отправляет такое сообщение.
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
18.10.2014, 17:37
а я так эмулирую нажатия
C#
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
26
27
28
29
30
31
32
using System.Runtime.InteropServices;
 
// Подключаем Dll. Это чтобы работать c winApi.
 
        [DllImport("user32.dll")]
 
        static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
 
        [Flags]
 
        public enum MouseEventFlags
        {
            LEFTDOWN = 0x00000002,
            LEFTUP = 0x00000004,
            MIDDLEDOWN = 0x00000020,
            MIDDLEUP = 0x00000040,
            MOVE = 0x00000001,
            ABSOLUTE = 0x00008000,
            RIGHTDOWN = 0x00000008,
            RIGHTUP = 0x00000010
        }
 
        /// <summary>
        /// Клик ЛКМ по указанным координатам
        /// </summary>
        public static void LeftClick(int x, int y)
        {
            Cursor.Position = new System.Drawing.Point(x, y);
            mouse_event((int)(MouseEventFlags.LEFTDOWN), 0, 0, 0, 0);
            System.Threading.Thread.Sleep(100);
            mouse_event((int)(MouseEventFlags.LEFTUP), 0, 0, 0, 0);
        }
0
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 4
18.10.2014, 17:41  [ТС]
Цитата Сообщение от tarasalk Посмотреть сообщение
а я так эмулирую нажатия
у тебя есть скайп? Очень бы хотел пообщаться немного)
0
Заблокирован
18.10.2014, 18:18
Цитата Сообщение от tarasalk Посмотреть сообщение
а я так эмулирую нажатия
Все хорошо но в этот момент компьютер будет так сказать занят потому что мышка будет елозить по экрану а пост месседж не троает мышку а сразу отправляет в стек событие что мышка нажата
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.10.2014, 19:30
tarasalk

Ерунда это все...
Недавно делал манипуляции мышью, намучился с этим...

Короче суть такова
1. Ставишь мышь в указанную позицию (Cursor.Position)
2. Зажимаешь Windows Input Simulatorом кнопку https://inputsimulator.codeplex.com
3. Ведешь до указанной позиции через Таймер
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
18.10.2014, 21:13
asql, грубо. Ваша альтернатива это какая то внешняя библиотека? Мега решение.
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
18.10.2014, 22:13
https://www.autoitscript.com/site/autoit/
Есть обертка на шарп
Как раз для таких задач. Там в пару строк все это делается

Добавлено через 2 минуты
tarasalk, ну с помощью сторонней либы (которую я дал) - все это легко решается. Все уже написано до нас, зачем велосипеды изобретать? Ну если любитель - то нет вопросов
0
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 4
19.10.2014, 02:41  [ТС]
Цитата Сообщение от asql Посмотреть сообщение
Короче суть такова
1. Ставишь мышь в указанную позицию (Cursor.Position)
2. Зажимаешь Windows Input Simulatorом кнопку https://inputsimulator.codeplex.com
3. Ведешь до указанной позиции через Таймер
подскажите пожалуйста как подключать сторонние либы к проекту

Добавлено через 1 минуту
Цитата Сообщение от Winhttp22 Посмотреть сообщение
https://www.autoitscript.com/site/autoit/
Есть обертка на шарп
Как раз для таких задач. Там в пару строк все это делается
Добавлено через 2 минуты
tarasalk, ну с помощью сторонней либы (которую я дал) - все это легко решается. Все уже написано до нас, зачем велосипеды изобретать? Ну если любитель - то нет вопросов
я так понял AutoIt это вообще сторонняя программа со своим скриптовым языком и что то я там не нашел операций манипулирования мышью.
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
19.10.2014, 03:01
Цитата Сообщение от tobecalm Посмотреть сообщение
я так понял AutoIt это вообще сторонняя программа со своим скриптовым языком и что то я там не нашел операций манипулирования мышью.
http://www.script-coding.com/AutiItX.html
0
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 4
19.10.2014, 03:22  [ТС]
Цитата Сообщение от Winhttp22 Посмотреть сообщение
http://www.script-coding.com/AutiItX.html
Напиши пожалуйста самый простой пример использование этой библиотеки посредством C#, например открыть CD.

не понятно самое простое, как подключать сторонние либы и пользоваться ими в C#. Дальше разберусь
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
19.10.2014, 10:40
закидываешь файлы в папку проекта ->
Сервис –> Диспетчер библиотеки пакетов –> Консоль диспетчера пакетов -> Install-Package InputSimulator
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2014, 10:40
Помогаю со студенческими работами здесь

Вертикальная прокрутка блока с зажатой левой кнопкой мыши
Нужен вертикальный скрол блока с зажатием кнопки мыши. Есть код для горизонтальной прокрутки. Надо просто его переделать. Но я в js не...

Загрузка картинок по очереди при движении мыши с зажатой левой кнопкой
При помощи HScrollBar можно самостоятельно перелистывать с разной скоростью 50 изображений, от 0 до 49 в формате .png, Private Sub...

Нажимаю правой кнопкой мыши
Нажимаю правой кнопкой мыши на папки и windows SP3 начинает глючить и скайп глючит что делать????

Щелчок правой кнопкой мыши
Как сделать так, чтобы щелчок правой кнопки мыши сжимал форму на 5 пикселей со всех сторон, а щелчок правой кнопки мыши с нажатой клавишей...

C# Работа ПРАВОЙ кнопкой мыши
Добрый день. Имеется рабочая программа на языке C#. Необходимо реализовать аналогичную программу, управление в которой осуществляется с...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
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