Страница: 1 | 2 |
Вопрос: Мышь
Добавлено: 06.02.11 21:37
Автор вопроса:
Dan | ICQ: 609276007
Здравствуйте.
Скажите пожалуйста, как посчитать "пробег" мышь за всё время работы.
В google и ТЫндыкс не посылайте, я там был и вот, что я нарыл:
http://kbyte.ru/ru/Programming/Sources.aspx?id=112&mode=show
сам пример:
http://zip5.kbyte.ru/ad8aee01-c383-4b55-989e-0f23d370f26a.aspx
---
Я смотрел код там много чего..., вообщем не смог разобраться.
---
ПОЖАЛУЙСТА, ПОМОГИТЕ!!!
ОТ ЭТОГО ЗАВИСИТ СУДЬБА МОЕГО ПРОЕКТА!!!
Ответы
Всего ответов: 22
Номер ответа: 1
Автор ответа: Dan
ICQ: 609276007
Вопросов: 24
Ответов: 195
Профиль | | #1
Добавлено: 06.02.11 21:50
SOS
Номер ответа: 2
Автор ответа: VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #2
Добавлено: 06.02.11 22:34
ОТ ЭТОГО ЗАВИСИТ СУДЬБА МОЕГО ПРОЕКТА!!!
Пафосно.
1. Определяешь положение мышки с помощью API-функции GetCursorPos
2. Находишь расстояние с предыдущем положением с помощью формулы sqr((x1-x2)^2+(y1-y2)^2)
3. Увеличиваешь пройденный путь на найденное в предыдущем пункте расстояние
4. Приравниваешь предыдущее положение к текущему
5. Все вышеописанное крутишь в таймере
6. И не забываешь при старте программы определить текущее местоположение курсора
7. ???????
8. Бо!
Вопросы?
Номер ответа: 3
Автор ответа: Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #3
Добавлено: 06.02.11 23:47
еще, наверное, надо узнать размер пикселя, чтобы перевести всё в метры
Правда пиксели по диагонали больше, чем по вертикали/горизонтали. Но это не учтешь)
Номер ответа: 4
Автор ответа: AWP
ICQ: 345685652
Вопросов: 96
Ответов: 1212
Web-сайт:
Профиль | | #4
Добавлено: 07.02.11 09:26
еще нужно в автозапуск засунуть и чтобы запускалась без сбоев.
Номер ответа: 5
Автор ответа: Dan
ICQ: 609276007
Вопросов: 24
Ответов: 195
Профиль | | #5
Добавлено: 07.02.11 12:58
То есть:
Номер ответа: 6
Автор ответа: Dan
ICQ: 609276007
Вопросов: 24
Ответов: 195
Профиль | | #6
Добавлено: 07.02.11 13:18
Ведь так?
Номер ответа: 7
Автор ответа: VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #7
Добавлено: 07.02.11 16:56
Пробуй.
Номер ответа: 8
Автор ответа: HIWORD
Вопросов: 0
Ответов: 14
Профиль | | #8
Добавлено: 07.02.11 20:51
Нафига таймер?
Я бы сделал через SetWindowsHookEx(WH_MOUSE_LL ...
Кроме того, есть любопытная GetMouseMovePointsEx
Номер ответа: 9
Автор ответа: VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #9
Добавлено: 07.02.11 20:53
Нафига таймер?
Чтобы было меньше вопросов и понятней.
Номер ответа: 10
Автор ответа: Dan
ICQ: 609276007
Вопросов: 24
Ответов: 195
Профиль | | #10
Добавлено: 07.02.11 21:21
Dim y as point
Dim x as point
Dim y1 as point
Dim x1 as point
Dim s as point
... Form load ...
y1= corsorposition.y
x1= corsorposition.x
...TimerTick...
y= corsorposition.y
x= corsorposition.x
s=sqr((x1-x2)^2+(y1-y2)^2)
А в таймере надо новые значения переменной в конце "тика Таймера" переводить предыдущее?
HIWORD, можно по подробнее?
Номер ответа: 11
Автор ответа: VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #11
Добавлено: 07.02.11 21:51
0. Где ты упомянул, что используешь дотнет?
1. ААаааааааааааааааааааааа! Мой моск! x as Point! y as Point! Ааааааааааааа! Хм. Мммм... Какой изврат...
2. Point сам в себе содержит координаты, зачем тебе по переменной поинт на каждую координату?!
3. Как сочетается это
с этим
Пиши вот это:
Номер ответа: 12
Автор ответа: Dan
ICQ: 609276007
Вопросов: 24
Ответов: 195
Профиль | | #12
Добавлено: 08.02.11 11:36
СПАСИБО!!! Всё понял, кроме... а почему s+=sqr... ?
Номер ответа: 13
Автор ответа: Dan
ICQ: 609276007
Вопросов: 24
Ответов: 195
Профиль | | #13
Добавлено: 08.02.11 11:51
В смысле почему s+= ?
Номер ответа: 14
Автор ответа: VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #14
Добавлено: 08.02.11 13:06
s+=
тоже самое что
s = s +
так же как и
s/= ...
s = s / ...
s*= ...
s = s * ...
Номер ответа: 15
Автор ответа: Dan
ICQ: 609276007
Вопросов: 24
Ответов: 195
Профиль | | #15
Добавлено: 08.02.11 13:37
СПАСИБО.
ТЕПЕРЬ ВСЁ ПОНЯТНО.