viktor

Как отследить движение мыши и использование клавиатуры?

04.03.2008, 13:42. Показов 2930. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
форма в состоянии hide. как отследить движется мышь или нет и используется клава или нет?
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.03.2008, 13:42
Ответы с готовыми решениями:

Как отследить движение мыши и нажатие клавиш?
Надо определить, сколько времени бездействует ПК. Как отследить движение мыши и нажатие клавиш?

Как отследить движение мыши вне моей формы?
Нужен аналог MouseMove, только не для формы, а для всего экрана без использования таймера. То есть, надо отследить событие перемещения мыши...

Как отследить движение мыши и зажатую кнопку одновременно?
Сабж. Например: Зажата ЛКМ и мышь двигается вправо - выполняется одно действие. Зажата ЛКМ и мышь двигается влево - выполняется другое...

3
eddy
04.03.2008, 14:19
1. Поставить таймер (Timer1)на форму
2. Запомнить последние координаты мыши.
2. В таймере поставить интервал, в котором будет происходит опрос клавиатуры и мыши. При этом используются методы формы MouseMove (смотрим, изменились ли последние координаты мыши)и KeyDown. В свойстве формы желательно поставить KeyPreview в True.

Обработка наступившего события - на твое усмотрение.

Задача, в общем-то, тривиальная.
viktor
05.03.2008, 05:54
MouseMove и KeyDown действуют, как я понимаю, в границах активной формы. А как поймать мышь за пределами формы или если форма свёрнута.
eddy
05.03.2008, 09:44
В этом случае надо вызвать на помощь API

Данный код работал у меня.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Type POINTAPI
    x As Long
    y As Long
End Type
 
'// Узнать текущую позицию курсора
Private Declare Function GetCursorPos Lib 'user32' (lpPoint As POINTAPI) As Long
'// узнает hwnd окна, на которое указывает курсор
Private Declare Function WindowFromPoint Lib 'user32' (ByVal xPoint As Long, ByVal yPoint As Long) As Long
 
Dim ptMouse As POINTAPI
 
Private Sub Timer1_Timer
  GetCursorPos ptMouse
  If WindowFromPoint(ptMouse.x, ptMouse.y) = Form1.hwnd Then
    '// Курсор в пределах формы
  Else
    '// Ого! Вышел
    MsgBox 'Alarm!
  End If  
End Sub
Успеха!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2008, 09:44
Помогаю со студенческими работами здесь

Отследить движение мыши в окне, созданном при помощи mciSendString
Здравствуй те Господа !!! Возник вопрос - допустим есть некое чужое окно (скажу сразу это не вирус , а окно созданное при открытии .avi...

Отслеживаем движение мыши и нажатие клавиш клавиатуры
Задача такая: если пользователь в течении пяти минут не трогал клавиатуру и мышь (не нажимал кнопки и не двигал курсором) запускать...

Delphi как отследить движение мышки
Не совсем по теме форума, но может кто поможет. Визуальные компоненты в делфи позволяют отследить движение мыши над ними с помощью...

Как отследить текущее состояние мыши?
По событию OnMouseDown залетаю в свою процедуру, и при этом мне надо находиться здесь до отпускания педали.

Как отследить зажатую клавишу/кнопку мыши на C++
Как отследить зажатую клавишу/кнопку мыши на C++. Именно зажатую, а не нажатую. Искал, не нашёл.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru