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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2008, 16:48   #1
4321
Заблокирован
Пользователь
 
Регистрация: 09.11.2007
Сообщений: 47
Восклицание симуляция нажатий клавиш

ребят такой вопрос возник как сделать экранную клаву кторая работала с окнами винды я умею делать которая печатает тупо текст в своей же форме а как сделать более глобально помогите пожалуйста искал на форуме ничего не нашол

Код:
SendMessage(Memo1.handle, wm_char, ord('ф'), 0);
печатает букву Ф
4321 вне форума Ответить с цитированием
Старый 21.10.2008, 19:14   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Вот вам процедура, Procedure SetKey(код клавиши которую хотите нажать); только она нажимает клавиши в любом активном окне:

Код:
Procedure SetKey(Key: Integer);
Begin
Keybd_Event(Key, 0, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0);
Keybd_Event(Key, 0, KEYEVENTF_EXTENDEDKEY,0);
Keybd_Event(Key, 0, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0);
End;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 22.10.2008, 09:13   #3
4321
Заблокирован
Пользователь
 
Регистрация: 09.11.2007
Сообщений: 47
По умолчанию

выводит вот такую ошибку

Код:
[Error] Unit1.pas(430): Undeclared identifier: 'Key'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
4321 вне форума Ответить с цитированием
Старый 22.10.2008, 09:34   #4
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

все гуд
Код:
Procedure SetKey(Key: Integer);
Begin
Keybd_Event(Key, 0, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0);
Keybd_Event(Key, 0, KEYEVENTF_EXTENDEDKEY,0);
Keybd_Event(Key, 0, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0);
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetKey(13);
end;
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 22.10.2008, 09:35   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
выводит вот такую ошибку
А вы эту процедурку поставьте самой первой, после
implementation
{$R *.dfm}
Зачем вы ее в самый хвост модуля сунули?
[Error] Unit1.pas(430): Undeclared identifier: 'Key'

Последний раз редактировалось mihali4; 22.10.2008 в 09:39.
mihali4 вне форума Ответить с цитированием
Старый 22.10.2008, 09:41   #6
4321
Заблокирован
Пользователь
 
Регистрация: 09.11.2007
Сообщений: 47
По умолчанию

SetKey(13); eto shift ili??? i ese rebiat kak ili gde dostat polnii spisok virt klavis toist na kazduiu bukvu i.t.d.
4321 вне форума Ответить с цитированием
Старый 22.10.2008, 09:45   #7
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

http://wdh.suncloud.ru/keycodes.htm
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 22.10.2008, 09:54   #8
4321
Заблокирован
Пользователь
 
Регистрация: 09.11.2007
Сообщений: 47
По умолчанию

rebiat ia vsio sdelal osibok net no ne pecataet mojet problema v tom sto ia kogda najomaiu aktivnim stanovitsia moio okno ili kak pomogote pojaluista
4321 вне форума Ответить с цитированием
Старый 22.10.2008, 14:01   #9
4321
Заблокирован
Пользователь
 
Регистрация: 09.11.2007
Сообщений: 47
По умолчанию

narod pliiiz pomogite ocen nujnoo
4321 вне форума Ответить с цитированием
Старый 22.10.2008, 16:15   #10
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Попробуйте проверить работоспособность так :

Код:
Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
SetKey(52);
SetKey(51);
SetKey(50);
SetKey(49);
End;
Только нажмите на какое-нибудь окно и поставьте в нём курсор, чтобы мог писаться текст.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Иммитация нажатий клавиш клавиатуры chandrasecar Win Api 5 11.10.2008 12:16
СЧЁТЧИК НАЖАТИЙ НА КНОПКУ Saydan Microsoft Office Access 8 24.06.2008 21:39
отслеживание нажатий клавиш Артэс Win Api 6 14.06.2008 20:02
Borland C, перхват нажатий стрелок Arion Помощь студентам 3 30.04.2008 12:33
как после определенного просчета, при нажатий флажка, результат записался там навечно Илюха1 Microsoft Office Excel 3 07.11.2007 20:01