Нижегородский Форум Друзей

Нижегородский Форум Друзей (http://forum.nnov.org/)
-   Языки и программирование (http://forum.nnov.org/obsuzhdaem-i-kachaem/soft/yazyki-i-programmirovanie/)
-   -   Работа с клавиатурой на С++ (или ассемблер). (http://forum.nnov.org/obsuzhdaem-i-kachaem/soft/yazyki-i-programmirovanie/13755-rabota-s-klaviaturoi-na-s-ili-assembler.html)

Tretyak 10.10.2007 15:01

Работа с клавиатурой на С++ (или ассемблер).
 
Нужно сделать прогу для мониторинга состояния клавиатуры. Должны отражаться (в цивилизованном виде): буфер клавы, состояния обработчиков прерываний bios, ну и действия при нажатиях на кнопки. Теперь вопросы:
1). Можно ли здесь обойтись только С++ или придется-таки лезть в ассемблер?
2). Под какую ОС это получится сделать?
3). На чем это можно написать:)? В голову приходит только BC++ 3.11 под ДОС (это как возможный ответ на второй вопрос :)), т.к. MSVS2005 врядли подойдет.
4). Есть у кого-нибудь, где-нибудь, что-нибудь похожее?

Пока все. Надеюсь с веткой не промазал снова.

angel-of-night 10.10.2007 18:57

Вирус пишешь? :blink:

Tretyak 10.10.2007 21:12

Хаха, да вирус блин, с пользовательским интерфейсом:). Нет конечно.

Applez 22.10.2007 00:28

писали лабы на ассемблере с интеграцией в си++(MVS 6.0),правда в консольке и работали с мышью,с клавой все тоже самое...можно сделать и без асма,но с ним все намного проще...тем более что на нем (асме), кода 10 строк получается...к сожалению лабы не осталось,могу поделиться только отсканеной лекцией...по итеграции...:(

Tretyak 22.10.2007 00:33

Во, давай лекцию хотя бы. Только ведь это не под Дос получается раз MVS 6.0? И бредовый вопрос: можно вместо С++ юзать С#?

Applez 22.10.2007 00:45

Ну начнем с того, что консолька она и в африке консолька...си++ и си# синтаксис может отличаться,но если будет проще и можно,возьми Borland C++ 3.1 и напши там,разницы я не вижу...лекцию завтра отсканю и как вернусь выложу...сейчас если тока фотать...

Tretyak 22.10.2007 00:53

Подожду скана:). Вот как раз я и не хочу юзать 3.1. А как, делая прогу в ВС2005, можно отразить буфер клавы, состояния обработчиков прерываний bios???

Applez 22.10.2007 01:04

если писать в консольке,то все так-же, как и в с++ 3.1,все значения ты получаешь из асма,кладешь их в переменные с++ и уже потом обрабатываешь...тока там придется с 16-ти ричными числами работать...

Tretyak 22.10.2007 21:48

Ждем-ждем;).

Applez 23.10.2007 00:35

Отсканить не получилось...вот сфотал,вроде даже нормально получилось...
[Для просмотра данной ссылки нужно зарегистрироваться]

Tretyak 23.10.2007 02:03

Занятно довольно. Т.е. смотри. С БЦ3.1 понятно, а с МС? Создаю там Вин32Консоль..., и точно так же?

Applez 23.10.2007 02:07

да...синтаксис тот-же...просто втыкаешь асмовские блоки,получаешь значения, а обрабатываешь на с++...
кстати, чего такое БЦЗ,а то я чго-то торможу...

Tretyak 23.10.2007 04:09

БЦ3.1 - Borland C++ 3.1.

А как реализовать типа такого:

asm
{
mov ah,9
mov dx, offset mess; где mess: mess db 'Hello, World','$'
int 21h
};

Т.е. я из С++ хочу вывести на ассме великую фразу, как это правильно написать?

Applez 23.10.2007 12:52

Нашел нормальный пример использования мыши...нуна???тока все равно придется найти,где отсканить...:wallbash:

Tretyak 23.10.2007 18:05

Нуна, а как насчет предыдущего вопроса?

Applez 24.10.2007 00:38

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

Tretyak 24.10.2007 00:42

Да это понятно. Спасибо за помощь.

Applez 26.10.2007 02:40

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

Добавлено через 12 минут 24 секунды
См. в личку...

Добавлено через 37 минут 52 секунды
Вот чего-то набросал...работать не будет скажи где ругается,проверить не могу...
[Для просмотра данной ссылки нужно зарегистрироваться]

Добавлено через 49 часов 4 минуты 5 секунд
Вот пример, извини,что так долго...
[Для просмотра данной ссылки нужно зарегистрироваться]


Часовой пояс GMT +3, время: 13:58.

Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
Search Engine Friendly URLs by vBSEO 3.6.0zCarot
© 2005—2015 ООО «Интернет компания ННОВ.РУ», friends.nnov.ru
Реклама на форуме