Windows api как запустить
КАК подготовить и запустить проект Win API?
Часто у читателей возникает резонный вопрос: «У меня есть текст API — программы. Как мне его запустить?». В книгах по API обычно идут сплошные исходные тексты, и это очень хорошо. Но редко где объясняется, а как же запустить свою первую программу?
Поэтому, перед тем, как попросить вас что-то набрать, я хочу научить своих читателей пользоваться компилятором. Проще всего компилировать API программы в Visual C++ (часть большого пакета программ Visual Studio компании Microsoft), поэтому мы будем пользоваться именно им.
Следующий резонный вопрос — какая версия? В 1998-м году вышла самая популярная версия Visual Studio 6.0, которая, как не странно в некоторых фирмах используется до сих пор. Именно в то время программирование для Windows развивалось особенно бурно, и было подготовленно настоящее море специалистов по 6-й версии. Она проста в использовании и не содержит многих наворотов, которые включали в последующие версии, связанных с Интернет-технологиями и базами данных. Многие классные программисты, в совершенстве владеющие MFC просто не хотят переучиваться от того, к чему привыкли. Некоторые используют сразу несколько версий для совместимости.
Часто мне приходят письма читателей, а какую версию вы нам посоветуете?
Я всегда отвечаю, что версия роли не играет. Только в 6-й студии процесс создания проекта несколько отличен. В Visual Studio .NET (7.0, 7.1), а также в 2003-й и 2005-й процесс создания идентичен.
У вас может стоять любая из этих версий, и вам останется только выбрать рекомендации для вашей версии.
Итак, маленькая предыстория. Когда мы работали в Borland C++ 3.1 достаточно было создать новый файл, настучать в него текст программы и запустить. Компилятор принимал имя файла и создавал выполнимый EXE-файл. С тех пор концепция программирования несколько изменилась. Программисты для Windows обычно работают с очень большим количеством файлов, которые объединены в проект. Проект включает в себя не только исходные тексты, но и библиотеки и внешние текстовые файлы, используемые для записи промежуточных и конечных результатов, файлы типа Excell, базы данных XML, иконки, курсоры, картинки, аудиои видеофайлы и многое другое. Поэтому ошибкой было бы писать текст в редакторе типа «Блокнот», а потом пытаться открыть его с помощью VC++ да ещё и скомпиллировать. Visual С изначально понимает только проекты, причём созданные в нём самом.
Подчиняясь суровой необходимости, открываем Visual C++. На экране то, что обычно. Ничего. В лучших традициях Microsoft — никакого намёка на то, что делать дальше.
Сейчас вам предстоит определиться с тем, какая версия Visual Studio стоит на вашем компьютере. Если их несколько, имеет смыл использовать самую новую. Программисты — это люди завтрашнего дня.
Итак, если у вас стоит Visual Studio, то вам сюда. Сейчас я научу вас создавать программы на API. Эти рекомендации пригодятся вам в дальнейшем, когда вы будете создавать проекты для последующих, более сложных примеров.
Шаг 1 Запуск программы |
Запустите программу Visual C++ через меню пуск. На экране появится пустое окно программы, впрочем, готовое к сотрудничеству. Беглый осмотр говорит нам о том, что в программе есть свойственная всем продуктам Microsoft панель управления для удобного редактирования текстов, а также меню. Назначение многих элементов меню и кнопок из панели управления мы будем разбирать по ходу пьессы.
Шаг 2 Создание проекта |
В Visual Studio можно создавать удивительно много полезных штук. Создание Win API — программ — не единственное, что в ней можно делать. Чаще всего она используется для создания программ на основе библиотеки классов MFC. Но и это не обязательно. Поэтому, при создании нового проекта, надо его как следует настроить.
Выберите пункты меню File->New->Project. У вас появятся аналогичные окна New или New Project. Для версий 6.0 и 7.0 соответственно.
| |
В списке перечислены основные типы проектов, которые можно создавать в Visual C++. Освоим пока только один из них.
Шаг 3 Определение содержания |
В окне New (New Project) выберите тип «Win 32 Application» («Win32 Project»). Win 32 Application — это и есть программа на API. Сейчас от нас требуется дать имя нашему проекту — заметьте, не файлу, не будущей программе, а проекту. В большинстве случаев это имя может быть любым, но мой вам совет — давайте говорящие имена, чтобы потом не гадать, чем Project4 отличается от Project111. Пусть имя первого проекта будет First. В поле Location будет указан путь, по которому будет создана одноимённая папка для проекта First, в которой будет размещён весь наш проект. Нажмите Ok.
| |
Это ещё не всё. Появится следующее окно, которое будет просить определить содержание проекта. В Visual C++ есть некоторые шаблоны, которые позволяют избавить разработчика от многих рутинных операций — они сами создают исходные файлы и даже прописывают в них какой-то минимальный код. Так, например, чтобы не перетруждаться, мы можем создать готовое окно с меню и строкой состояния. К шаблонам мы ещё вернёмся, а пока изучим всё с азов. В Visual C++ 6.0 надо поставить галочку на An Empty Project («Пустой проект»), так как мы будем создавать всё вручную, и нажать кнопку Finish. В 7-й версии надо перейти на закладку Application Settings («Настройки приложения») и поставить галочку Application Type — Windows Application, Application options: Empty рroject. И тоже нажать Finish («Завершить») .
Шаг 4 Пустой проект |
У вас появился готовый проект, правда в нём пока ещё нет ровным счётом ничего. У нас есть проект, но пока нет программы. Остаётся набрать исходный текст и добавить его в проект. Вообще особенность пустых проектов — то, что надо добавлять в него все файлы вручную, несмотря на то, исходники это, библиотеки или ресурсы.
Вот такой вид будут иметь пустые проекты:
| |
Теперь познакомимся поближе с редактором. Как и в любой программе Windows, в верхней части окна расположены меню и панель инструментов. Она стандартная для всех приложений Microsoft, и я думаю, со многими кнопками (такими, как Сохранить, Копировать, Вырезать, Вставить) вы уже знакомы.
В нижней части программы, как и в Borland C++ окно комментариев компилятора. В нём будет вестись журнал компиляции, компоновки и построения, отображаться статус проекта, выдаваться предупреждения (warnings), ошибки (errors) и комменатрии. Чтобы оно не мешало, его можно закрывать, когда вы работаете с кодом.
В левой части окно навигатора, в котором есть три вкладки: Files (Файлы), ClassView (Вид классов) и Resource (Ресурсы).
Вкладка FileView — файлы, которые входят в проект. Они условно разделены на три папочки: Source (исходники), Headers (Библиотеки, заголовочные файлы), Resources (ресурсы — картинки, иконки, курсоры). В больших проектах количество файлов и папок может доходить до тысячи, поэтому очень удобно иметь весь список файлов перед собой, чтобы быстро получить доступ к нужному.
ClassView — диаграмма классов, используемых в программе. Поскольку язык API процедурный, нам она пока не понадобится.
ResourceView — содержит наши ресурсы. Они описаны в файле ресурсов. Этот файл носит вспомогательный характер, но он очень важен. В нём описаны все ресурсы приложения — диалоговые окна, панели инстрментов, меню, картинки, иконки, курсоры и многое другое. В MFC этот файл генерируется автоматически, нам придётся создавать его вручную. Для этого придётся овладеть нехитрым языком описания ресурсов. Обычно файл ресурсов имеет расширение: *.RC
Шаг 5 Включение нового файла |
Пока что проект пуст и не содержит никаких файлов. Чтобы вы могли набирать исходные тексты из моей книги и других книг, вы должны освоить процедуру создания пустого проекта и включения в него файлов, описанные в этой главе. Рассмотрим методику включения файла исходника для обоих версий.
| Visual C++ 6.0 Выберем File->New. Появившееся окно похоже на то, что мы использовали для создания проекта. Но теперь в нём надо указать тип создаваемого файла С++ Source File — исходный текст на языке С++. Введём его имя в поле Name. Оно будет тоже First, как и имя проекта. Расширение срр указывать не обязательно — оно будет добавлено автоматически. Нажмите ОК. На экране появился открытый файл First.cpp, в который уже можно вводить исходный текст. Но то, что мы его создали вовсе не означает, что компилятор его «увидит». Его, оказывается, надо ещё включить в проект! Ладно, выбираем пункт меню Project->Add to Project. В окне «Открыть» укажем наш файл. |
| Visual C++ 7.0 Выберем File->New->File. Появится окно, представленное ниже. Вот, как это будет выглядеть: Выберем тип C++ Source File и нажмём Open. По умолчанию создаётся файл Source1.cpp. Сохраним его в папке проекта как First.cpp. Затем добавим в проект. Project->Add Existing Item. В окне укажем имя нашего файла. First.cpp. |
Вот теперь всё готово для ввода программы. Если вы выберите в навигаторе вкладку Files и раскроете папочку Source, то увидите, что в ней появился наш первый исходный файл First.cpp!
Примечание. Следите, чтобы все исходные файлы хранились в папке проекта. При большом количестве файлов удобно сортировать их по каталогам. Но всё равно, все каталоги должны храниться в одной общей папке — папке проекта.
Шаг 7 Ввод исходного текста программы |
Вот теперь в файл можно ввести какой-то текст. Итак, первая программа!
Самая первая программка будет такой:
Листинг №1 «Первая программа« |