![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перехват нажатия клавиш из другого приложения [D6, WinXP]
liho26 © (2002-09-24 06:49:00)Как перехватить нажатие определенного сочетания клавиш (например Ctrl+R) из другого приложения и передать результат своей программе?
Конкретный пример:выделить слово в Word, нажать Ctrl+C это слово должна поймать моя программа.
-----------------------
С уважением ко всем
Koster (2002-09-25 05:19:00) [1]RegisterHotKey
type
TForm1 = class(TForm)
.......
private
{ Private declarations }
procedure WMHOTKEY(var Msg: TMessage); message WM_HOTKEY;
.......
end;
.........
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Handle, Byte("C"), MOD_CONTROL , Byte("C"));
...
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
....
UnregisterHotKey(Handle, Byte("C"));
end;
procedure TForm1.WMHOTKEY(var Msg: TMessage);
begin
if (Msg.WParam = Byte("C")) then begin
//...... реакция на Ctrl С
end;
end;
VladTen (2002-09-24 10:04:00) [2]Посмотри в рассылке от "14 июля 2002 г.". Там есть как раз полный пример как перехватить CTRL+R.
liho26 (2002-09-24 09:06:00) [3]Во, то, что надо! Спасибо за данное направление. Бубду копать сюда.. ))
MBo (2002-09-24 09:01:00) [4]Для указанного конкретного примера не нужно перехватывать клавиши, а нужно следить за ClipBoard путем SetClipboardViewer и далее по WinSDK Help. Прекрасный пример есть в Тейксейре-Пачеко
Song (2002-09-24 08:58:00) [5]SetWindowsHookEx()
liho26 (2002-09-24 07:28:00) [6]Неужели ни кто не работал?