Форум: "WinAPI";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];
ВнизКак послать в сообщении соченание клавиш? Найти похожие ветки
← →
Alexandr__ (2002-05-03 07:02) [0]Как послать в сообщении соченание клавиш? Например, CTRL + V
← →
Song (2002-05-03 10:31) [1]Сначала посылаете Crtl, потом V, через WM_KEYDOWN
← →
Alexandr__ (2002-05-03 12:49) [2]А не получается так! он их понимает как отдельные клавиши!
← →
Song (2002-05-03 14:13) [3]Напишите как посылаете
← →
Alexandr__ (2002-05-03 14:58) [4]PostMessage(Edit1.Handle,WM_KEYDOWN,VK_CONTROL,0);
PostMessage(Edit1.Handle,WM_KEYDOWN,86,0);
← →
Набережных С. (2002-05-03 15:55) [5]Попробуй как-то так:
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);
← →
Song (2002-05-03 16:31) [6]Попробуйте Edit1.Perform()
← →
Alexandr__ (2002-05-06 06:50) [7]Edit1.Perform мне не подходить т.к. я посылаю сообщение в чужое приложение.
← →
JaMin (2002-05-06 17:22) [8]Посмотри keybd_event c флагом KEYEVENTF_KEYUP. А вообще где-то на этом сайте есть целый модуль.
← →
JaMin (2002-05-06 17:28) [9]http://www.sources.ru/delphi/delphi_send_keystrokes.shtml
← →
posin (2002-05-07 04:46) [10]Приведу пример распознавания сочетания двух или ... кнопок, а из него уж делай выводы :)
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}
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c