Показать сообщение отдельно
  #2  
Старый 21.02.2013, 11:39
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от AD0
...так клавиша не нажимается, уже как только не перепробывал...
А вот это нажимает
(keybd_event) сразу две клавиши:
Код:
procedure CtrlV;
 begin
 keybd_event(VK_CONTROL, 0, KEYEVENTF_EXTENDEDKEY, 0);
 keybd_event(86, 0, KEYEVENTF_EXTENDEDKEY, 0);
 keybd_event(VK_CONTROL, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
 keybd_event(86, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
 end;
(SendInput) Если vs true, то шлёт буквы-цифры-знаки, если false, то системные символы:
Код:
procedure psl(ds: word; vs: boolean);
var
b: array [0..1] of TInput;
begin
 FillChar(b, SizeOf(b), 0);
 b[0].Itype:= INPUT_KEYBOARD;
 b[1].Itype:= INPUT_KEYBOARD;
 if vs then
 begin
 b[0].ki.wScan:= ds;
 b[0].ki.dwFlags:= 4;
 b[1].ki.wScan:= ds;
 b[1].ki.dwFlags:= 4 or 2;
 end else
 begin
 b[0].ki.wVk:= ds;
 b[1].ki.wVk:= ds;
 b[1].ki.dwFlags:= 2;
 end;
 SendInput(Length(b), b[0], SizeOf(TInput));
end;
Ответить с цитированием