Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
1-86352
Developerr
2003-12-12 12:50
2003.12.26
Закрытие всех запущенных программ.


1-86380
Lexxxx
2003-12-15 10:08
2003.12.26
Кол-во дней в месяце


3-86246
Spaniel
2003-12-03 23:57
2003.12.26
Возня с SQL


3-86266
volser
2003-11-29 13:33
2003.12.26
SQL InterBase?


14-86530
cyborg
2003-12-03 21:56
2003.12.26
IDE к FreePascal




   Наверх