|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.11.2008, 15:30 | #1 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Перехват нажатий клавиш - АLT
Такой вопрос: в чем ошибка, не реагирует на нажатия клавиши Alt? При нажатии должна появляться кнопка на форме. С другими клавишами работает, но не с Alt. В чем ошибка и как исправить?
Код:
лучший подарок женщине-программисту
|
24.11.2008, 10:30 | #3 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
http://pblog.ru/lab/?p=631
Код:
|
25.11.2008, 00:30 | #4 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Подскажите, вот мы установили хук, а как его теперь удалить в процессе выполнения программы? Просто мне нужно блокировать нажатие клавиш лишь однажды. Выяснил что за это отвечает процедура UnhookWindowsHookEx, но у меня что-то ничего не получается...
Заранее благодарю за помощь!
лучший подарок женщине-программисту
|
25.11.2008, 09:03 | #5 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
посмотри какую ошибку эта функция возвращает. убедись в валидности хендла хука.
|
26.11.2008, 20:18 | #6 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Использую примерно такой код:
Код:
лучший подарок женщине-программисту
|
26.11.2008, 20:51 | #7 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
довольно-таки енпонятный код. зачем ставить хук и сразу снимать? непонятно зачем ты два раза вызываешь SetWindowsHookEx, в первый раз без сохранения результат в переменную во-второй раз с сохранением? Так как ты вызываешь её два раза значит хук ставится два раза. Следовательно надо его снимать два раза.
Кстати, где у тебя находится этот код? для нормальной работы глобального хука, он должен находиться в DLL. установил хук theHook:=SetWindowsHookEx(wh_keyboa rd,HOOK,HInstance,0); снял хук UnHookWindowsHookEx(theHook); и всё |
27.11.2008, 11:42 | #8 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
theHook:=SetWindowsHookEx(wh_keyboa rd,HOOK,HInstan ce,0);
Так хук не устанавливается, проверял. Да и вообще, theHook, это переменная которая сохраняет номер хука, то значение которое возвращает ф-ция SetWindowsHookEx. Да и потом, хук у меня устанавливается и снимается, но плохо. Чтобы снялся, нужно перейти на окно какой-то др. программы, окно программы должно стать неактивным, и там что-то понажимать.
лучший подарок женщине-программисту
Последний раз редактировалось chandrasecar; 27.11.2008 в 11:59. |
27.11.2008, 16:12 | #9 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Цитата:
ну это наверно уже глюки реализации.... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
симуляция нажатий клавиш | 4321 | Общие вопросы Delphi | 14 | 23.10.2008 23:18 |
Иммитация нажатий клавиш клавиатуры | chandrasecar | Win Api | 5 | 11.10.2008 12:16 |
отслеживание нажатий клавиш | Артэс | Win Api | 6 | 14.06.2008 20:02 |
Перехват нажатых клавиш | AidarBik | Общие вопросы Delphi | 2 | 21.06.2007 20:11 |
Перехват и подмена кодов клавиш чужого окна | Hedgehog | Безопасность, Шифрование | 3 | 23.04.2007 16:05 |