Die Windows-API , informell WinAPI , ist die grundlegende Programmierschnittstelle (API) , die es einem Computerprogramm ermöglicht , auf die Funktionen des Microsoft Windows- Betriebssystems zuzugreifen, unter dem das Programm ausgeführt wird. Programme greifen typischerweise über Systembibliotheken , die gemeinsam genutzte Bibliotheken sind , auf diese API zu .
Jede Hauptversion der Windows-API hat einen eindeutigen Namen, der einen Kompatibilitätsaspekt dieser Version kennzeichnet. Beispielsweise ist Win32 die Hauptversion der Windows-API, die auf 32-Bit-Systemen läuft. Der Oberbegriff „Windows-API“ bezeichnet alle Versionen dieser Windows-Funktion.
Microsoft bietet Entwicklerunterstützung über ein Software Development Kit , das Microsoft Windows SDK , welches Dokumentation und Tools zum Erstellen von Software auf Basis der Windows-API enthält.
Dienstleistungen
Dieser Abschnitt listet wichtige Dienste auf, die von der Windows-API bereitgestellt werden. [ 1 ]
Basisdienste
Zu den Basisdiensten gehören Funktionen wie das Dateisystem , Geräte , Prozesse , Threads und die Fehlerbehandlung . Diese Funktionen befinden sich inkernel.exe,krnl286.exeoderkrnl386.exeDateien unter 16-Bit-Windows undkernel32.dll und KernelBase.dllUnter 32- und 64-Bit-Windows. Diese Dateien befinden sich im Ordner\Windows\System32auf allen Windows-Versionen. [ 2 ]
Erweiterte Dienstleistungen
Erweiterte Dienste umfassen Funktionen, die über den Kernel hinausgehen, wie die Windows-Registrierung , das Herunterfahren/Neustarten des Systems (oder Abbruch), das Starten/Stoppen/Erstellen eines Windows-Dienstes und die Verwaltung von Benutzerkonten. Diese Funktionen befinden sich inadvapi32.dllUndadvapires32.dllauf 32-Bit-Windows.
Grafische Geräteschnittstelle
Die Graphics Device Interface (GDI)-Komponente bietet Funktionen zur Ausgabe von Grafikinhalten an Monitore , Drucker und andere Ausgabegeräte . Sie befindet sich ingdi.exeauf 16-Bit-Windows undgdi32.dllUnter 32-Bit-Windows im Benutzermodus. Kernelmodus-GDI-Unterstützung wird bereitgestellt, win32k.sysdie direkt mit dem Grafiktreiber kommuniziert. [ 3 ] [ 4 ]
Benutzeroberfläche
Die Benutzeroberflächenkomponente bietet Funktionen zum Erstellen und Verwalten von Bildschirmfenstern und den grundlegendsten Steuerelementen wie Schaltflächen und Bildlaufleisten , zum Empfangen von Maus- und Tastatureingaben sowie weitere Funktionen, die mit der grafischen Benutzeroberfläche (GUI) von Windows verbunden sind. Diese Funktionseinheit befindet sich inuser.exeauf 16-Bit-Windows unduser32.dllunter 32-Bit-Windows. Seit Windows XP befinden sich die grundlegenden Steuerelemente incomctl32.dll, zusammen mit den allgemeinen Steuerelementen (Common Control Library). [ 5 ]
Gemeinsame Dialogfeldbibliothek
Die Common Dialog Box Library bietet Standarddialogfelder zum Öffnen und Speichern von Dateien, zur Auswahl von Farbe und Schriftart usw. Die Bibliothek befindet sich in einer Datei namenscommdlg.dllauf 16-Bit-Windows undcomdlg32.dllauf 32-Bit-Windows. Es ist in der API-Kategorie Benutzeroberfläche eingeordnet . [ 6 ]
Gemeinsame Steuerbibliothek
Die Common Control Library bietet Zugriff auf erweiterte Benutzeroberflächenelemente, darunter Statusleisten , Fortschrittsbalken , Symbolleisten und Registerkarten . Die Bibliothek befindet sich in einer DLL-Datei namenscommctrl.dllauf 16-Bit-Windows undcomctl32.dllauf 32-Bit-Windows. Es ist in der API-Kategorie Benutzeroberfläche eingeordnet . [ 7 ]
Windows Shell
Die Windows-Shell-Komponente ermöglicht den Zugriff auf die Betriebssystem-Shell . Die Komponente befindet sich inshell.dllauf 16-Bit-Windows undshell32.dllunter 32-Bit-Windows. Die Shell Lightweight Utility Functions sind enthalten.shlwapi.dllEs ist der Kategorie „Benutzeroberfläche“ der API zugeordnet . [ 8 ] [ 9 ]
Netzwerkdienste
Netzwerkdienste ermöglichen den Zugriff auf die verschiedenen Netzwerkfunktionen des Betriebssystems. Zu ihren Unterkomponenten gehören NetBIOS , Winsock , NetDDE , Remote Procedure Call (RPC) und viele mehr. Diese Komponente befindet sich innetapi32.dllauf 32-Bit-Windows. [ 10 ]
Web
Der Webbrowser Internet Explorer (IE) stellt APIs bereit und kann daher als Teil der Windows-API betrachtet werden. IE ist seit Windows 95 OSR2 im Betriebssystem enthalten und bietet seit Windows 98 webbezogene Dienste für Anwendungen an . [ 11 ]
Programminteraktion
Die Windows-API ist eine auf der Programmiersprache C basierende API. [ 12 ] Funktionen und Datenstrukturen können über die C-Syntax durch Einbinden von windows.h verwendet werden, aber die API kann über jede Programmiersprache verwendet werden, die mit den API-Datenstrukturen und den Aufrufkonventionen für Funktionsaufrufe und Rückrufe interoperabel ist .
Es ist anzumerken, dass die Implementierung der API-Funktionen in mehreren anderen Sprachen als C entwickelt wurde. [ a ]
Obwohl C keine objektorientierte Programmiersprache (OOP) ist, weist die Windows-API aufgrund der Verwendung von Handles gewisse objektorientierte Eigenschaften auf. Verschiedene andere Technologien von Microsoft und anderen Anbietern machen diesen objektorientierten Aspekt durch die Verwendung einer OOP-Sprache wie C++ deutlicher – siehe Microsoft Foundation Class Library (MFC), Visual Component Library (VCL) und GDI+ . Windows 8 bietet die Windows-API und die WinRT -API, die in C++ implementiert ist [ 13 ] und von Grund auf objektorientiert konzipiert wurde. [ 13 ]
Windows.pas ist eine Delphi- Unit, die die Funktionen der Windows-API bereitstellt – das Pascal- Äquivalent von windows.h . [ 14 ]
Verwandte Technologien
Viele Microsoft-Technologien nutzen die Windows-API – wie die meisten unter Windows laufenden Programme. Als Middleware zwischen der Windows-API und einer Anwendung ermöglichen die folgenden Technologien einen gewissen Zugriff auf die Windows-API. Einige dieser Technologien werden als Wrapper für die Windows-API bezeichnet, was jedoch umstritten ist, da sie nicht alle Funktionen der Windows-API bereitstellen oder zugänglich machen.
- Die Microsoft Foundation Class Library (MFC) stellt einige Funktionen der Windows-API in C++- Klassen bereit und ermöglicht so eine objektorientiertere Interaktion mit der API.
- Active Template Library (ATL) ist eine C++ Template Library, die Zugriff auf einige Windows-APIs bietet.
- Die Windows Template Library (WTL) wurde als Erweiterung von ATL entwickelt und ist als kleinere Alternative zu MFC gedacht.
- Die meisten Anwendungsframeworks für Windows bieten Zugriff auf die Windows-API, einschließlich der .NET-Laufzeitumgebung und der Java Virtual Machine sowie aller anderen Programmiersprachen, die auf Windows abzielen.
- Verschiedene Technologien zur Kommunikation zwischen Komponenten und Anwendungen – angefangen mit Dynamic Data Exchange (DDE), das von Object Linking and Embedding (OLE) und später vom Component Object Model (COM), Automation Objects , ActiveX- Steuerelementen und dem .NET Framework abgelöst wurde .
Obwohl fast alle Windows-Programme die Windows-API nutzen, verwenden Programme der Windows-NT-Betriebssystemreihe, die früh im Windows-Startprozess gestartet werden, stattdessen die native API . [ 15 ]
Geschichte
Die Windows-API hat Programmierern schon immer einen großen Teil der zugrundeliegenden Struktur der Windows-Systeme zugänglich gemacht. Dies bot ihnen den Vorteil großer Flexibilität und Kontrolle über ihre Anwendungen, brachte aber auch eine große Verantwortung für die Art und Weise mit sich, wie Anwendungen verschiedene, mitunter mühsame, Low-Level-Operationen im Zusammenhang mit einer grafischen Benutzeroberfläche handhaben .
Ein C-Programmieranfänger schreibt beispielsweise oft das einfache „Hallo Welt“-Programm als erste Aufgabe. Der eigentliche Programmteil besteht nur aus einer einzigen printf-Zeile innerhalb der Hauptroutine. Auch der Aufwand für die Verknüpfung mit der Standard-I/O-Bibliothek beträgt nur eine Zeile:
#include <stdio.h>int main ( void ) { printf ( "Hallo Welt! \n " ); }Charles Petzold , Autor mehrerer Bücher über die Programmierung für die Windows-API, sagte: „Das ursprüngliche Hello-World-Programm im Windows 1.0 SDK sorgte für einen Skandal. HELLO.C umfasste etwa 150 Zeilen, und das Ressourcenskript HELLO.RC enthielt weitere 20 Zeilen. (...) Erfahrene Programmierer lachten oft entsetzt oder fassungslos, wenn sie auf das Windows-Hello-World-Programm stießen.“ [ 16 ] Petzold erklärt, dass es zwar das erste Windows-Beispielprogramm war, mit dem Entwickler in Berührung kamen, aber recht „aufwendig“ und komplexer als nötig. Da er es leid war, dass die Länge des Beispiels verspottet wurde, reduzierte er es schließlich auf einen einfachen MessageBox-Aufruf. [ 17 ]
Im Laufe der Jahre wurden verschiedene Änderungen und Erweiterungen an Windows-Systemen vorgenommen, und die Windows-API wurde entsprechend angepasst und erweitert. [ 18 ] Die Windows-API für Windows 1.0 unterstützte weniger als 450 Funktionsaufrufe , während moderne Versionen der Windows-API Tausende unterstützen. Im Allgemeinen blieb die Schnittstelle jedoch recht konsistent, und eine ältere Windows-1.0-Anwendung wirkt für einen Programmierer, der mit der modernen Windows-API vertraut ist, immer noch vertraut. [ 19 ]
Microsoft hat sich um die Aufrechterhaltung der Abwärtskompatibilität bemüht . Um dies zu erreichen, implementierte Microsoft bei der Entwicklung neuer Windows-Versionen mitunter Workarounds [ 20 ] , um die Kompatibilität mit Drittanbietersoftware zu gewährleisten, die die Vorgängerversion auf undokumentierte oder gar nicht empfehlenswerte Weise nutzte. Raymond Chen , ein Microsoft-Entwickler, der an der Windows-API arbeitet, sagte dazu: „Ich könnte wahrscheinlich monatelang nur darüber schreiben, was Apps anstellen und was wir tun mussten, um sie wieder zum Laufen zu bringen (oft wider Erwarten). Deshalb rege ich mich besonders auf, wenn Microsoft vorgeworfen wird, Anwendungen bei Betriebssystem-Upgrades absichtlich unbrauchbar zu machen. Wenn eine Anwendung unter Windows 95 nicht lief, betrachtete ich das als persönliches Versagen.“ [ 21 ]
Eine der größten Änderungen an der Windows-API war der Übergang von Win16 (Windows 3.1 und älter) zu Win32 (Windows NT und Windows 95 und höher). Obwohl Win32 ursprünglich mit Windows NT 3.1 eingeführt wurde und Win32-Funktionen bereits vor Windows 95 die Nutzung einer Win32-Teilmenge ermöglichten, begann die weitverbreitete Portierung von Anwendungen auf Win32 erst mit Windows 95. Um den Übergang zu erleichtern, wurde in Windows 95 für Entwickler innerhalb und außerhalb von Microsoft ein komplexes Schema von API- Thunks verwendet. Dieses ermöglichte es 32-Bit-Code, 16-Bit-Code aufzurufen (für die meisten Win16-APIs) und umgekehrt. Flache Thunks erlaubten es 32-Bit-Code, 16-Bit-Bibliotheken aufzurufen. Dieses Schema wurde in den Bibliotheken von Windows 95 umfassend genutzt, um die Portierung des gesamten Betriebssystems auf Win32 in einem Schritt zu vermeiden. Windows NT war ein reines 32-Bit-Betriebssystem, abgesehen von Teilen zur Kompatibilität mit 16-Bit-Anwendungen. Wie bei Windows 95 standen nur generische Thunks für die Migration von Win16 nach Win32 zur Verfügung. Das Platform SDK enthielt einen Compiler, der den für diese Thunks benötigten Code generieren konnte. Auch 64-Bit-Versionen von Windows können 32-Bit-Anwendungen über WoW64 ausführen . Der Ordner „SysWOW64“ im Windows-Ordner auf dem Betriebssystemlaufwerk enthält verschiedene Tools zur Unterstützung von 32-Bit-Anwendungen. [ 22 ]
Hauptversionen
Jede Version von Microsoft Windows enthält eine Version der Windows-API, und fast jede neue Version von Microsoft Windows hat Erweiterungen und Änderungen an der Windows-API eingeführt. [ 23 ]
Die Bezeichnung „Windows-API“ bezieht sich im Wesentlichen auf dieselbe Funktionalität in jeder Windows-Version. Es gibt jedoch auch eine andere Bezeichnung für diese Funktionalität, die auf wesentlichen Architekturmerkmalen der jeweiligen Windows-Version basiert. Als es nur eine Version gab, wurde sie einfach „Windows-API“ genannt. Mit dem ersten größeren Update gab Microsoft ihr den Namen Win32 und der ersten Version den Namen Win16. Der Begriff „Windows-API“ umfasst beide Versionen sowie alle nachfolgend entwickelten Hauptversionen. [ 24 ]
- Win16 gehört zu den 16-Bit- Versionen von Windows. Die Funktionen befinden sich hauptsächlich in Kerndateien des Betriebssystems: kernel.exe (oder krnl286.exe oder krnl386.exe ), user.exe und gdi.exe . Obwohl die Dateiendung .exe lautet , wird auf diese Dateien wie auf DLL- Dateien zugegriffen .
- Win32 ist in den 32-Bit- Versionen von Windows (NT, 95 und höher) enthalten. Die Funktionen sind in System-DLL-Dateien wie kernel32.dll , user32.dll und gdi32.dll implementiert. Win32 wurde mit Windows NT eingeführt . Unter Windows 95 wurde es zunächst als Win32c bezeichnet, wobei „c“ für Kompatibilität oder Chicago stand . Diese Bezeichnung wurde später von Microsoft zugunsten von Win32 aufgegeben.
- Win32s ist eine Erweiterung für die Windows 3.1x- Familie von Microsoft Windows, die eine Teilmenge der Win32-API für diese Systeme implementiert. Das „s“ steht für „Teilmenge“.
- Win64 ist die Version auf den 64-Bit- Plattformen der Windows-Architektur (Stand 2021: x86-64 und AArch64 ). [ b ] [ 25 ] [ 26 ] Sowohl 32-Bit- als auch 64-Bit-Versionen einer Anwendung können aus einer einzigen Codebasis kompiliert werden , obwohl einige ältere API-Funktionen als veraltet markiert und einige der in Win32 als veraltet markierten API-Funktionen entfernt wurden. Alle Speicherzeiger sind standardmäßig 64-Bit ( LLP64- Modell), daher beinhaltet die Portierung von Win32-kompatiblem Quellcode die Aktualisierung für 64-Bit -Zeigerarithmetik . [ 27 ]
- WinCE ist die Version im Windows CE- Betriebssystem.
Andere Implementierungen

Das Wine -Projekt bietet eine Win32-API- Kompatibilitätsschicht für Unix-ähnliche Plattformen zwischen der Linux-Kernel-API und Programmen, die für die Windows-API geschrieben wurden. ReactOS geht noch einen Schritt weiter und zielt darauf ab, das vollständige Windows-Betriebssystem zu implementieren. Dabei arbeitet es eng mit dem Wine-Projekt zusammen, um die Wiederverwendung von Code und die Kompatibilität zu fördern. DosWin32 und HX DOS Extender sind weitere Projekte, die die Windows-API emulieren, um die Ausführung einfacher Windows-Programme über die DOS- Befehlszeile zu ermöglichen. Odin ist ein Projekt zur Emulation von Win32 unter OS/2 und löst die ursprüngliche Win-OS/2-Emulation ab, die auf Microsoft-Code basierte. Weitere kleinere Implementierungen sind die MEWEL- und Zinc -Bibliotheken, die eine Teilmenge der Win16-API unter DOS implementieren sollten (siehe Liste plattformunabhängiger GUI-Bibliotheken ).
Windows Interface Source Environment (WISE) war ein Lizenzprogramm von Microsoft, das es Entwicklern ermöglichte, Windows-basierte Anwendungen auf Unix- und Macintosh -Plattformen neu zu kompilieren und auszuführen. Die WISE SDKs basierten auf einem Emulator der Windows-API, der auf diesen Plattformen lauffähig war. [ 28 ]
Zu den Standardisierungsbestrebungen zählten Suns Public Windows Interface (PWI) für Win16 (siehe auch: Sun Windows Application Binary Interface ( Wabi )), Willows Softwares Application Programming Interface for Windows (APIW) für Win16 und Win32 (siehe auch: Willows TWIN ) sowie ECMA-234 , mit dem versucht wurde, die Windows-API bindend zu standardisieren.
Compilerunterstützung
Um Software zu entwickeln, die die Windows-API nutzt, muss ein Compiler die oben aufgeführten Microsoft-spezifischen DLLs verwenden können (COM-Objekte liegen außerhalb von Win32 und setzen ein bestimmtes vtable-Layout voraus). Der Compiler muss entweder die Headerdateien verarbeiten, die die internen API-Funktionsnamen offenlegen, oder diese Dateien bereitstellen.
Für die Programmiersprache C++ haben Zortech (später Symantec , dann Digital Mars ), Watcom und Borland bekannte kommerzielle Compiler entwickelt, die häufig unter Windows 16, Win32s und Win32 eingesetzt wurden. Einige dieser Compiler boten Speichererweiterungen an , die es ermöglichten, Win32-Programme unter Windows 16 mit Microsofts verteilbarer Win32s-DLL auszuführen. Der Zortech-Compiler war vermutlich einer der ersten stabilen und brauchbaren C++-Compiler für die Windows-Programmierung, noch bevor Microsoft selbst einen C++-Compiler anbot.
Für bestimmte Anwendungsklassen sollte das Compilersystem auch IDL-Dateien ( Interface Description Language ) verarbeiten können . Diese Voraussetzungen (Compiler, Tools, Bibliotheken und Header) werden zusammenfassend als Microsoft Platform SDK bezeichnet . Eine Zeit lang waren Microsoft Visual Studio und Borlands integriertes Entwicklungssystem die einzigen integrierten Entwicklungsumgebungen (IDEs), die dies ermöglichten (das SDK kann jedoch separat von der gesamten IDE-Suite kostenlos heruntergeladen werden, und zwar als Microsoft Windows SDK für Windows 7 und .NET Framework 4 ).
Seit 2016 bieten die Projekte MinGW und Cygwin ebenfalls eine solche Umgebung auf Basis der GNU Compiler Collection (GCC) an. Mithilfe eines separaten Header-Dateisatzes wird das Linken mit den Win32-spezifischen DLLs vereinfacht. LCC-Win32 ist ein von Jacob Navia gepflegter C-Compiler und für nichtkommerzielle Zwecke kostenlos . Pelles C ist ein von Pelle Orinius gepflegter kostenloser C-Compiler. Free Pascal ist ein freier Object-Pascal -Compiler, der die Windows-API unterstützt. Das MASM32-Paket ist ein ausgereiftes Projekt, das die Windows-API unter Microsoft Macro Assembler (MASM) durch die Verwendung von benutzerdefinierten oder konvertierten Headern und Bibliotheken aus dem Platform SDK unterstützt . Der Flat Assembler FASM ermöglicht das Kompilieren von Windows-Programmen ohne externen Linker, selbst unter Linux.
Für die strukturierte Ausnahmebehandlung ( Structured Exception Handling , SEH) wird auch Windows-spezifische Compilerunterstützung benötigt . Dieses System erfüllt zwei Zwecke: Es bietet eine Grundlage für die Implementierung sprachspezifischer Ausnahmebehandlung und ermöglicht es dem Kernel, Anwendungen über Ausnahmezustände wie das Dereferenzieren eines ungültigen Zeigers oder einen Stack-Überlauf zu informieren. Die Microsoft/Borland C++-Compiler konnten dieses System bereits bei seiner Einführung in Windows 95 und NT nutzen. Die eigentliche Implementierung war jedoch undokumentiert und musste für das Wine-Projekt und freie Compiler per Reverse Engineering ermittelt werden. SEH basiert darauf, Ausnahmebehandlungs-Frames auf den Stack zu legen und sie anschließend einer verketteten Liste im Thread-lokalen Speicher (dem ersten Feld des Thread-Umgebungsblocks) hinzuzufügen. Wird eine Ausnahme ausgelöst, arbeiten Kernel und Basisbibliotheken den Stack ab und führen die Behandlungs- und Filterfunktionen aus, sobald sie gefunden werden. Schließlich wird jede von der Anwendung nicht behandelte Ausnahme vom Standard-Backstop-Handler abgefangen, der den Windows-Absturzdialog anzeigt.
Andere Sprachen
Microsoft plant, die Windows-API im Rahmen seines Projekts für die Verwendung mit modernem C++ zu aktualisieren win32metadata. [ 29 ] Derzeit stehen C++/WinRT und die „Windows Implementation Library“ (WIL) für die Verwendung in modernem C++ zur Verfügung. Microsoft hat außerdem Bindungen für andere Sprachen, darunter C# und Rust, zum Aufrufen der Win32-API erstellt. [ 30 ]
Siehe auch
- Windows.h
- Windows-Bibliotheken für OS/2
- Interix – Unix-Subsystem für Windows NT-Betriebssysteme
- Linux-Kernel-API – Linux-Kernel-APIs und ABIs
- Microsoft Windows-Bibliotheksdateien – Liste der wichtigsten gemeinsam genutzten Bibliotheken von Microsoft Windows
- Ältere Windows-Audiokomponenten – Veraltete Microsoft Windows-Audio-APIs
- C++/WinRT – Windows-Laufzeitbibliothek für C++
- Windows Native API
- C POSIX-Bibliothek
- C-Standardbibliothek
- C++-Standardbibliothek
Anmerkungen
- ^ Sowohl Pascal als auch x86-Assembler wurden in früheren Versionen häufig verwendet, bevor C dominant wurde. Ein Überbleibsel daraus ist, dass die API-Funktionen immer noch die Pascal-Aufrufkonvention verwenden , um den Stack nach einem Aufruf von den auf den Stack gelegten Parametern wiederherzustellen (obwohl sie standardmäßig, wie die meisten C-Compiler, erwarten, dass die Parameter von rechts nach links auf den Stack gelegt werden).
- ^ Die Nomenklatur der veröffentlichten 64-Bit-Versionen umfasst Windows XP Professional x64 Edition und x64 Editionen von Windows Server 2003, Windows Vista und Windows Server 2008 auf der x86-64 (AMD64) Plattform sowie Windows 2000 Server Limited Edition, Windows XP 64-Bit Edition , Windows Advanced Server 2003 für Itanium und Windows 2008 Advanced Server für Itanium auf der IA-64 Plattform.
Referenzen
- ^ „Windows API Index“ . 15. März 2023.
- ^ Microsoft Developer Network (Juli 2005). Basisdienste. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (Juli 2005). Grafikgeräteschnittstelle. Abgerufen am 28. August 2005.
- ^ "G" . Microsoft Developer Network . Abgerufen am 28. Januar 2009 .
- ^ Microsoft Developer Network (Juli 2005). Benutzeroberfläche. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (2005). Common Dialog Box Library. Abgerufen am 22. September 2005.
- ^ Microsoft Developer Network (Juli 2005). Common Control Library. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (Juli 2005). Windows Shell. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (2005). Shell Programmer's Guide. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (Juli 2005). Netzwerkdienste. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (Januar 2006); Programmierung und Wiederverwendung des Browsers. Abgerufen am 22. Januar 2006.
- ^ „Anleitung: Erstellen einer herkömmlichen Windows-Desktopanwendung (C++)“ . Microsoft Docs . 23. Februar 2022.
- ^ a b Mayberry, Michael (2012). WinRT Revealed . New York City: Apress. S. 3. ISBN 978-1-4302-4585-8Die
- ^ Texeira, Steve und Xavier Pacheco (2002). Borland Delphi 6 Entwicklerhandbuch . Sams. P. 253. ISBN 0672321157Die
- ^ Russinovich, Mark (November 2006). „Inside Native Applications“ . Microsoft Docs . Abgerufen am 12. April 2022 .
- ^ Charles Petzold (Dezember 2001). Programmieren von Microsoft Windows mit C# . Microsoft Press. Jenseits der Konsole, Seite 47.
- ^ Petzold, Charles. „Das berüchtigte Windows-„Hello World“-Programm“ . www.charlespetzold.com . Abgerufen am 30. Juni 2024 .
- ^ Detaillierte Analyse der Änderungen in der Windows-API von XP bis 10. Abgerufen am 8. September 2016.
- ^ Charles Petzold (11. November 1998). Programmierung unter Windows, Fünfte Auflage . Microsoft Press. APIs und Speichermodelle, Seite 9.
- ^ Smith, Graham (8. Oktober 2022). „Windows 95 enthielt speziellen Code, nur um einen Fehler im ursprünglichen SimCity zu beheben . “ Rock, Paper, Shotgun .
- ^ Raymond Chen (15. Oktober 2003). Was ist mit BOZOSLIVEHERE und TABTHETEXTOUTFORWIMPS? Abgerufen am 29. Juni 2022.
- ^ Hoffman, Chris (16. Februar 2018). „Was ist der Unterschied zwischen den Ordnern „System32“ und „SysWOW64“ in Windows?“ . How-To Geek . Abgerufen am 11. April 2023 .
- ^ Das Iseran-Projekt (1996–2001). Geschichte der Windows-API. Abgerufen am 7. Oktober 2005.
- ^ Microsoft Developer Network (Juli 2005). Übersicht über die Windows-API. Abgerufen am 28. August 2005.
- ^ „Homepage von Windows XP Professional x64 Edition“ . Microsoft. Archiviert vom Original am 11. Januar 2006.
- ^ „Microsoft 64-Bit-Computing-Übersicht“ . Microsoft. Archiviert vom Original am 12. Januar 2009.
- ^ „MSDN: Vorbereitung auf 64-Bit-Windows“ . Microsoft. 19. August 2020.
- ^ WISE, archiviert am 30.03.2008 in der Wayback Machine
- ^ „Win32-APIs für mehr Sprachen zugänglich machen“ . blogs.windows.com. 21. Januar 2021.
- ^ "win32metadata" . Abgerufen am 4. September 2025 .
Externe Links
- MSDN Windows API-Index
- Windows API Microsoft Codebeispiele
- ECMA-234 – ECMA- Standard für eine Teilmenge der Windows-API
- Newsgroup „Erweiterte Win32-API“
- Französische Win32-API-Newsgruppe