Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/50: Рейтинг темы: голосов - 50, средняя оценка - 4.64
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1

Как реализовать глобальный хук для мыши

11.10.2012, 15:31. Показов 9858. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
кто исользовал глобальный хук перехват нажатия кнопок мыши ....

у меня есть хук для клавиатуры , но ведь ЛКМ мыши сюда не входит?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2012, 15:31
Ответы с готовыми решениями:

Глобальный файловый хук WinAPI для конкретного процесса
Нужен пример реализации файлового хука, который будет ловить функции ReadFile, OpenFile, WriteFile и т.д. Можно в виде Dll или чего угодно....

Глобальный Хук для мыши с отслеживанием удержания ЛКМ
Здравствуйте! Для программы нужен хук, который позволит программе реагировать не только на нажатие ЛКМ, но так же и её удерживание!...

Глобальный хук для мыши
Суть проблемы такова: Имеется прога, при нажатии на Button (при условии выбора определенной строки в ComboBox) в которой должно...

5
 Аватар для kesean
292 / 291 / 108
Регистрация: 04.09.2010
Сообщений: 638
11.10.2012, 15:44
Принцип тот же, только константы другие.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
        /// <summary>
        /// Windows NT/2000/XP: Installs a hook procedure that monitors low-level mouse input events.
        /// </summary>
        private const int WH_MOUSE_LL       = 14;
 
        /// <summary>
        /// Installs a hook procedure that monitors mouse messages. For more information, see the MouseProc hook procedure. 
        /// </summary>
        private const int WH_MOUSE          = 7;
 
        /// <summary>
        /// The WM_MOUSEMOVE message is posted to a window when the cursor moves. 
        /// </summary>
        private const int WM_MOUSEMOVE      = 0x200;
        /// <summary>
        /// The WM_LBUTTONDOWN message is posted when the user presses the left mouse button 
        /// </summary>
        private const int WM_LBUTTONDOWN    = 0x201;
        /// <summary>
        /// The WM_RBUTTONDOWN message is posted when the user presses the right mouse button
        /// </summary>
        private const int WM_RBUTTONDOWN    = 0x204;
        /// <summary>
        /// The WM_MBUTTONDOWN message is posted when the user presses the middle mouse button 
        /// </summary>
        private const int WM_MBUTTONDOWN    = 0x207;
        /// <summary>
        /// The WM_LBUTTONUP message is posted when the user releases the left mouse button 
        /// </summary>
        private const int WM_LBUTTONUP      = 0x202;
        /// <summary>
        /// The WM_RBUTTONUP message is posted when the user releases the right mouse button 
        /// </summary>
        private const int WM_RBUTTONUP      = 0x205;
        /// <summary>
        /// The WM_MBUTTONUP message is posted when the user releases the middle mouse button 
        /// </summary>
        private const int WM_MBUTTONUP      = 0x208;
        /// <summary>
        /// The WM_LBUTTONDBLCLK message is posted when the user double-clicks the left mouse button 
        /// </summary>
        private const int WM_LBUTTONDBLCLK  = 0x203;
        /// <summary>
        /// The WM_RBUTTONDBLCLK message is posted when the user double-clicks the right mouse button 
        /// </summary>
        private const int WM_RBUTTONDBLCLK  = 0x206;
        /// <summary>
        /// The WM_RBUTTONDOWN message is posted when the user presses the right mouse button 
        /// </summary>
        private const int WM_MBUTTONDBLCLK  = 0x209;
        /// <summary>
        /// The WM_MOUSEWHEEL message is posted when the user presses the mouse wheel. 
        /// </summary>
        private const int WM_MOUSEWHEEL     = 0x020A;
0
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
11.10.2012, 16:51  [ТС]
неужели? сейчас опробую..будет просто найс если вы правы

Добавлено через 40 секунд
private const int WM_LBUTTONUP = 0x202; ? нажатие

Добавлено через 3 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (e.Keys == Keys.E) // Флажок
                {
                    
                    
                       MessageBox.Show("ыы");
                    }
                    else
                    {
 
                        MessageBox.Show("ыы");
                           
                       
 
                    }
Добавлено через 3 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public enum HookType : int
        {
            WH_JOURNALRECORD = 0,
            WH_JOURNALPLAYBACK = 1,
            WH_KEYBOARD = 2,
            WH_GETMESSAGE = 3,
            WH_CALLWNDPROC = 4,
            WH_CBT = 5,
            WH_SYSMSGFILTER = 6,
            WH_MOUSE = 7,
            WH_HARDWARE = 8,
            WH_DEBUG = 9,
            WH_SHELL = 10,
            WH_FOREGROUNDIDLE = 11,
            WH_CALLWNDPROCRET = 12,
            WH_KEYBOARD_LL = 13,
            WH_MOUSE_LL = 14,
            WM_LBUTTONUP = 0x202,//разницы ведь нет он сам переведёт в 10чную
 
        }
Добавлено через 22 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
  if (e.Keys == Keys.LButton) // Флажок
                {
 
                    MessageBox.Show("ы");
                    }
                    else
                    {
 
                        MessageBox.Show("ыы");
 
                    }
ошибок нет но не срабатывает не при фокусе программы и вне окна

Добавлено через 18 минут
за место этого почему то хучатся все кнопки и мессаджи появляются при нажатий любых кнопок
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
11.10.2012, 17:35
https://www.cyberforum.ru/post1413269.html
1
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
11.10.2012, 17:52  [ТС]
SSTREGG именно этот исход минут 10 назад скачал разобрался всё работает спасибо!

можно офать!
0
0 / 0 / 0
Регистрация: 18.04.2015
Сообщений: 1
18.04.2015, 15:47
а не подскажете, как узнать какой указатель у мыши, например рука, в данный момент? (также в хуке)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.04.2015, 15:47
Помогаю со студенческими работами здесь

Глобальный хук мыши
Подскажите, пожалуйста, почему при таком способе перехвата событий мыши, курсор(не самой игры, а системный) пропадает при запущенном 3D...

Глобальный хук мыши
Ребят подскажите пожалуйста где у меня ошибка почему при нажатиии мыши у меня не срабатывает моя хук процедура вот код #include...

Глобальный хук клавиатуры/мыши в Lazarus
Здравствуйте, не подскажете, что лучше использовать для глобального хука клавиатуры/мыши? Мне нужно, чтобы обрабатывался ввод...

Глобальный хук клавиатуры для системных приложений. Почему зависает?
Здравствуйте. Имеется задача: перехватывать нажатие клавиш во всей системе. После изучения статей про хуки написал что-то очень...

Глобальный хук
Всем доброго времени суток! Помогите написать глобальный хук и функцию для него, чтобы перехватывал вводимый текст с клавиатуры и писал в...


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

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