|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.10.2011, 16:47 | #1 |
Регистрация: 25.10.2011
Сообщений: 4
|
FASM передвинуть курсор мыши
Всем привет!
Препод дал не большое задание: написать программку на fasm, которая передвигает курсор мыши на нажатию на одну из клавиш-стрелок. Например, нажали клавишу "вверх", курсор мыши передвинулся вверх. По идее, всё просто: - в бесконечном цикле ожидаем нажатие клавиши. - определяем, какая из клавиш-стрелок была нажата. - суммируем/вычитаем текущие координаты курсора в соответствии с нажатой клавишей и переводим курсор на новую позицию. Просто в теории, в реализации чуть сложнее. - Подскажите, как определить, какая клавиша была нажата? - Если не ошибаюсь, для установки координат курсора используется функция setCursorPos, можно пример её использования? |
25.10.2011, 18:35 | #2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
банально, но факт, через хуки
|
25.10.2011, 19:16 | #3 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
Перехват нажатия клавиши.
На сколько я понимаю можно через int 16h, это сервис БИОС для работы с клавиатурой.
Спеши медленно.
|
25.10.2011, 20:44 | #4 |
Регистрация: 25.10.2011
Сообщений: 4
|
Я не силён в низкоуровневом программировании и ассемблере, потому и создал тему.
Не могли бы вы подробнее рассказать о перехватах нажатых клавиш? |
25.10.2011, 23:59 | #5 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
Код:
в al ascii код .
Спеши медленно.
|
26.10.2011, 10:19 | #6 |
Пользователь
Регистрация: 02.07.2011
Сообщений: 38
|
Asmar, в задании говорится, что нужно двигать курсор мыши, используя системный вызов SetCursorPos. Сл-но, программными bios-прерываниями здесь не обойтись. Т.к. это простая лаба, требуется, скорее всего, создать простое Window-приложение.
Программа, по заказу: 1. показывает, как обрабатывать сообщения 2. показывает, как работает в ассемблере SetCursorPos Код:
Правда, код для masm, т.к. fasm не знаю. Шаблон создания простого 32-разрядного Windows-приложение см. Пирогов. Assembler для Windows. Программа реагирует на нажатие клавиши W. Можно попробовать через скан-код. Хранится также в сообщение в lParam. Для 32-разрядных приложений лучше скачать Win32.hlp (описание системных вызовов на английском). Сайт тут небольшой нашёл, глянь туда http://www.vsokovikov.narod.ru/ (то же, только на русском). |
27.10.2011, 17:03 | #7 |
Регистрация: 25.10.2011
Сообщений: 4
|
Проблема с получением текущих координат курсора мыши - решена.
Привожу код: Код:
Последний раз редактировалось AlphaGh0St; 27.10.2011 в 17:16. |
27.10.2011, 18:49 | #8 |
Регистрация: 25.10.2011
Сообщений: 4
|
Ну вот и всё, задача решена.
Ниже привожу исходный код. Всем спасибо за помощь! Код:
Последний раз редактировалось AlphaGh0St; 27.10.2011 в 19:16. |
28.10.2011, 00:41 | #9 |
Пользователь
Регистрация: 02.07.2011
Сообщений: 38
|
GetCursorPos. Не подумал о нём.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Курсор мыши над формой | 8adim | Общие вопросы Delphi | 8 | 07.02.2011 09:43 |
Затормаживается курсор мыши в WIndows XP SP3 ENG Ogirinal | Altera | Windows | 2 | 28.10.2009 13:57 |
курсор мыши у чужого окна | STRELOK-2007 | Общие вопросы Delphi | 1 | 06.08.2009 23:17 |
Курсор мыши | gfksx | Общие вопросы C/C++ | 4 | 21.04.2009 13:36 |
Почему не обновляется курсор мыши? | HunterMan | Win Api | 2 | 06.06.2008 01:39 |