Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Сегодня :

День славянской письменности и культуры


помогите сэмулировать нажатия клавишь в другой программе


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
igoriast
Гость







СообщениеПн, 14-Ноя-2005 21:57    Заголовок сообщения: помогите сэмулировать нажатия клавишь в другой программе
Цитата

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


Возраст: 27
Знак зодиака: Близнецы
Зарегистрирован: 14.09.2005
Сообщения: 369
Откуда: г Иркутск
СообщениеСр, 16-Ноя-2005 19:00 
Цитата

Если тебе надо послать клавиши скачай 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;

_________________
Что не убьет нас сделает сильнее...
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеЧт, 17-Ноя-2005 1:42 
Цитата

Цитата:
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
Откуда: г Иркутск
СообщениеЧт, 17-Ноя-2005 10:05 
Цитата

2 dogma

//Не вижу функцию SendMessage.


Этот код регистрирует в системе сочетания клавишь (пока запущена программа) при нажатии клавиш ctr+V (MOD_CONTROL+86)

//Думаю для начала надо создать описатель окна, в котором находится контрол

хммммммммм.. (дико возмущаясь)


C уважением ESENTUKI

_________________
Что не убьет нас сделает сильнее...
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеПт, 18-Ноя-2005 4:58 
Цитата

Цитата:
Этот код регистрирует в системе сочетания клавишь

Это верно.

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Essentuki
Энтузиаст


Возраст: 27
Знак зодиака: Близнецы
Зарегистрирован: 14.09.2005
Сообщения: 369
Откуда: г Иркутск
СообщениеПт, 18-Ноя-2005 19:24 
Цитата

2 dogma

Так я это вроде и впервый раз написал...

_________________
Что не убьет нас сделает сильнее...
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеПн, 21-Ноя-2005 2:13 
Цитата

Цитата:
Так я это вроде и впервый раз написал...

Согласен.

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100