Что такое winapi c

Что такое winapi c

Windows API был изначально спроектирован для использования в программах, написанных на языке C (или C++). Работа через Windows API — это наиболее близкий к системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.

Версии

  • Win16 — первая версия Windows API для 16-разрядных версий Windows. Изначально назывался просто Windows API, затем стал называться Win16 для отличия от Win32.
  • Win32s — подмножество Win32, устанавливаемое на семейство 16-разрядных систем Windows 3.x и реализующее ограниченный набор функций Win32 API для этих систем.
  • Win32 — 32-разрядный API для современных версий Windows. Самая популярная ныне версия. Базовые функции этого API реализованы в kernel32.dll и advapi32.dll; базовые модули GUI — в user32.dll и gdi32.dll. Win32 появился вместе с Windows NT и затем был перенесён (в несколько ограниченном виде) в системы серии Windows 9x. В современных версиях Windows, происходящих от Windows NT, работу Win32 GUI обеспечивают два модуля: csrss.exe (Client/Server Runtime Subsystem), работающий в пользовательском режиме, и win32k.sys в режиме ядра. Работу же системных Win32 API обеспечивает ядро — ntoskrnl.exe
  • Win64 — 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах. Win64 API можно найти только в 64-разрядных версиях Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 и Windows 7.

Полный алфавитный список технологий, доступных через Windows API

  • Access Control
  • Active Accessibility
  • Active Directory
  • Active Directory Services Interface (ASP)
  • ActiveX Data Objects (
  • Automation
  • Background Intelligent Transfer Service (BITS)
  • Certificate Services
  • Collaboration Data Objects
  • Cryptography
  • Debugging and Error Handling
  • Device I/O
  • Distributed File System (Dfs)
  • Threads
  • Domain Name System (DHCP)
  • Extensible Authentication Protocol (XML) и парсер
  • Group Policy
  • ICS и ICF
  • Image Color Management (ICM)
  • Indexing Service
  • Infrared Data Association (IrDa)
  • Internet Authentication Service (IAS)
  • Internet Connection Sharing and Firewall (ICSF)
  • Internet Explorer
  • Internet Information Services (IIS)
  • Internet Protocol Helper (IP Helper)
  • Interprocess Communications
  • Lightweight Directory Access Protocol (LSA Authentication
  • LSA Policy
  • Memory Management
  • Message Queuing (MSMQ)
  • Messaging Application Programming Interface (
  • Microsoft Agent
  • Microsoft Data Access Components (MIDL)
  • Microsoft Management Console (MTS)
  • Multicast Address Dynamic Client Allocation Protocol (MADCAP)
  • Multicast Group Manager
  • National Language Support
  • NetMeeting
  • NetShell
  • Network Load Balancing Provider
  • Network Management
  • Network Monitor
  • Network Provider API
  • OLE DB
  • OLE DB Provider for Internet Publishing
  • OnNow
  • Open Database Connectivity (OpenGL
  • Password Filters
  • PC Health
  • Performance Monitoring
  • Plug and Play и Universal Plug and Play
  • Power Management
  • Quality of Service (
  • Remote Access Service (RAS)
  • Remote Procedure Call (имеется в виду служба RPC Service)
  • Removable Storage Manager (RSM)
  • Routing and Remote Access Service (RRAS)
  • Routing Table Manager Version 1 (RTMV1)
  • Routing Table Manager Version 2 (RTMV2)
  • Security Support Provider Interface (SSPI)
  • Server Cluster API
  • Server Data Objects (SDO)
  • Service Security Attachments
  • Setup API
  • Shell (имеется в виду Explorer Shell)
  • Side-by-side Assemblies
  • Simple Network Management Protocol (
  • Still Image
  • Storage и Structured Storage
  • Synchronization Manager
  • System.DirectoryServices
  • System Event Notification Service (SENS)
  • System Restore
  • Tablet PC
  • Task Scheduler
  • Telephony Application Programming Interface (TAPI) 2.2
  • Telephony Application Programming Interface (TAPI) 3
  • Telephony Service Provider Interface (TSPI и MSPI)
  • Terminal Services
  • Text Services Framework
  • Unicode (и MSLU)
  • Universal Description, Discovery, and Integration (
  • Windows Clustering
  • Windows File Protection
  • Windows
  • Windows Image Acquisition (WIA)
  • Windows Installer
  • Windows Management Instrumentation (
  • Windows Sockets
  • Windows System Information
  • Windows User Interface
  • Winlogon и Gina
  • WinSNMP

См. также

  • Microsoft .NET
  • Window class
  • WinMain

Ссылки

  • WinAPI @ dmoz.org
  • windows api programming — Форум клуба программистов
  • Platform SDK: Windows API — раздел Windows API в библиотеке MSDN
  • Открытая документация по WinAPI

Литература

  • Гэри Неббет Справочник по базовым функциям API Windows NT/2000 = Windows NT/2000 Native API Reference. — М.: «Вильямс», 2002. — С. 528. — ISBN 1-57870-199-6
Программные интерфейсы и Microsoft Windows
Графика Проводник Windows • Direct3D • Windows Presentation Foundation • Windows Color System • Windows Image Acquisition • Windows Imaging Component
Звук MME
Мультимедиа DirectShow • Windows Media • Media Foundation
Веб MSHTML • JScript • ActiveX •
Доступ к данным Компоненты Microsoft Data Access • Extensible Storage Engine •
Сети Winsock (LSP) • Filtering Platform •
Коммуникации TAPI
Администрирование Консоль Win32 • Windows Script Host • Инструментарий управления Windows • PowerShell • Планировщик задач • Offline Files • Теневое копирование • Windows Installer • Диспетчер ошибок Windows • Журнал событий Windows
Модель компонентов COM • COM+ • DCOM • .NET Framework
Библиотеки Microsoft Foundation Classes (MFC) • Active Template Library (ATL) • Windows Template Library (WTL) • Framework Class Library (FCL)
Разработка драйверов Модель драйверов Windows • Windows Driver Foundation (KMDF • UMDF)
Безопасность Windows CardSpace • Data protection API • Security Support Provider Interface
.NET .NET Framework • ADO.NET • .NET Remoting • Windows Presentation Foundation • Windows Workflow Foundation • Windows Communication Foundation • Windows CardSpace • XNA •
Межпроцессное
взаимодействие
MSRPC • Именованные каналы
Текст и
поддержка языков
Framework Текстовых сервисов • Объектная модель текстов • • Языковые пакеты • Многоязычный интерфейс
Игры XNA •
Widget toolkit
Low-level Macintosh Toolbox/Carbon · Windows API · Intrinsics · Intuition · High-level
Читайте также:  Как запустить майнкрафт на виндовс 10
Amiga OS BOOPSI · Magic User Interface · Zune · ReAction GUI
Mac OS и Mac OS X · MacApp · MacZoop · PowerPlant
Microsoft Windows Microsoft Foundation Classes · Windows Template Library · SmartWin++ · Object Windows Library · Visual Component Library · Windows Forms · Windows Presentation Foundation
Unix, under the X Xaw · · · InterViews
Cross-platform Based on Flash: Adobe Flex · · SWF2EXE Software

Wikimedia Foundation . 2010 .

Смотреть что такое "WinAPI" в других словарях:

WinAPI — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

Winapi — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

WIN32S — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

Win-API — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

Win16 — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

Win32 — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

Win32-API — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

Win32 API — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

Win32s — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

Win64 — Das Windows Application Programming Interface (kurz: WinAPI; zu dt. etwa: Windows Anwendungs Programmierungs Schnittstelle) ist eine Programmierschnittstelle und Laufzeitumgebung, welche Programmierern bereitsteht, um Anwendungsprogramme für… … Deutsch Wikipedia

Я только начинаю изучать winapi, и я хочу сделать простую форму с двумя кнопками и текстовым полем. Когда я нажимаю одну кнопку, я хочу, чтобы текстовое поле говорило одну вещь, а когда я нажимаю другую кнопку, я хочу, чтобы она говорила что-то другое. Чтобы различать две кнопки, я должен знать их идентификаторы управления, которые находятся в нижней части wParam в сообщении WM_COMMAND. Я думаю, что я должен указать эти идентификаторы самостоятельно (или Windows делает это по умолчанию? Если так, как я могу получить идентификаторы?) В параметре hMenu функции CreateWindowEx (). Однако я не могу найти какую-либо документацию по объекту HMENU или какое-либо объяснение того, как его использовать. Что такое HMENU?

Решение

HMENU является дескриптором меню, например, как создано LoadMenu (который создает меню из спецификации в ресурсе).

Но, CreateWindow Функция повторно использует один и тот же аргумент для двух разных целей. С окном верхнего уровня это дескриптор меню, но с дочерним окном это идентификатор дочернего окна, который должен быть в 16-битном целочисленном диапазоне (я не уверен, какой именно диапазон поддерживается, проверьте документы).

При создании дочернего окна просто приведите идентификатор к HMENU ,

Общее соглашение заключается в использовании -1 для идентификатора «все равно». Вам лучше не использовать 0 для этой цели, потому что 0 идентификатор кнопки ОК с символическим именем IDOK ,

РЕДАКТИРОВАТЬ: IDOK значение задокументировано (правильно) как 1, в MessageBox документация. Я не уверен, откуда информация, которую я передал выше, откуда. Тем не менее, это может быть хорошей идеей, чтобы избежать 0 в качестве идентификатора.

Вот некоторый код, иллюстрирующий основной подход. Он не скомпилируется в вашей системе, потому что используемые здесь заголовки являются моими собственными. Кроме того, несмотря на то, что код работает, это просто своего рода каркас для поддержки другого кода, который будет заменен более правильным кодом позже, поэтому не придавайте слишком большого значения выбору дизайна и т. Д.

C WinAPI — это основной набор программных интерфейсов (API) Microsoft, доступных в операционных системах Microsoft Windows. Ранняя версия носила название Win32 API.

Введение

C WinAPI — это интерфейс прикладного программирования, который используется для создания приложений Windows. Для начала работы начинающий пользователь должен загрузить SDK Windows, ранее известный как Platform SDK.

SDK (Software Development Kit) содержит файлы заголовков, библиотеки, образцы, документацию и инструменты, которые используются для разработки приложений. API Windows создан для языков программирования C и C ++. Это самый прямой способ создания приложений в операционной системе от компании.

C WinAPI можно разделить на несколько областей:

Базовые службы обеспечивают доступ к основным ресурсам. К ним относятся функции C WinAPI, файловые системы, устройства, процессы, потоки, реестр и обработка ошибок. Область безопасности предоставляет интерфейсы, объекты и другие элементы программирования для аутентификации, авторизации, криптографии и других связанных с безопасностью задач. Подсистема графики обеспечивает функциональность вывода графического содержимого на мониторы, принтеры и другие устройства вывода. Пользовательский интерфейс обеспечивает функциональность для создания окон и элементов управления.

Компоненты

При создании WinAPI C следует учитывать базовые возможности, предоставляемые Windows API, которые можно упорядочить в семи категориях. Рассмотрим каждую из них подробнее.

Основные услуги предоставляют доступ к базовым системным ресурсам, доступным в Windows. Примеры: файловая система, периферийные устройства, процессы, доступ к системному реестру и система управления исключениями. Эти функции хранятся в файлах kernel.exe, krnl286.exe или krnl386.exe для 16-разрядных систем и kernel32.dll и advapi32.dll для 32-разрядных систем.

Графический интерфейс обеспечивает доступ к ресурсам для отображения на мониторах, принтерах и другом периферийном оборудовании. Хранится в файле gdi.exe на 16-разрядных системах и gdi32.dll в 32-разрядных системах.

Пользовательский интерфейс отвечает за просмотр и управление основными элементами, такими как кнопки и полосы прокрутки, получение информации о клавиатуре и мыши, а также связанные с ними функции. Эти функции хранятся в файле user.exe в 16-разрядных системах и user32.dll comctl32.dll в 32-разрядных системах. Начиная с версии XP элементы управления были сгруппированы в comctl32.dll.

Общие диалоги — отображают данные для открытия и сохранения файлов, выбора цвета и шрифта. Находятся в файле comdlg.dll на 16-разрядных системах и comdlg32.dll в 32-разрядных системах.

Windows Shell — компонент WinAPI, который позволяет приложениям получать доступ к функциям, предоставляемым оболочкой операционной системы.

Сетевые службы обеспечивает доступ к различным сетевым возможностям операционной системы. Его подкомпоненты включают NetBIOS, Winsock, RPC. В старых версиях — NetDDE.

Версии

Win16, Win32 и Win32s являются стандартными наборами компонентов, которые позволяют прикладному программному обеспечению использовать функции различных операционных систем семейства Windows.

Win32, преемник Win16, был представлен в 1993 году в 32-разрядных продуктах семейства Windows, таких как Windows NT, 2000, 95. Этот программный интерфейс реализован тремя программными библиотеками: Kernel32.dll, User32.dll и GDI32.dll2. Те же функции Win32 доступны во всех продуктах Windows, и, в зависимости от продукта, использование определенных функций может привести к ошибке обслуживания.

Возможности Win32 включают в себя взаимодействие между программами, управление процессами, компьютерными сетями, файлами, принтерами, серверами и коммуникационными портами.

Спецификация

C WinAPI — это абстрактная спецификация интерфейса программирования для операционной системы Windows. Состоит из объявлений функций, объединений, структур, типов данных, макросов, констант и других элементов программирования. WinAPI описывается главным образом MSDN (Microsoft Developer Network) и находится в заголовках Windows C. Официальная реализация функций WinAPI находится в динамических библиотеках (DLL): например, kernel32.dll, user32.dll, gdi32.dll или shell32.dll в системном каталоге. Существуют сторонние реализации Windows API: в первую очередь проект Wine и проект ReactOS.

Windows API — динамический объект. Количество функций постоянно растет с каждой новой версией ОС и новыми пакетами обновлений. Существуют также важные различия между версиями сервера и настольными версиями операционной системы. Некоторые функции официально не документированы.

Pelles C

Pelles C — бесплатная программа и лучший компилятор C и интегрированная среда разработки (IDE) для языка программирования C. Поддерживает 32-разрядную Windows (x86) и 64-разрядную Windows (x64). Реализует как стандарты C99, так и C11. Pelles C имеет встроенный редактор ресурсов, растровое изображение, значок и редактор курсоров и редактор шестнадцатеричных дампов. Он разработан шведским разработчиком Пелле Ориниусом. Название компилятора носит имя своего автора. Поставляется с SDK, поэтому программист сразу может приступить к созданию приложений без дальнейшей установки.

Ошибка целевой архитектуры

Чтобы создавать программы Windows API, необходимо включить расширения Microsoft. По умолчанию они выключены, в связи с чем компилятор выдает следующее сообщение об ошибке, которое служит примером C WinAPI с нарушенной структурой: fatal error #1014: #error: "No target architecture" («Нет целевой архитектуры»). Чтобы включить расширения Microsoft, переходим к параметрам проекта и выбираем вкладку «Компилятор». На этой вкладке активируем флажок «Включить расширения Microsoft».

MSDN (Microsoft Developer Network) является центральным порталом для разработки Windows. Это огромная коллекция материалов, связанных с разработкой приложений с использованием инструментов Microsoft. Это самая полная база наряду с документацией по разработке настольных приложений и список API Windows.

Применение DLL в WinAPI C

Библиотека общих элементов управления обеспечивает доступ к расширенным функциям операционной системы, таким как строки состояния, индикаторы выполнения, панели инструментов и вкладки. Эти команды находятся в библиотеке commctrl.dll в 16-разрядных системах и comctl32.dll и сгруппированы с пользовательским интерфейсом.

DLL — это формат файла динамической библиотеки ссылок, используемый для хранения нескольких кодов и процедур для программ Windows. Файлы DLL были созданы таким образом, что несколько программ могли использовать их информацию одновременно, помогая сохранить память. Позволяет пользователю редактировать кодирование сразу нескольких приложений без их изменения. Библиотеки DLL можно преобразовать в статические, используя MSIL Disassembler или DLL для Lib 3.00.

WinAPI C для начинающих

WinAPI как интерфейс прикладного программирования для Windows предлагает множество мощных функций, которые позволяют создавать свои программы, начиная с простой обработки файлов и заканчивая построением графического интерфейса для программирования низкоуровневых драйверов устройств.

Прежде чем начать программирование в WinAPI, необходимо настроить среду для кода в ОС Windows. Поскольку это не дистрибутив Linux, у него нет встроенного компилятора для создания приложений. Рассмотрим следующие варианты для компиляции кода:

MinGW/Cygwin — стороннее приложение C WinAPI, которые обеспечивает подходящую среду программирования на платформе Windows. Данный компилятор идеален для начинающего пользователя благодаря простоте и удобству организации среды. При работе с этим решением потребуется текстовый редактор, так как он не предусмотрен графическим интерфейсом приложения.

Сторонние IDE, или интегрированные среды разработки, — это приложения, которые создают среду GUI для разработчиков. Они поставляются в комплекте с соответствующими инструментами, такими как MinGW, для создания программ Windows.

Microsoft Visual Studio (MSVS) представляет собой разработанную Microsoft IDE в комплекте со своим собственным компилятором, предоставляющим множество функций и возможностей при создании собственных приложений Windows, включая графический интерфейс, информацию о версии приложения, значки и другие ресурсы. Оптимален при исследованиях разработки вредоносных программ.

Для Windows доступен комплект разработчика, который предоставляет документацию и инструменты, позволяющие разработчикам создавать программное обеспечение с использованием API и связанных с ним технологий.

Ссылка на основную публикацию
Что можно делать с айфоном
Не отвлекать оповещениями, когда вы смотрите кино или отдыхаете. Не беспокоить. Вы можете включить режим «Не беспокоить» одним касанием. И...
Хрипит динамик на телефоне при прослушивании
Одной из самых распространенных поломок мобильных аппаратов является выход из строя динамика. Любой пользователь мобильных телефонов знает, что сейчас производители...
Хэнкок из какой вселенной комиксов
Хэнкок Общая информацияЖанр Научная фантастика Драма Комедия Страна производстваСШАКиностудия Columbia Pictures РежиссёрПитер БергАвтор сценария Винс Джиллиган Винсент Нго Когда вышел2008...
Что можно сделать из перебойника от компьютера
Всем привет! В общем валялся у меня в гараже ненужный компьютерный безперебойник, сначала хотел его выбросит. но потом разобрав я...
Adblock detector