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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2012, 18:44   #1
Miha85193
Delphi, OpenGL API
Форумчанин
 
Аватар для Miha85193
 
Регистрация: 29.03.2010
Сообщений: 152
По умолчанию Имитация нажатия клавиш

Хочу написать программу, которая динамически нажимала бы клавиши. Просмотрел все справочники у себя, но методов с помощью которых можно было бы осуществить подобное найти не удалось. Существует ли метод, с помощью которого можно программно нажимать клавиши?
Miha85193 вне форума Ответить с цитированием
Старый 14.05.2012, 18:55   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

keybd_event попробуйте.
Arigato вне форума Ответить с цитированием
Старый 14.05.2012, 18:55   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Послать нужному окну нужное сообщение.
s-andriano вне форума Ответить с цитированием
Старый 14.05.2012, 19:11   #4
Miha85193
Delphi, OpenGL API
Форумчанин
 
Аватар для Miha85193
 
Регистрация: 29.03.2010
Сообщений: 152
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
keybd_event попробуйте.
А в каком модуле искать?
Miha85193 вне форума Ответить с цитированием
Старый 14.05.2012, 19:52   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Юнит Windows.
Arigato вне форума Ответить с цитированием
Старый 14.05.2012, 20:28   #6
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию

Код:
procedure EmulateKey(Wnd: HWND; VKey: Integer);
asm
//   push 0
//   push edx
//   push 0101H //WM_KEYUP
//   push eax
   push 0
   push edx
   push 0100H //WM_KEYDOWN
   push eax
//   call PostMessage
   call PostMessage
end;
- Отлично эмулирует)
JekaDefer вне форума Ответить с цитированием
Старый 14.05.2012, 20:56   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
JekaDefer
Стесняюсь спросить, почему именно ассемблером?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2012, 20:59   #8
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию

да чесн хз.. прост валялась такая вот в одном из моих древних проектов) но со своей задачей справлялась и я не думал даж о том что она на ассемблере)
JekaDefer вне форума Ответить с цитированием
Старый 14.05.2012, 23:17   #9
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от JekaDefer Посмотреть сообщение
Отлично эмулирует)
Что-то я сомневаюсь, что это будет работать везде.
s-andriano вне форума Ответить с цитированием
Старый 15.05.2012, 21:58   #10
Miha85193
Delphi, OpenGL API
Форумчанин
 
Аватар для Miha85193
 
Регистрация: 29.03.2010
Сообщений: 152
По умолчанию

Написал следующее
Код:
    keybd_event(Key, 0, 0, 0);
    keybd_event(Key, 0, KEYEVENTF_KEYUP, 0);
Но, есть один недостаток, код не эмулирует нажатия в играх. Кто знает, как сделать, чтобы работало?

Последний раз редактировалось Miha85193; 15.05.2012 в 22:08.
Miha85193 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поочередная имитация нажатия клавиш usb72 Общие вопросы Delphi 4 16.08.2011 01:44
Имитация нажатия комбинации клавиш! stalsoft C# (си шарп) 2 24.06.2011 00:13
имитация нажатия клавиш RAVAL(c) HTML и CSS 10 07.02.2011 12:29
Имитация нажатия клавиш в играх. simtiko Общие вопросы Delphi 2 01.06.2010 15:02
Имитация нажатия клавиш Air Свободное общение 28 04.02.2010 12:38