Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Программированиеи компьютеры /

Программа демонстрирующая иерархию окон Windows

←предыдущая  следующая→
1 2 3 4 



Скачать реферат


Министерство образования РФ

ИНСТИТУТ ПЕРЕПОДГОТОВКИ КАДРОВ

Уральского государственного технического университета

Кафедра микропроцессорной техники

Оценка проекта

Члены комиссии

Программа демонстрирующая иерархию окон Windows

Курсовая работа

руководитель: Кулюкин В.П.

слушатель гр.СП-923:

2001г.

Содержание:

Введение

1. Окон¬ные приложения Windows.

2. Каркасное Windows-приложение на ассемблере

3. Иерархия окон

4. «Программа демонстрирующая иерархию окон Windows»

5.Библиографический список

Введение

В подавляющем большинстве книг о программировании для Windows изложение, как правило, ведется на базе языка C/C++, реже — на базе Pascal. А что же ас¬семблер — в стороне? Конечно, нет! Мы не раз обращали ваше внимание на пра¬вильное понимание места ассемблера в архитектуре компьютера. Любая програм¬ма на языке самого высокого уровня в своем внутреннем виде представляет собой последовательность машинных кодов. А раз так, то всегда остается теоретическая возможность написать ту же программу, но уже на языке ассемблера: Непонима¬ние или недооценка такой возможности приводит к тому, что достаточно часто приходится слышать фразу, подобную следующей: «Ах, опять этот ассемблер, но ведь это что-то несерьезное!» Также трудно согласиться с тезисом, который чаще всего следует вслед за этой фразой. Суть его сводится к утверждению того, что мощность современных компьютеров позволяет не рассматривать проблему эф¬фективности функционирования программы в качестве первоочередной. Гораздо легче решить ее за счет увеличения объема памяти, быстродействия центрально¬го процессора и качества компьютерной периферии. Чем обосновать необходимость разработки Windows-приложений на языке ассем¬блера? Приведем следующие аргументы:

 языке ассемблера позволяет программисту полностью контролировать создава¬емый им программный код и оптимизировать его по своему усмотрению;

 компиляторы языков высокого уровня помещают в загрузочный модуль про¬граммы избыточную информацию. Эквивалентные исполняемые модули, ис¬ходный текст которых написан на языке ассемблера, имеют в несколько раз меньший размер;

 при программировании на ассемблере сохраняется полный доступ к аппарат¬ным ресурсам компьютера;

 приложение, написанное на языке ассемблера, как правило, быстрее загружа¬ется в оперативную память компьютера;

 приложение, написанное на языке ассемблера, обладает, как правило, более высокой скоростью работы и реактивностью ответа на действия пользователя. Разумеется, эти аргументы не следует воспринимать, как некоторую рекламную кампанию в поддержку языка ассемблера. Но нельзя забывать и о том, что суще¬ствует бесконечное множество прикладных задач, ждущих своей очереди на ком¬пьютерную реализацию. Далеко не все из этих задач требуют применения тяже¬ловесных средств разработки, результатом работы которых являются столь же тяжеловесные исполняемые файлы. Многие прикладные задачи могут быть изящ¬но исполнены на языке ассемблера, не теряя привлекательности.

1. Окон¬ные приложения Windows.

Windows поддерживает два типа приложений:

 оконное приложение — строится на базе специального набора функций (API), составляющих графический интерфейс пользователя (GUI, Graphic User Inter¬face). Оконное приложение представляет собой программу, которая весь вы¬вод на экран производит в графическом виде. Первым результатом работы оконного приложения является отображение на экране специального объек¬та — окна. После того как окно отображено на экране, вся работа приложения направлена на то, чтобы поддерживать его в актуальном состоянии;

Основной тип приложений в Windows — окон¬ные, поэтому с них мы и начнем знакомство с процессом разработки программ для этой операционной системы.

Любое оконное Windows-приложение имеет типовую структуру, основу которой составляет так называемое каркасное приложение. Это приложение содержит ми¬нимально необходимый программный код для обеспечения функционирования полноценного Windows-приложения. Не случайно во всех источниках в качестве первого Windows-приложения рекомендуется изучать и исследовать работу не¬которого каркасного приложения, так как именно оно отражает основные особен¬ности взаимодействия программы с операционной системой Windows. Более того, написав и отладив один раз каркасное приложение, вы будете использовать его в необходимую терминологию и сможем больше внимания уделить логике работы Windows-приложения, а не деталям его реализации.

Минимальное приложение Windows состоит из трех частей:

 главной функции;

 цикла обработки сообщений;

 оконной функции.

Выполнение любого оконного Windows-приложения начинается с главной функ¬ции. Она содержит код, осуществляющий настройку (инициализацию) приложе¬ния в среде операционной системы Windows. Видимым для пользователя резуль¬татом работы главной функции является появление на экране графического объекта в виде окна. Последним действием кода главной функции является со¬здание цикла обработки сообщений. После его создания приложение становится пассивным и начинает взаимодействовать с внешним миром посредством специ¬альным образом оформленных данных — сообщений. Обработка поступающих приложению сообщений осуществляется специальной функцией, называемой оконной. Оконная функция уникальна тем, что может быть вызвана только из операционной системы, а не из приложения, которое ее содержит. Таким образом, Windows-приложение, как минимум, должно состоять из трех перечис¬ленных элементов.

Каркасное Windows-приложение на ассемблере содержит один сегмент данных .data и один сегмент кода . code. Сегмент стека в исходных текстах Windows-приложений непосредственно описывать не нужно. Windows выделяет для стега объем памяти, размер которого задан программистом в файле с расширением . def. Текст листинга 2 достаточно большой. Поэтому для обсуждения разобьем erо комментариями на характерные фрагменты, каждый из которых затем поясним необходимой степенью детализации.

2. Каркасное Windows-приложение на ассемблере

;Пример каркасного приложения для Win32

.386

locals ;разрешает применение локальных меток в программе

.model flat, STDCALL ;модель памяти flat Я

;STDCALL - передача параметров в стиле С (справа налево),

; вызываемая процедура чистит за собой стек Ш

include windowA.inc ;включаемый файл с описаниями базовых структур

;и констант Win32 т

;Объявление внешними используемых в данной программе функций Win32 (ASCII):

extrn GetModuleHandleA:PROC

extrn GetVersionExA:PROC В

extrn GetCommandLineA:PROC

extrn GetEnvironmentStringsA:PROC

extrn GetEnvironmentStringsA:PROC

extrn GetStartupInfoA:PROC

extrn LoadIconA:PROC

extrn

←предыдущая  следующая→
1 2 3 4 



Copyright © 2005—2007 «Mark5»