Реализация функций контроля и управления
На базе Win32 API
Методические указания по выполнению
лабораторного практикума
Дисц. «Вычислительные машины, системы и сети”
Для специальности 210100 — Управление и информатика в технических системах,
3 курс д/о, 4 курс з/о,
Киров 2005
Печатается по решению редакционно-издательского совета
Вятского государственного университета
УДК 681.32
Составители: кандидат технических наук, доцент Л. А. Шабалин,
преподаватель Е. С. Фетисов
Рецензент: доктор технических наук, доцент А.В.Частиков,
кафедра РЭС
Авторская редакция
С Вятский государственный университет, 2005
Стр.
1 Лабораторная работа №1. файловая и дисковая система windows 4
1.1 Размещение файлов. Правила именования файлов. 4
1.2 Функции Win32 API получения информации о файлах и дисках. 5
1.3 Управляющие функции файловой системы.. 7
1.4 Вспомогательные функции. Связь всех видов функций. 8
1.5 Порядок выполнения лабораторной работы №1. 8
2 Лабораторная работа №2. Устройства ручного ввода.. 11
2.1 Назначение устройств ручного ввода и их виды.. 11
2.2 Функции Win32 API для клавиатуры и мыши. 12
2.3 Порядок выполнения лабораторной работы №2. 13
3 Лабораторная работа №3. Видеосистема.. 15
3.1 Основное функциональное назначение видеосистемы.. 15
3.2 Функции Win32 API для видеосистемы.. 16
3.3 Порядок выполнения лабораторной работы №3. 18
4 Лабораторная работа №4. ОРГАНИЗАЦИЯ СВЯЗИ С ПРИНТЕРОМ по параллельному интерфейсу.. 20
4.1 Назначение печатающих устройств. 20
4.2 Функции Win32 API для печатающих устройств. 22
4.3 Порядок выполнения лабораторной работы №4. 23
5 Лабораторная работа №5. ОРГАНИЗАЦИЯ СВЯЗИ по последовательному интерфейсу.. 26
5.1 Назначение обмена данными и способы обмена. 26
5.2 Функции Win32 API для обмена данными по RS-232С.. 28
5.3 Порядок выполнения лабораторной работы №5. 30
6 ЛАБОРАТОРНАЯ РАБОТА №6. ПОИСК И ВИЗУАЛИЗАЦИЯ НАЙДЕННЫХ СЛОВ В ТЕКСТОВЫХ ДОКУМЕНТАХ.. 32
7 ЛАБОРАТОРНАЯ РАБОТА №7. СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ WIN32 DLL-МОДУЛЕЙ В ПРИЛОЖЕНИЯХ.. 38
8 ЛАБОРАТОРНАЯ РАБОТА №8. ИСПОЛЬЗОВАНИЕ КОМПОНЕНТ ACTIVEX/OCX ДЛЯ ВЫВОДА ГРАФИЧЕСКОЙ ИНФОРМАЦИИ.. 45
ПРИЛОЖЕНИЕ.. 52
Литература.. 68
Лабораторная работа №1. файловая и дисковая система windows
Целью данной работы является изучение основных функций Win32 API работы с файловыми системами Windows.
Пример использования некоторых функций в пользовательских приложениях приведен в демонстрационной программе lab_api.exe. Для визуального просмотра результатов выполнения данных функций требуется запустить программу lab_api.exe и выбрать опцию меню «Информация о дисках» или «Работа с файлами». В справочной системе приведено полное описание некоторых используемых функций, включая синтаксис функции. Вызов справочной системы производится из программы lab_api.exe через опцию меню «Справочная система» либо запуском программы lab_help.exe.
Размещение файлов. Правила именования файлов
Одним из важнейших аспектов любой операционной системы является работа с файлами. В Windows 95/98/NT функции доступа к файлам и дискам значительно расширены по сравнению с MS-DOS за счет использования 32-разрядных чисел и поддержки сразу несколько файловых систем: FAT (file allocation table, таблица размещения файлов), NTFS (файловую систему NT) и CDFS (файловая система CD-ROM).
Основной файловой системой Windows 95/98 является FAT. FAT позволяет присваивать каталогам и файлам имена до 255 символов длиной. Эти имена хранятся на диске в кодировке Unicode, а это значит, что они не нарушаются при копировании в системы использующие другие языки. Еще одна особенность файловой системы FAT в том, что с каждым файлом в ней связаны 3 временные метки: время создания файла, время последнего к нему обращения и время последней модификации.
Windows NT поддерживает не только FAT, но и NTFS, которая совместима с FAT и имеет свои дополнительные особенности. NTFS позволяет восстанавливать данные после сбоя системы, работает с внешними носителями высокой емкости, различает регистр букв в именах файлов. В NTFS добавлены средства защиты файлов от вирусов (введен атрибут файла только для исполнения).
Поскольку Win32 поддерживает несколько файловых систем, все они должны подчинятся общим правилам. Файловые системы должна организовывать файлы в иерархическое дерево каталогов – так, как это делает FAT. Имена каталогов и файлов в полном имени файла (pathname) отделяются обратной косой чертой (\) . Кроме правил формирования полного имени, действует и правила именования каталогов и файлов:
§ полное имя файла завершается нулевым символом;
§ имена файлов и каталогов не должны содержать разделительного символа (\), символов с ASCII-кодами от 0 до 31, специальных символов вроде (,:, или | /), а также символов, явно запрещенных в какой либо файловой системе;
§ имена файлов и каталогов могут включать буквы разного регистра, но при поиске файлов и каталогов регистр букв не учитывается. Если файл с именем ReadMe.Txt существует, то создание нового файла с именем README.TXT уже не допускается;
§ точка (.) идентифицирует текущий каталог. Например, .\ README.TXT означает, что файл README.TXT находится в текущем каталоге;
§ точка (.), используемая как часть имени файла или каталога, считается разделителем компонентов имени. Например, в файле README.TXT точка отделяет имя файла от его расширения.
Эти основные правила должны соблюдать все файловые системы, поддерживаемые Win32. Допускаются лишь различия, вытекающие из разной интерпретации этих правил и дополнительных возможностей конкретной файловой системы.
Разрабатывая Win32-приложения, необходимо помнить, что пользователь может работать с любой комбинацией FAT, NTFS и CDFS, а также то, что в будущем появятся другие файловые системы. Любая из новых файловых систем будет следовать базовым правилам, и, приложив минимум дополнительных усилий, можно писать программы, корректно работающие независимо от файловой системы.
Содержание
Статьи к прочтению:
- Размещение микрофона ведущего барабана
- Размещение, поиск и сохранение информации. архивирование. антивирусные средства защиты
Джонсон М. Харт
Книги → Системное программирование в среде Windows → Правила именования файлов
Windows поддерживает обычную иерархическую систему имен файлов, соглашения которой, однако, несколько отличаются от соглашений, привычных для пользователей UNIX, и основаны на следующих правилах:
• Полное имя файла на диске, содержащее путь доступа к нему, начинается с указания буквенного имени диска, например, А: или С:. Обычно буквы А: и В: относятся к флоппи-дисководам, а С:, D: и так далее — к жестким дискам и приводам компакт-дисков. Последующие буквы алфавита, например, Н: или K:, обычно соответствуют сетевым дискам. Примечание. Буквенные обозначения дисков не поддерживаются в Windows СЕ.
• Существует и другой возможный вариант задания полного пути доступа — использование универсальной кодировки имен (Universal Naming Code, UNC), в соответствии с которой указание пути начинается с глобального корневого каталога, обозначаемого двумя символами обратной косой черты (\\), с последующим указанием имени сервера и имени разделяемого ресурса (share name) для определения местоположения ресурса на файловом сервере сети. Таким образом, первая часть полного пути доступа в данном случае будет иметь вид: \\servername\sharename.
• При указании полного пути доступа в качестве разделителя обычно используется символ обратной косой черты (\), но в параметрах API для этой цели можно воспользоваться также символом прямой косой черты (/), как это принято в С.
• В именах каталогов и файлов не должны встречаться символы ASCII, численные значения которых попадают в интервал 1-31, а также любой из перечисленных ниже символов:
< > : » | ? * \ /
В именах разрешается использовать пробелы. В то же время, если имена файлов, содержащие пробелы, указываются в командной строке, то каждое такое имя следует заключать в кавычки, чтобы его нельзя было интерпретировать как два разных имени, относящихся к двум отдельным файлам.
• Строчные и прописные буквы в именах каталогов и файлов не различаются, то есть имена не чувствительны к регистру (case-insensitive), но в то же время они запоминают регистр (case-retaining); другими словами, если файл был создан с именем MyFile, то это же имя будет использоваться и при его отображении, хотя, например, для доступа к файлу может быть использовано также имя myFILE.
• Длина имени каталога и файла не должна превышать 255 символов, а длина полного пути доступа ограничивается значением параметра МАХ_РАТН (текущим значением которого является 256).
• Для отделения имени файла от расширения используется символ точки (.), причем расширения имен (как правило, два или три символа, находящиеся справа от самой последней точки, входящей в имя файла) обозначают предположительные типы файлов в соответствии с определенными соглашениями. Так, можно ожидать, что файл atou.EXE — это исполняемый файл, а файл atou.С — файл с исходным текстом программы на языке С. Допускается использование в именах файлов нескольких символов точки.
• Одиночный символ точки (.) и два символа точки (..), используемые в качестве имен каталогов, обозначают, соответственно, текущий каталог и его родительский каталог.
После этого вступления мы можем продолжить изучение функций Windows, начатое в главе 1.
← предущий раздел | следующий раздел → |
Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков
20.11.2015 Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.
Объединение ОС Android и Chrome
17.11.2015 Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.
Конференция Linux Piter 2015
15.11.2015 Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.