Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Hotkey во всех прогах [D7, Win2k, WinXP]


RustiK ©   (2003-10-28 14:14:00) 

У меня такой вопрос как сделать Hotkey который бы ловился глобально и срабатывал в любом активном приложении.
Например я запустил Word нажал Alt+Z и у меня напечаталось "Вы нажали Alt+Z", а потом открыл какой-нибудь другой редактор и нажал Alt+Z и опять бы у меня напечаталась бы надпись "Вы нажали Alt+Z". И так в любой программе которую бы я не открыл.


RustiK   (2003-10-31 10:44:00) [1]

Удалено модератором
Примечание: Offtopic


RustiK   (2003-10-30 08:56:00) [2]

Кто-нибудь подскажет мне как хэндл чилда определить?


RustiK   (2003-10-29 09:43:00) [3]

Спасибо.
А не нужно ли мне получать еще и хэндл какого-либо Edita этого активного окна?


Narayan   (2003-10-28 16:13:00) [4]


...
private
procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
...
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
// получаешь дескриптор активного окна
// и посылаешь ему сообщение (WM_SETTEXT в твоём случае)
end;
...


RustiK   (2003-10-28 15:29:00) [5]

этот HotKey будет ловиться глобально, а срабатывать только в своей форме
а мне нужно что бы срабатывало в том приложении в котором я на данный момент работаю


Narayan   (2003-10-28 15:18:00) [6]


procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle, 131, 0, VK_SCROLL);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Form1.Handle, 131);
end;

131 - эт любое твоё (идентификатор)
VK_SCROLL - это скроллок (бывают и другие ;-) )


Наверх

Титульная страница Поиск, карта сайта Написать письмо