Выпуск № 1228 от 16.06.2009, 13:35
Администратор рассылки: Лысков Игорь Витальевич, Младший модератор
В рассылке: подписчиков - 425, экспертов - 60
В номере: вопросов - 1, ответов - 2
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
Вопрос № 169292: Здравствуйте, товарищи Вопрос простой и вот какой: как осуществляется ввод с клавиатуры, или вывод на экран в Windows - прерываниями, как в DOS, или для Windows как-то по-другому? Извините, если вопрос не корректный...
Вопрос № 169292:
Здравствуйте, товарищи
Вопрос простой и вот какой: как осуществляется ввод с клавиатуры, или вывод на экран в Windows - прерываниями, как в DOS, или для Windows как-то по-другому? Извините, если вопрос не корректный.
Отвечает Лысков Игорь Витальевич, Младший модератор :
Здравствуйте, Vasiliusis. А это смотря какую программу писать. Основной тип программ в Windows (будем говорить о 32-битных версиях) - 32-битные программы формата PE. В системе взаимодействие с клавиатурой и экраном осуществляется в системных драйверах. А вот передача и получение информации программам (а их множество) осуществляется посредством механизма сообщений.
Но Windows может запустить не только программы в родном формате. Система может запустить как программу, предназначенную для
ДОС-а (формата EXE (MZ) и COM, так и программы для 16-битных Windows (формата NE, LE). При этом для их работы создается специальная виртуальная машина, в которой эмулируется среда для этих программ. Сами эти программы, в частности досовские программы, вполне могут пользоваться всеми привычными прерываниями.
Украина, Кировоград ICQ # 234137952 Mail.ru-агент: igorlyskov@mail.ru
----- Удачи!
Ответ отправил: Лысков Игорь Витальевич, Младший модератор
Ответ отправлен: 11.06.2009, 14:11
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 250833
на номер 1151 (Россия) |
Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вместо прерываний (как в DOS) все функции ОС уровня пользователя реализуются через вызовы API (Windows API). При работе с консольным режимом в среде Си (Microsoft Visual Studio C++, Borland CBuilder) предусмотрены, так же как и для DOS, готовые функции printf, scanf, getch, puthch и т.д. Для Delphi точно также предусмотрены readln, writeln. Если консольная программа пишется на ассемблере под Windows, используются API вызовы, такие WriteConsole, ReadConsole (подробный справочник
на русском по консольным функциям http://vsokovikov.narod.ru/New_MSDN_API/Console/con_fn.htm). Для использования API-консольных функций необходимо подключить библиотеку kernel32. Кстати говоря, в языках высокого уровня использование только Windows API вызовов позволит значительно сократить размер исполняемого файла. С графическими приложениями всё несколько сложнее. Оконная API архитектура Windows построена на сообщениях. При нажатии клавиши, клике мышки, любом
другом событии отправляется сообщение (например, WM_KEYDOWN) оконному обработчику сообщений, где и классифицируется. Вывод информации в окно осуществляется также с помощью сообщений. Окну (окном является практически любой объект на экране, в том числе и поля для ввода текста) посылается сообщение WM_SETTEXT и передается текст. Также существует возможность прямого доступа к графической поверхности окна с помощью API GDI, которая позволяет «напрямую» рисовать в окно, в том числе текст. Высокоуровневые среды
Borland Delphi и CBuilder, Microsoft MFC значительно упрощают программирование оконных приложений Windows.
Ответ отправил: Дмитрий Бобровников, 2-й класс
Ответ отправлен: 11.06.2009, 14:25
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 250834
на номер 1151 (Россия) |
Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.