Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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

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

Цитата:
и при нажатии определенного сочетания клавиш
Поиском по форуму по слову 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, 12: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, 12:52   #4
skalt12
Пользователь
 
Регистрация: 05.07.2009
Сообщений: 87
По умолчанию

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

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц



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