Windows API

Windows API

Windows API ou WinAPI est le nom donné par Microsoft à l'Interface de programmation (API) sur les systèmes d'exploitation Microsoft Windows. Elle est conçue pour les langages de programmation C et C++ et est la manière privilégiée pour une application d'interagir avec les systèmes d'exploitation Windows jusque Windows 7.

Un kit de développement (SDK) est disponible pour Windows qui fournit la documentation et les outils pour permettre aux développeurs de créer des logiciels en utilisant cette API et les technologies associées.

Sommaire

Composant de Windows API

Les fonctionnalités fournies par Windows API peuvent être rangées dans sept catégories :

Services de base

Donne accès aux ressources fondamentales du système disponibles sous Windows. Exemples : Système de fichiers, périphériques, processus, processus léger, accès au registre système et au Système de gestion d'exceptions. Ces fonctions sont stockées dans les fichiers kernel.exe, krnl286.exe ou krnl386.exe pour les systèmes 16-bits et kernel32.dll et advapi32.dll sur les systèmes 32 bits.

Interface graphique

Permet d'accéder aux ressources pour l'affichage sur les moniteurs, imprimantes, ... Elle est stockée dans le fichier gdi.exe sur les systèmes 16-bits et gdi32.dll sur les systèmes 32-bits.

Interface utilisateur

Permet d'afficher et de gérer les contrôles de base comme les boutons et barres de défilement, de recevoir les informations du clavier et de la souris et des fonctionnalités associées comme l'Environnement graphique. Ces fonctionnalités sont stockées dans le fichier user.exe sur les systèmes 16-bits, et user32.dll comctl32.dll sur les systèmes 32-bits. Depuis Windows XP, les contrôles ont été regroupés dans comctl32.dll, dédiant user32.dll pleinement aux infrastructures.

Boîtes de dialogue communes

Permet d'afficher les Boîtes de dialogue pour ouvrir et enregistrer des fichiers, choisir la couleur et la police, ... Elle réside dans le fichier comdlg.dll sur les systèmes 16-bits et comdlg32.dll sur les systèmes 32-bits. Elle a été groupée avec la partie Interface utilisateur.

Bibliothèque de contrôles communs

Donne accès à des fonctions avancées du système d'exploitation comme des barres de statut (situées au bas des fenêtres), barres de progression, barres d'outils et onglets. Ces commandes résident dans la bibliothèque logicielle commctrl.dll sur les systèmes 16-bits et comctl32.dll. Elle est groupée avec l'interface utilisateur.

Shell Windows

Le composant de Windows API qui permet à des applications d'accéder aux fonctionnalités fournies par le shell du système d'exploitation. Elle réside dans le fichier shell.dll sur les systèmes 16-bits et shell32.dll sur les systèmes 32-bits, et depuis Windows 95 dans le fichier shlwapi.dll. Elle a été groupée avec la partie Interface utilisateur.

Services réseau

Donne accès aux diverses possibilités de gestion de réseau du système d'exploitation. Ses sous-composants incluent NetBIOS, Winsock, RPC... Sur les anciennes versions de Windows, cela incluait NetDDE.

Autres API liées

Internet Explorer offre quelques API qui sont souvent utilisées par les programmes et peut donc être considéré comme une partie de Windows API. Internet Explorer est fourni d'office depuis Windows 98. Il est prévu d'arrêter cette prise en charge avec Vista.

Depuis Windows 95, il y aussi des API pour les affichages graphiques qui permettent d'avoir accès aux ressources de DirectX.

Il y a aussi d'autres API pour les relations entre les applications comme DDE (Dynamic Data Exchange, Echange dynamique de données), OLE (Object Linking and Embedding) (voir (en) Object Linking and Embedding) et COM (Component Object Model).

Versions

Chaque version de Windows a apporté son lot de modifications de l'API. Malgré cela, le nom de l'API reste le même sauf pour les modifications majeures. Microsoft a quand même changé le nom Win32 en Windows API pour les contenir dans une seule famille même pour une prochaine modification de celle-ci.

  • Win16 était la première API pour les versions 16-bits du système. Elle était au départ simplement nommé Windows API mais a été renommé en Win16 pour permettre le passage au 32-bits de Windows API. Les fonctionnalités étaient principalement dans le noyau du système : kernel.exe (ou krnl286.exe ou krnl386.exe), user.exe et gdi.exe. Malgré l'extension exe, ces fichiers sont des bibliothèques de liens dynamiques.
  • Win32 est la version 32-bits de l'API pour les systèmes plus récents. L'api se compose d'implémentations, comme avec Win16, dans le système bibliothèques de liens dynamiques. Le noyau de Win32 réside dans les fichiers kernel32.dll, user32.dll, et gdi32.dll. Win32 a été présenté avec Windows NT. La version embarquée avec Windows 95 était appelée Win32c, avec "c" pour compatibilité (compatibility en anglais) mais ce nom a été abandonné pour Win32. Dans la version Windows NT 4.0 et suivantes, les appels de Win32 sont exécutés par deux modules, csrss.exe (Client/Server Runtime Server Subsystem) en mode utilisateur et win32k.sys en mode noyau.
  • Win32s est une extension de Win32 pour les systèmes Windows 3.x qui a été introduite comme sous-ensemble de Win32. Le "s" est pour sous-ensemble (subset en anglais).
  • Win32 pour les éditions 64bits précédemment appelée Win64 est la version pour les ordinateurs 64-bits, avec les versions Windows XP Professional x64 Edition pour les processeurs x86-64 ainsi que Windows XP 64-bit Edition et Windows Server 2003 pour les processeurs Itanium. Cette version apporte juste le support pour ces deux nouvelles plateformes.

Autres implémentations

Bien que Windows API soit soumise aux droits d'auteurs[réf. nécessaire] et malgré les précédents légaux aux États-Unis, il est permis d'émuler cette API sur d'autres plateformes.

C'est le cas par exemple de WINE qui émule une API compatible avec Win32 pour les systèmes d'exploitation à base UNIX. Un autre exemple est le système ReactOS.

Voir aussi

  • WinRT, le remplaçant de WinAPI, coexistant avec celle-ci sous Windows 8.

Liens externes

Windows API Reference sur MSDN : la référence à la source.

Spy Studio Surveiller l'activité.

news://fr.comp.os.ms-windows.programmation Newsgroup français dédié à la programmation des API Win32

http://www.charlespetzold.com/pw5/ Livre de référence indispensable pour acquérir les bases


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Windows API de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Windows API — (англ. application programming interfaces)  общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Microsoft Windows корпорации «Майкрософт» и совместимой с ними свободной… …   Википедия

  • Windows API — The Windows API, informally WinAPI, is Microsoft s core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems. It was formerly called the Win32 API; however, the name Windows API more accurately… …   Wikipedia

  • Windows 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

  • Windows API — Win32 es un conjunto de APIs (Application Programming Interface Interfaz de programación de aplicaciones) disponibles para los sistemas operativos Microsoft Windows. Microsoft proporciona un SDK (kit de desarrollo de aplicaciones) en el que se… …   Enciclopedia Universal

  • Windows NT — …   Википедия

  • Windows Application Programming Interface — Windows API (application programming interfaces) общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом… …   Википедия

  • Windows NT 3.1 — Windows NT 3.1 …   Википедия

  • Windows NT 3.1 — Part of the Microsoft Windows family …   Wikipedia

  • Windows Template Library — Тип библиотека (программирование) Разработчик Nenad Stefanovic Написана на С++ Операционная система Microsoft Windows Последняя версия WTL 8.1.11324 (21.11.2011) Лицензия …   Википедия

  • Windows Longhorn — Windows Vista Famille Microsoft Windows Type de noyau Noyau hybride État du proje …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”