Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.26;
Скачать: CL | DM;

Вниз

Hotkey во всех прогах   Найти похожие ветки 

 
RustiK ©   (2003-10-28 14:14) [0]

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


 
Narayan ©   (2003-10-28 15:18) [1]


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 - это скроллок (бывают и другие ;-) )


 
RustiK ©   (2003-10-28 15:29) [2]

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


 
Narayan ©   (2003-10-28 16:13) [3]


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


 
RustiK ©   (2003-10-29 09:43) [4]

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


 
RustiK ©   (2003-10-30 08:56) [5]

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


 
RustiK ©   (2003-10-31 10:44) [6]

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



Страницы: 1 вся ветка

Текущий архив: 2003.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-86262
bss
2003-12-03 15:12
2003.12.26
Редактирование данных в таблице Access через ADOQuery


7-86564
Ал
2003-10-22 10:14
2003.12.26
Как узнать, что запущен скринсэйвер и корректно завершить его?


14-86488
alexsys
2003-12-04 20:05
2003.12.26
Собаководство


4-86590
SGU
2003-10-29 13:42
2003.12.26
символ CTRL+BREAK в сом порт


6-86480
Ascan
2003-10-29 16:15
2003.12.26
WebBrowser съедает память