Смекни!
smekni.com

Федеральное государственное образовательное учреждение Высшего профессионального образования «Южный федеральный университет» Авакян Леон Александрович «использование win api функций в среде делфи» (уч (стр. 1 из 6)

федеральное государственное образовательное

учреждение Высшего профессионального образования

«Южный федеральный университет»

Авакян Леон Александрович

«ИСПОЛЬЗОВАНИЕ WIN API ФУНКЦИЙ В СРЕДЕ ДЕЛФИ»

(учебно-методическое пособие)

Ростов-на-Дону

2008

Авакян Л.А.

Использование Win API функций в среде Делфи: Учебно-методическое пособие. - Ростов-на-Дону, 2008. - 45 с.

Учебно-методическое пособие «Использование Win API функций в среде Делфи» к курсам лекций по программированию и вычислительным методам для студентов физического факультета ЮФУ ставит своей задачей оказать помощь студентам в понимании и освоении приемов программирования в Windows. В пособии даны общие понятия о строении операционной системы Windows, описаны способы создания окон и элементов управления, а также способы управления сторонними приложениями.

Содержание

Содержание 3

Введение 4

Модуль 1. Архитектура Windows 5

1.1. Что такое Win API?_ 5

1.2. Оконный дескриптор, сообщение и событие 8

1.3. Функция MessageBox_ 10

Проектное задание 12

Тест рубежного контроля №1_ 12

Модуль 2. Создание элементов управления_ 14

2.1. Создание окна средствами WinAPI 14

2.2. Создание кнопок (button) средствами WinAPI 19

2.3. Создание однострокового редактора (Edit) средствами WinAPI 21

2.3. Создание многострокового редактора (Memo) средствами WinAPI 23

2.4. Меню на WinAPI 24

2.5. Стандартные диалоговые окна_ 27

Проектное задание 28

Тест рубежного контроля №2_ 29

Модуль 3. Управление сторонними приложениями_ 31

3.1. Утилита слежения за окнами и сообщениями WinSight32_ 31

3.2. Приемы управления сторонними приложениями_ 35

Проектное задание 43

Тест рубежного контроля №3_ 44

Список литературы_ 45


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

Пособие адресовано студентам для самостоятельного и более углубленного изучения приемов программирования под операционной системой Windows во время и после прослушивания курсов лекций по программированию. Его основная цель состоит в оказании помощи в понимании и освоении Win API функций операционной системы.

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

Введение

Настоящее учебно-методическое пособие посвящено API (application programming interfaces) функциям операционной системы Microsoft Windows, вызов которых мало отличается в различных языках программирования. Все примеры, приведенные в пособии, написаны на языке Object Pascal (среда программирования Delphi), как на наиболее распространенном языке обучения на департаменте физики ЮФУ.

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

Предполагается, что читатель знаком со средой Delphi, знает синтаксис и умеет работать с указателями. Хотя примеры и написаны исключительно на Object Pascal, материал может представлять интерес и для программистов других языков.

Модуль 1. Архитектура Windows

Комплексная цель: получение общих знаний о работе операционной системы Windows, понятие о дескрипторах и сообщениях.

Краткое изложение программного материала: в модуле даны понятия об

· API функциях операционной системы

· Дескрипторах и сообщениях Windows

Рассмотрена функция API MessageBox, как наиболее полезная и простая в применении функция.

1.1. Что такое Win API?

В настоящее время очень широкую распространенность получили операционные системы семейства Windows NT/20000/XP. Они широко используются не только как домашние системы, но и в качестве серверов.

Как известно, OC Windows NT целиком построена на системе DLL (динамически загружаемых библиотек). Система предоставляет приложениям сервисные API функции, с помощью которых оно может взаимодействовать с системой.

API функции представляют из себя ничто иное как функции в системных DLL.

Основной язык для приводимых фрагментов кода - Delphi, но материал актуален и для любого другого языка (С, С++, Ассемблер и.т.д.).

Функции и процедуры Windows API, или, сокращенно, WinAPI-функции, являются набором программных интерфейсов приложений (application programming interfaces - APIs), доступных в операционных системах Microsoft Windows. Все Windows-приложения взаимодействуют с WinAPI вне зависимости от того, на каком языке они написаны.

Доступ более низкого уровня к системе Windows, часто применяющийся в драйверах устройств, предоставляется Windows Driver Foundation или Native API, которые отличаются в разных версиях операционной системы.

Имеется детальное описание WinAPI функций, выпускаемое Microsoft под названием software development kit (SDK), которое также включает в себя некоторые инструменты разработки приложений и примеры программного кода.

Все Windows API функции располагаются в файлах динамических библиотек (*.dll), которые находятся в системных папках ОС (как правило, папка System32).

Функциональность, предоставляемая WinAPI, может быть разбита на 8 категорий:

1. Основные сервисы (Base Services) предоставляют доступ к основным ресурсам системы Windows, таким, как файловые системы, устройства, процессы и потоки, обработка ошибок. Эти функции располагаются в файлах kernel32.dll, advapi32.dll.

2. Дополнительные сервисы (Advanced Services) предоставляют доступ к надстройкам над kernel-библиотеками, включая такие элементы, как реестр Windows, перезагрузка и завершение работы системы, запуск/создание/остановка сервисов Windows, управление учетными записями пользователей. Эти функции располагаются в advapi32.dll.

3. Интерфейс взаимодействия с графическими устройствами (Graphics Device Interface, или, сокращенно, GDI) предоставляет набор функциональных возможностей вывода графического содержимого на мониторы, принтеры и другие устройства вывода. Функции располагаются в файле gdi32.exe.

4. Пользовательский интерфейс (User Interface, UI) предоставляет набор функций создания и управления окнами и наиболее простых элементов управления, таких, как кнопки и полосы прокрутки; получение данных с мыши и клавиатуры и прочие функции, связанные с графическим интерфейсом пользователя (GUI). Этот модуль расположен в файле user32.dll, однако, начиная с Windows XP, эти функции объединены с библиотекой стандартных элементов управления (Common Control Library) и располагаются в файле comctl32.dll.

5. Стандартная библиотека диалогов (Common Dialog Box Library) предоставляет стандартные диалоговые окна для открытия и сохранения файлов, выбора цвета, шрифта и т.д. Библиотека располагается в файле comdlg32.dll. Эту категорию часто объединяют с пользовательским интерфейсом.

6. Стандартная библиотека элементов управления (Common Control Library) позволяет приложениям использовать дополнительные элементы управления операционной системы Windows, включая такие элементы, как панели статуса, панели состояния, панели инструментов и вкладки. Библиотека располагается в файле comctl32.dll. Эту категорию также часто объединяют с пользовательским интерфейсом.

7. Оболочка Windows (Windows Shell) является компонентом WinAPI, который предоставляет доступ к функциям системной оболочки, также позволяя изменять и улучшать их. Компонент располагается в файлах shell32.api, shlwapi.dll.

8. Сетевые сервисы (Network Services) предоставляют доступ к различным сетевым возможностям операционной системы. Их подкомпоненты включают NetBIOS, Winsock, NetDDE, RPC и многие другие.

В методическом пособии будут рассмотрены функции пользовательского интерфейса и графической библиотеки GDI как наиболее простые и часто употребляемые. Применение этих функций не требует глубокого понимания архитектуры операционной системы, однако результат применения этих функций очень часто позволяет упростить командный код и добиться результатов, недостижимых с помощью стандартных методов среды разработки.

1.2. Оконный дескриптор, сообщение и событие

Объект в Windows является некоторой сложной структурой, которая представляет системный ресурс, такой как файл, поток, графическое изображение. Приложение не может обращаться напрямую к внутренней структуре объекта или системным ресурсам, которые он представляет. Вместо этого, приложение должно получить специальный дескриптор (handle) объекта и использовать этот дескриптор для работы с системным ресурсом. В Microsoft® Win32® программном интерфейсе приложений (WinAPI) дескрипторы применяются как непрямые указатели.