- •Министерство образования и науки российской федерации
- •ОсобенностиWin32api
- •Расширение функциональности WinMain.
- •Класс окна
- •Создание окна
- •Расширение функциональности WndProc
- •С чего начать?
- •Операционная система x64
- •Как сделать код совместимым с Win64
- •Отладка
- •Заключение Приложения Приложение 1.
- •Приложение 2.
Министерство образования и науки российской федерации
ОБНИНСКИЙ ИНСТИТУТ АТОМНОЙ ЭНЕРГЕТИКИ - филиал
федерального государственного автономного образовательного учреждения
высшего профессионального образования
«Национальный исследовательский ядерный университет «МИФИ»
(ИАТЭ НИЯУ МИФИ)
Факультет Кибернетики
Кафедра Компьютерных систем, сетей и технологий
Курсовой проект на тему:
Разработка приложений, используя средства Windows 7.
Выполнил:
студент гр. ВТ1-С10
Карпенко С.В.
Проверила:
Куликова Н.В.
Обнинск 2013
Введение 3
Особенности Win32 API 3
Расширение функциональности WinMain. 4
Класс окна 6
Создание окна 7
Расширение функциональности WndProc 8
С чего начать? 10
Операционная система x64 10
Разработка для x64 с помощью Visual C++ 14
Как сделать код совместимым с Win64 15
Отладка 17
Заключение 19
Приложения 19
Приложение 1. 19
Приложение 2. 21
Литература 21
Введение
На выбор данной темы курсовой работы меня подтолкнул курсовой проект, над которым я работал в прошлом семестре, в ходе которого я познакомился с платформой разработки приложение .Net FrameWork. Я изучал разные среды разработки, такие как С#, C++ и др. В ходе работы я изучил принципы работы линкеров, трансляторов и компиляторов в данных средах, изучил debugger'ы. Данная работа углубит мои знания в процессе разработки приложений с использованием интерфейса Win32/64 API. В данный момент на мировом рынке активно продвигается операционная система Windows от корпорации Microsoft, т.о. можно сделать вывод, что изучение основ и других аспектов программирования с использованием Win 32/64 API благоприятно повлияет на мою эрудированность в сфере программирования. А знания о переходе от Win32 к Win64 помогут мне писать актуальные приложения под систему Windows 7/8, которые на данный момент шире всего распространены.
ОсобенностиWin32api
Для того, чтобы сделать как простое, так и более сложное приложение с помощью Win32 API необходимо, сначала, выяснить, каким образом происходит инициализации, какие функции при этом используются, как они взаимодействуют между собой и т.д.
Как известно, любое приложение на языках C и C++ должно иметь функцию main. Эта функция является начальной точкой для приложения. Подобным же образом любое приложение Win32 должно иметь функцию WinMain. Синтаксис функции WinMain выглядит следующим образом:
int WINAPI WinMain
(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow);
HINSTANCE hInstance – дескриптор экземпляра приложения. Этот дескриптор содержит адрес начала кода программы в ее адресном пространстве. Дескриптор hInstance чаще всего требуется функциям, работающим с ресурсами программы.
HINSTANCE hPrevInstance – дескриптор предыдущего экземпляра приложения. Этот дескриптор остался от старых версий Windows - скорее всего, вам он никогда не пригодится.
LPSTR lpCmdLine – указатель на начало командной строки, введенной при запуске программы.
int nCmdShow – это значение содержит желаемый вид окна (например, свернутый или развернутый)
Значение, которое возвращается функцией WinMain (тип int) – код завершения программы. Принято, что если программа завершила свое выполнение без ошибок, возвращается 0.
Функция WinMain – первая функция, которая выполнятся в программе (ее еще называют «точка входа» или «entry point»). С нее все начинается, и ею (желательно) все должно закончиться.
Наряду с функцией WinMain, в каждом приложении Win32 также должна быть определена еще одна функция, обычно называемая WndProc и представляющая собой оконную процедуру. Синтаксис функции WndProc выглядит следующим образом:
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
При вызове этой функции ей передаются следующие параметры:
HWND hWnd – описатель окна, от которого пришло сообщение.
UINT message – идентификатор сообщения.
WPARAM wParam и LPARAM lParam – параметры сообщения.
Назначением этой функции является обработка сообщений, получаемых приложением от операционной системы. В каком случае приложение получает сообщения от операционной системы? Оно получает их постоянно! Например, представим, что было создано диалоговое окно с кнопкой ОК. Когда пользователь нажимает кнопку, операционная система посылает приложению сообщение, оповещающее о нажатии кнопки. Функция WndProc отвечает за реагирование на это событие. В этом примере соответствующей реакцией на это событие может быть закрытие диалогового окна.