![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Lingvo аналог...
Vasily Terekhov © (2002-12-17 09:19:00)1.Хочу аналогично лингво по горячей клавише поместить выделенный текст активного приложения в буфер (лучше просто получить этот текст не использую буфер, если возможно)
2.У меня есть текст, который я хочу вставить вместо выделенного текста активного приложения по горячей клавише.
p.s. горячию клавишу через хук я отслежу без проблем. вопрос непосредственно в получении выделенного текста и вставки вместо него своего текста в стороннем предложении.
Vasily Terekhov (2002-12-17 14:01:00) [1]угу
работае
толко не удается таким монером получить текст у редакторов (например у дельфовского редактора)...
Song (2002-12-17 12:43:00) [2]Применяйте AttachThreadInput() чтобы сделать чужое приложение "как бы своим".
Vasily Terekhov (2002-12-17 11:34:00) [3]угу
я так и пробовал
но GetFocus работает только в пределах приложения, вызвалшего это функцию. а мне надо получать и устонавливать текст у активного приложения. не обязательно в данный момент будет активно мое приложение!!!
Slym (2002-12-17 11:06:00) [4]1. Ставишь приложению горячие клавиши
RegisterHotKey(Self.Handle,1,MOD_ALT,{Виртуальный код клавиши});
2. Пишешь обработчик на событие WM_HOTKEY
procedure WMHotkey(var msg:TMessage);message WM_HOTKEY;
в котором:
var s:PChar
...
hwnd:=GetFocus();
GetMem(s,256);
GetWindowText(hwnd,s,255);
//обработка строки S
SetWindowText(hwnd,s)
FreeMem(s,256);
3. На закрытии UnregisterHotKey(Self.Handle,1);