|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.09.2007, 15:40 | #1 |
Пользователь
Регистрация: 17.03.2007
Сообщений: 39
|
Перехват нажатия Ctrl
Добрый день! У меня такой вопрос как зделать так чтобы когда была нажата Ctrl выполнилось действие(к примеру сообщение нажата CTRL), одно но при нажатие наша программа может быть не активна, т.е. свернута, но все равно должна следить нажатие.
|
12.09.2007, 15:44 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
клавиатурный Хук или по таймеру GetKeyState
I'm learning to live...
|
12.09.2007, 16:53 | #3 |
Форумчанин
Регистрация: 22.05.2007
Сообщений: 511
|
Используй вот такой код
if GetKeyState(VK_Control) < 0 then ShowMessage('Кнопка CONTROL нажата') else ShowMessage('Кнопка CONTROL не нажата'); |
13.09.2007, 18:20 | #4 |
Пользователь
Регистрация: 14.04.2007
Сообщений: 28
|
Еще несколько вопросов
У меня еще несколько вопросов по теме.
Помогите советом, пожалуйста. Первый вопрос. Я написал такой код Код:
то окно MessageDlg появляется раз 10, как будто я нажал Escape не 1 раз, а 10. Если выставляешь задержку 1000 мс, то наоборот, нужно раз 10 нажимать Escape, пока хотя бы 1 раз сработает обработчик. Наконец, если выставить задержку, например 100 мс, то процедура TFMain.Timer1Timer нормально срабатавает, но это происходит не всегда. В общем, коряво получается как-то получается. Какую задержку все-таки ставить? Наверное, этот вопрос решается как-то в обход Таймера, но как? Второй вопрос. Опять же, вот есть у меня эта процедура TFMain.Timer1Timer. И есть еще другая процедура, скажем TFMain.SB_NextClick, которая работает в течение длительного времени. Как сделать так, чтобы при срабатывании GetKeyState в Timer1Timer выполнение этой процедуры сразу же останавлвалось? И еще третий вопрос. Как обработать, скажем, не просто клавшу Ctrl (VK_ESCAPE), а сочетание Ctrl (VK_ESCAPE) +Q (81)? Для информации по этим вопросам скажу, что ранее я использовал следующий код: Код:
Код:
Код:
и событие Ctrl+Q до нее почему-то не доходит в том случае, когда я запускаю на выполнение процедуру TFMain.SB_NextClick (Application.ProcessMessages я туда не забыл поставить). Буду благодарен за любые соображения. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
alt+ctrl+del | ben95 | Общие вопросы Delphi | 36 | 03.01.2009 16:28 |
CTRL+ALT+DELETE | terminadoor | Помощь студентам | 14 | 21.07.2008 16:22 |
Ctrl+Enter | kisska | Win Api | 3 | 22.08.2007 20:55 |
Как программно нажать Ctrl + V | ffo | Win Api | 11 | 29.07.2007 17:58 |
Отключение CTRL+ALT+DEL | ShVad | Общие вопросы Delphi | 5 | 27.01.2007 19:09 |