Показать сообщение отдельно
Старый 06.01.2015, 19:31   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Цитата:
Сообщение от cosmo Посмотреть сообщение
как сэмулировать нажатие так, чтобы работало везде?
Никак. Разные приложения могут работать с разными областями памяти и вы никак не угадаете, по какому именно адресу пишутся необходимые вам для эмуляции данные в каждом приложении.
Можно перехватывать прерывания Int 16h (INT 16h выбирает данные из буфера и передает их прикладной программе) и использовать специальные функции для работы с буфером клавиатуры (прерывание Int 21h). Вот ссылки по теме: http://www.frolov-lib.ru/books/bsp/v33/ch2_4.htm http://www.tdoc.ru/c/programming/ass...ard-page2.html Почитайте, там есть примеры на ассемблере.
Цитата:
чтение буфера клавиатуры по адресам
0040:001Ah указатель на логическое начало буфера
0040:001Ch указатель на логический конец буфера
0040:001Eh память для хранения ASCII/скан-кодов начало
0040:003Eh конец буфера
0040:0080h указатель на физическое начало буфера
0040:0082h указатель на физический конец буфера
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070