![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Появилась задачка :
мне нужно отследить нажимает ли пользователь клавиши на клавиатуре (не важно какие) или нет,также нужно определить работает ли пользователь с мышью. С мышью я думаю просто - смотреть в таймере за координатами мыши а вот с клавиатурой не знаю как сделать. Поясню зачем это надо - нужно удаленно знать работает ли в данный момент человек за компьютером (или покурить вышел). Добавлено: Нашел в DRKB про глобальную ловушку клавиатуры - может это мне поможет. Это сообщение отредактировал(а) SlaUr - 21.12.2004, 06:42 |
|||
|
||||
| Ddddddelphi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 1.12.2004 Репутация: нет Всего: нет |
|
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Ddddddelphi:Спасибо
Правда работает только с dll (без dll чисто в проекте ничего не получилось) Придется таскать DLL-шку c собой . Это сообщение отредактировал(а) SlaUr - 21.12.2004, 08:40 |
|||
|
||||
| Ddddddelphi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 1.12.2004 Репутация: нет Всего: нет |
SlaUr, глобальные ловушки работают только с dll
|
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Есть еще функция которая отслеживает нажатие клавиши без дллки
вроде GetAnsiKeyState чтоли? функция возвращает true если клавиша нажата. работает аппаратно так что дллка не нужна. вроде так, если я ничего не путаю. я точно пользовался щас гляну конкретно. ВОТ! точно ставь на форму таймер с интервалом 1 в обработчике пиши caption:=inttostr(GetKeyState(13)); //клавиша ентер понажимай ентер увидишь что получиться. - этого метода - для каждой клавиши придется писать свою строчку getkeystate(...) зато без длл... :-) Это сообщение отредактировал(а) Bes - 21.12.2004, 09:29 |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Можно в принципе сделать GetKeyStat на несколько часто нажимаемых клавишах например a,A,А,а (lat/rus) ,o,e,enter,Esc, в принципе тоже мне подойдет но лучше с ловушкой - dll небольшая так что можно и потаскать с собой.
Это сообщение отредактировал(а) SlaUr - 21.12.2004, 10:00 |
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
2SlaUr: там без разницы рус/латышский :-)
я просто тоже пробовал через дллку - толи у меня руки кривые, толи теория хромает, но че-то глючно у меня прога работала не всегда схватывала. А! точно она повторы не делала т.е. ОБРАТИТЕ ВНИМАНИЕ!!! когда ты этот хук запустишь нельзя будет сделать аааааааааааааааааааааааааааааааааааааааааа т.е. держать клавишу и печатать а получиться просто а может у вас конечно более продвинутая версия, но у меня был такой глюк. получается ее не только заметно, т.к. вы пишете на шпиона :-) а просто не удобно работать. если я не прав - отпишите. |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
BesВсе работает нормально (для моих целей -мне неважно какая клавиша нажата и я ее не считываю а как в примере просто проигрывается звук (messageBeep(0) (Вместо Beep)) Сколько раз нажимаю A столько раз возпроизводится звук,Держу А постоянно нажатой - звук тоже постоянно раздается.
Это сообщение отредактировал(а) SlaUr - 21.12.2004, 12:49 |
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Ну то есть повтор работает.. ?
в блокноте например можно длинную строку напечатать удерживая клавишу? |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
BesПовтор работает.
|
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Дай пример. :-)
|
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Besисходники (1.rar)
Вообще то я сейчас посмотрел- я сделал не через сообщение а напрямую в dll написал messagebeep и все работает,если не работает через ссообщения то нужно будет что-то мудрить. p.s. Программу в котрой я буду это использовать я еще не делаю(сначала спрошу у начальника надо ли это ) Это сообщение отредактировал(а) SlaUr - 28.12.2004, 16:30 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |