Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как послать в сообщении соченание клавиш? [D6, Win2k]


Alexandr__ ©   (2002-05-03 07:02:00) 

Как послать в сообщении соченание клавиш? Например, CTRL + V


posin   (2002-05-07 04:46:00) [1]

Приведу пример распознавания сочетания двух или ... кнопок, а из него уж делай выводы :)
if (GetAsyncKeyState(91)>0) and (GetAsyncKeyState(27)>0) then dosomething{Esc+Win keys pressed};
где вместо 2 данных функций могут выступать любые операции определения нажатой клавиши
например :
keyarray:array [0..255] of boolean;

procedure OnKeyDown(NumOfkey:byte);
begin
keyarray[NumOfKey]:=True;
end;
procedure OnKeyUp(NumOfkey:byte);
begin
keyarray[NumOfKey]:=false;
end;

if NumOfKey[91] and NumOfKey[27] then
dosomething{Esc + Win keys pressed}


JaMin   (2002-05-06 17:28:00) [2]

http://www.sources.ru/delphi/delphi_send_keystrokes.shtml


JaMin   (2002-05-06 17:22:00) [3]

Посмотри keybd_event c флагом KEYEVENTF_KEYUP. А вообще где-то на этом сайте есть целый модуль.


Alexandr__   (2002-05-06 06:50:00) [4]

Edit1.Perform мне не подходить т.к. я посылаю сообщение в чужое приложение.


Song   (2002-05-03 16:31:00) [5]

Попробуйте Edit1.Perform()


Набережных С.   (2002-05-03 15:55:00) [6]

Попробуй как-то так:

var
KS:TKeyboardState;

GetKeyboardState(KS);
KS[VK_CONTROL]:=KS[VK_CONTROL] or $80;
SetKeyboardState(KS);
SendMessage(Edit1.Handle,WM_KEYDOWN,86,0);
KS[VK_CONTROL]:=KS[VK_CONTROL] and $7F;
SetKeyboardState(KS);


Alexandr__   (2002-05-03 14:58:00) [7]

PostMessage(Edit1.Handle,WM_KEYDOWN,VK_CONTROL,0);
PostMessage(Edit1.Handle,WM_KEYDOWN,86,0);


Song   (2002-05-03 14:13:00) [8]

Напишите как посылаете


Alexandr__   (2002-05-03 12:49:00) [9]

А не получается так! он их понимает как отдельные клавиши!


Song   (2002-05-03 10:31:00) [10]

Сначала посылаете Crtl, потом V, через WM_KEYDOWN


Наверх

Титульная страница Поиск, карта сайта Написать письмо