| Автор
| Сообщение |
|
|
|
Цитата |
|
| нужно сьэмулировать нажатие клавишь ctrl+v и интер , только активна другая программа , и курсор уже стоит где надо , как нибудь попроще , заранее благодарен |
|
| В начало |
|
 |
|
|
 |
 Essentuki
Энтузиаст

Возраст: 27
Знак зодиака: 
Зарегистрирован: 14.09.2005
Сообщения: 369
Откуда: г Иркутск
|
|
|
Цитата |
|
Если тебе надо послать клавиши скачай SENDKEY.pas (он все что угодно [куда угодно и кого угодно] посылает)
А если тебе надо например забить сочетания клавишь (в т.ч. системные Ctr+V т.е при нажатии делать свое действ то)
protected
procedure hotykey(var msg:TMessage); message WM_HOTKEY;
end;
var
id:Integer;
...
procedure TForm1.hotykey(var msg:TMessage);
begin
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=86) then ShowMessage('Ctrl + V нажаты!');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
id:=GlobalAddAtom('hotkey');
RegisterHotKey(handle,id,mod_control,86);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id);
end; _________________ Что не убьет нас сделает сильнее... |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
| Цитата: | protected
procedure hotykey(var msg:TMessage); message WM_HOTKEY;
end;
var
id:Integer;
...
procedure TForm1.hotykey(var msg:TMessage);
begin
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=86) then ShowMessage('Ctrl + V нажаты!');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
id:=GlobalAddAtom('hotkey');
RegisterHotKey(handle,id,mod_control,86);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id);
end; |
Не вижу функцию SendMessage.
Думаю для начала надо создать описатель окна, в котором находится контрол в котором надо нажать Ctrl+V и Enter.
А потом используя описатель окна создать описатель контрола, и используя его послать сообщение элементу управления при помощи функции SendMessage. Подобные примеры уже есть на форуме. Для поиска их воспользуйтесь функцией форума "Поиск" (см. вверху страницы). _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 Essentuki
Энтузиаст

Возраст: 27
Знак зодиака: 
Зарегистрирован: 14.09.2005
Сообщения: 369
Откуда: г Иркутск
|
|
|
Цитата |
|
2 dogma
//Не вижу функцию SendMessage.
Этот код регистрирует в системе сочетания клавишь (пока запущена программа) при нажатии клавиш ctr+V (MOD_CONTROL+86)
//Думаю для начала надо создать описатель окна, в котором находится контрол
хммммммммм.. (дико возмущаясь)
C уважением ESENTUKI _________________ Что не убьет нас сделает сильнее... |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
| Цитата: | | Этот код регистрирует в системе сочетания клавишь |
Это верно. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 Essentuki
Энтузиаст

Возраст: 27
Знак зодиака: 
Зарегистрирован: 14.09.2005
Сообщения: 369
Откуда: г Иркутск
|
|
|
Цитата |
|
2 dogma
Так я это вроде и впервый раз написал... _________________ Что не убьет нас сделает сильнее... |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
| Цитата: | | Так я это вроде и впервый раз написал... |
Согласен. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
|