Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2009, 11:08   #1
skalt12
Пользователь
 
Регистрация: 05.07.2009
Сообщений: 87
Сообщение перехват нажатия клавиш

Здравствуйте, нужна помощь в реализации следующих операций:
1. форма приложения имеет значение visible := false и при нажатии определенного сочетания клавиш функцияvisible присваивает значение True... притом чтобы не имел значения фокус..
2. имеетсяа форма с единственным элементом типа TEdit после ввода текста и нажатие на ввод (клавиша enter) появляется сообщение типа ShowMessage..

Заранее благодарен

Последний раз редактировалось skalt12; 17.08.2009 в 11:15.
skalt12 вне форума Ответить с цитированием
Старый 17.08.2009, 11:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
и при нажатии определенного сочетания клавиш
Поиском по форуму по слову RegisterHotKey. Уже обсуждалось с примерами
Цитата:
имеетсяа форма с единственным элементом типа TEdit после ввода текста и нажатие на ввод (клавиша enter) появляется сообщение типа ShowMessage..
Так чтоль?
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then ShowMessage(TEdit(sender).Text);
end;
Смысл понял?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.08.2009, 11:39   #3
ov_lab
Пользователь
 
Регистрация: 24.07.2009
Сообщений: 13
По умолчанию

По вопросу 1: В общем случае нужно использовать клавиатурный хук (функция SetWindowsHookEx), причем если необходимо, чтобы окно отображалось, даже если само приложение неактивно, то процедуру обработки хука нужно размещать в отдельной DLL. В конкретных случаях в зависимости от "определенного сочетания клавиш" можно обойтись установкой "горячих клавиш" или обработкой события OnMessage у TApplication.
Вопрос 2: Пишем обработчик OnKeyPress для Edit примерно такого содержания:
if Key=#13 then ShowMessage();

Последний раз редактировалось mihali4; 25.01.2010 в 02:08.
ov_lab вне форума Ответить с цитированием
Старый 17.08.2009, 11:52   #4
skalt12
Пользователь
 
Регистрация: 05.07.2009
Сообщений: 87
По умолчанию

спасибо, господа
skalt12 вне форума Ответить с цитированием
Старый 17.08.2009, 12:06   #5
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Вот хорошая тема про хуки:
http://programmersforum.ru/showthrea...ight=keylogger

На основе этой темы яя написал свой первый кейлогер, который досихпор для меня единственый и надёжный*

* - замечены глюки, который впадлу исправлять.
Вавел из ГМТУ вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записать hotkey в ini Михаил Юрьевич Общие вопросы Delphi 6 29.03.2009 21:51
Как работать с компонентом HotKey? Inara Общие вопросы Delphi 2 26.03.2009 19:02
HotKey Simply-Art Win Api 16 15.08.2008 11:10
KOL HotKey Simply-Art Помощь студентам 6 13.08.2008 10:01
Потомок от HotKey Alter Компоненты Delphi 4 03.01.2008 15:47

Реклама для незарегистрированных, регистрация на форуме