Введение в программирование под Windows
Под термином WINDOWS-программирование можно подразумевать все, что угодно, но в большинстве своем это означает "событийное" программирование. Именно эта концепция используется в Windows. Она кардинально отличается от того, как писались программы для DOS. Если в DOS программа представлялась единым целым и опрашивала в цикле клавиатуру, мышь, порты и пр. и в зависимости от того, нажата ли клавиша, передвинулась мышь, выполняла определенные действия. В Windows этот процесс опроса берет на себя сама система и если произошло какое-то действие (событие), то сообщает (посылает вашей программе сообщение) об этом. А программа фактически состоит из отдельных функций, каждая из которых обрабатывает определенные (клавиатура, мышь) сообщения и соответствующим образом реагирует на них (т.е. реагирует на событие). Очевидно, что события могут быть разными - это не только клавиатура и мышь, а например закрытие окна, изменение его размеров, завершение работы Windows, появление новых данных в буфере обмена и пр. Причем программа может реагировать только на определенные сообщения, а остальные, будут обработаны системой.
Наиболее важным моментом при программировании для Windows является интерфейс прикладного программирования - (Application Programming Interface,API) - это набор самых различных функций, с помощью которых приложение может взаимодействовать с Windows.
API содержит около 2000 функций! Кроме этого в него входит несколько сотен сообщений, макросов и предопределенных констант. С одной стороны все это облегчает работу программиста, а с другой требует изучения многих томов литературы. Но здесь же следует вспомнить, что из десятков тысяч слов русского языка средний человек использует от силы пять тысяч.
Win API реализован в следующих версиях:
· Win16, Win32s— первые версии Windows API для 16-разрядных версий Windows: 3.1, 3.11. Windows 3.1. работал поверх ОС DOS.
· Win32— 32-разрядный API для современных версий Windows. работающих под на процессорах 80486 и старше: Windows 95/98/NT/2000/XP/2003/2008/7,8 Windows CE.
· Win64— 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах. Win64 API можно найти только в 64-разрядных версиях Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows Server 2012 и Windows 8.
Все Win32-платформы содержат Win32-функции, а значит, можно вызывать любую из функций интерфейса Win32 API независимо от того на какой платформе компилируется приложение. Но реализация реализации рознь.
Все Win32-функции существуют на каждой платформе, но поддерживаются на некоторых из них только частично.
Win32 API в основном состоит из трех компонентов: Kernel, User и GDI, которые обеспечивают интерфейс с базовой OS, управление окнами и приложениями и предоставляет поддержку графики для создания пользовательского интерфейса.
Знание WinAPI очень полезно, но в случае использования соответствующих систем программирования не является обязательным.
Пример функций:
HANDLE CreateFile(
LPCTSTR lpFileName, // Указатель на имя файла (устройства)
DWORD dwDesiredAccess, //Параметры доступа
DWORD dwShareMode, //Разделяемый доступ
LPSECURITY_ATTRIBUTES lpSecurityAttributes, //безопасность
DWORD dwCreationDistribution,// Описание
DWORD dwFlagsAndAttributes, // Атрибуты файла
HANDLE hTemplateFile // Файл шаблона
);
HWND CreateWindow(LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight,HWND hWndParent, HMENU hMenu, HANDLE hInstance, LPVOID *lpParam);
void GetWindowRect(HWND hwnd, RECT FAR* lprc);
Рассмотрим некоторые популярные средства разработки
Если использовать Borlan Pascal или Borland С++, то знание API просто необходимо. В случае использования т.н. RAD-систем (системы быстрой разработки приложений), таких как Delphi, С++ Builder, Visual Basic, Visual C++ и им подобных знание WinAPI особо не требуется (но приветствуется).
Программирование с применением API, представляет непростую задачу. Особенно трудоемким является процесс отладки таких программ. Поэтому все современные интегрированные средства программирования позволяют в значительной степени автоматизировать, написание таких программ. Но и здесь имеются свои проблемы. Для того чтобы разобраться, как написать самостоятельно программу с использованием API, достаточно изучить коды программ написанных другими программистами.
Дата добавления: 2017-01-26; просмотров: 1483;