Вниз
Скачать: 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.011 c
3-86321
Russko
2003-12-01 13:41
2003.12.26
Table is busy


1-86444
Вадим
2003-12-13 09:57
2003.12.26
Получить выделенный текст в текстовом поле чужого окна


3-86297
Vick
2003-12-01 18:53
2003.12.26
Файловые операции в MSSQL


14-86542
Shirson
2003-12-04 17:03
2003.12.26
Строчка из хелпа - 10 баллов! :)


14-86525
SergP
2003-12-01 22:46
2003.12.26
Помогите написать Select




   Наверх