Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2010, 14:26   #1
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию Нажатие клавиш..

Сделал код:
Код:
var
key,word:string;
i:integer;
begin
key:='DVKS-C7KK-4Q8E-PM7L';
sleep(2500);
for I := 1 to length(key) - 1 do begin
word:=copy(key,i,1);
keybd_event(ord(word), 0, 0, 0);
end;
Но он вводит не заданные буквы, а llllll почему?
KoBRaAndrey вне форума Ответить с цитированием
Старый 31.01.2010, 14:30   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

1) с чего вдруг length(key) - 1?
2) добавьте отпускание: "keybd_event(Ord(word), 0,KEYEVENTF_KEYUP,0);"
3) word:=copy(key,i,1); Зачем? Word:Char Waord:=Key[I];
4) http://www.programmersforum.ru/showthread.php?t=6074
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 31.01.2010, 15:30   #3
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

Код:
key:='DVKS-C7KK-4Q8E-PM7L';
word:=copy(key,1,1);
Выходит D
Код:
word2:=ord(word);
А вот тут почемуто 22192716


изменил код:

Код:
procedure PostKeyboardEvent(KeyKode,State : integer);
var
Temp : TInput;
begin
Temp.IType:=INPUT_KEYBOARD;
Temp.ki.time:=0;
Temp.ki.dwExtraInfo:=cardinal(nil);
Temp.ki.wVk:=KeyKode and $FF;
Temp.ki.wScan:=MapVirtualKey(KeyKode, 0) and $FF;
Temp.ki.dwFlags:=STATE;
SendInput(1,Temp,SizeOf(Temp));
end;

procedure TForm8.Button1Click(Sender: TObject);
var
key,word:string;
i:integer;
begin
key:='DVKS-C7KK-4Q8E-PM7L';
sleep(2500);
for I := 1 to length(key) do begin
word:=copy(key,i,1);
PostKeyboardEvent(ord(word),0);
end;
end;
Все равно вводит llllll а на русской раскладке ддддддд

Последний раз редактировалось KoBRaAndrey; 31.01.2010 в 16:46.
KoBRaAndrey вне форума Ответить с цитированием
Старый 31.01.2010, 18:56   #4
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

Все, разобрался.
KoBRaAndrey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одновременное нажатие клавиш DeDoK Общие вопросы Delphi 3 08.01.2010 16:59
Нажатие комбинации клавиш Sparky Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 09.12.2009 12:43
Нажатие клавиш bashkos JavaScript, Ajax 6 23.09.2008 19:01
Нажатие клавиш VanDerKeen Win Api 1 03.06.2007 21:13