Windows API
- 1 year ago
- 0
- 0
Windows API ( англ. application programming interfaces ) — общее наименование набора базовых функций интерфейсов программирования приложений операционных систем семейств Microsoft Windows корпорации Майкрософт . Предоставляет прямой способ взаимодействия приложений пользователя с операционной системой Windows . Для создания программ, использующих Windows API , корпорация Майкрософт выпускает комплект разработчика программного обеспечения , который называется Platform SDK и содержит документацию, набор библиотек , утилит и других инструментальных средств для разработки.
Windows API спроектирован для использования в языке Си для написания прикладных программ , предназначенных для работы под управлением операционной системы MS Windows. Работа через Windows API — это наиболее близкий к операционной системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа , необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model .
Windows API представляет собой множество функций, структур данных и числовых констант, следующих соглашениям языка Си. В то же время конвенция вызова функций отличается от cdecl , принятой для языка C: Windows API использует stdcall ( winapi ). Все языки программирования, способные вызывать такие функции и оперировать такими типами данных в программах, исполняемых в среде Windows, могут пользоваться этим API. В частности, это языки C++ , C# , Pascal , Visual Basic и многие другие.
Для облегчения программирования под Windows в компании Microsoft и сторонними разработчиками было предпринято множество попыток создать библиотеки и среды программирования, частично или полностью скрывающие от программиста особенности Windows API и предоставляющие ту или иную часть его возможностей в более удобном виде. В частности, сама Microsoft в разное время предлагала библиотеки Active Template Library (ATL)/ Windows Template Library (WTL), Microsoft Foundation Classes (MFC), .Net / WinForms / WPF , TXLib. Компания Borland (ныне Embarcadero, её преемник в части средств разработки) предлагала OWL и VCL . Есть кросс-платформенные библиотеки, такие как Qt , Tk и многие другие. Весомая часть этих библиотек сконцентрирована на облегчении программирования графического интерфейса пользователя .
Для облегчения переноса на другие платформы программ, написанных с опорой на Windows API, сделана библиотека Wine .
kernel32.dll
и
advapi32.dll
; базовые модули
графического интерфейса пользователя
— в
user32.dll
и
gdi32.dll
.
Win32
появился вместе с
Windows NT
и затем был перенесён в несколько ограниченном виде в системы серии
Windows 9x
. В современных версиях
Windows
, происходящих от
Windows NT
, работу
Win32 GUI
обеспечивают два модуля:
csrss.exe
(
процесс исполнения клиент-сервер
), работающий в
пользовательском режиме
, и
win32k.sys
в
режиме ядра
. Работу же системы обеспечивает
ядро
—
ntoskrnl.exe
.