Přeskočit na obsah

Windows API

Z Wikipedie, otevřené encyklopedie

Windows API (neformálně WinAPI) je API vyvinuté firmou Microsoft pro operační systém Microsoft Windows. Je navržené pro použití v programovacím jazyce C nebo C++. Pro aplikaci představuje nejpřímější cestu, jak pracovat se systémem Windows.

Nízkoúrovňový přístup k systému Windows často vyžaduje ovladače zařízení, v současné verzi Windows je poskytováno systémem Windows Driver Foundation.

Windows API

Ve Windows je několik desítek knihoven, které na zavolání funkce API vykonají. (kernel32.dll, user32.dll, imagehlp.dll, …) Jsou to celky, na které je možné v různých programech, tzv. „debuggerech“, nastavovat breakpointy (zarážky). Toho využívají například crackeři.

V Assembleru probíhá volání API funkcí Windows instrukcí call, před ní pomocí instrukce push musí proběhnout uložení hodnot. V některých Assemblerech (MASM) je možné je volat pomocí maker, např.:

invoke MessageBox,NULL, offset text, offset titulek, MB_OK

Přehled komponent Windows API

Funkčnost Windows API lze rozdělit do 7 ketegorií:[1]

Základní služby[2]
Poskytuje přístup k nezbytným zdrojům poskytnutým systémem Windows. Zahrnuje věci jako souborový systém, periferie, procesy a vlákna, přistup do registrů Windows a ošetření chyb. Tyto funkce jsou na 16-bitových Windows v souborech kernel.exe, krnl286.exe nebo krnl386.exe a na 32-bitových Windows v kernel32.dll a advapi32.dll.
Grafické uživatelské rozhraní (GUI)[3]
Poskytuje funkce pro výstup grafického obsahu na monitory, tiskárny a jiná výstupní zařízení. Na 16-bitových Windows uloženo v gdi.exe a na 32-bit Windows v gdi32.dll.
Uživatelské Rozhraní[4]
Poskytuje funkce pro tvorbu a řízení počítačových oken a dalších základních prvků jako jsou tlačítka a posuvníky, zpracovává vstup z klávesnice a myši a jiných funkcí spojených s GUI. Tato funkční jednotka se na 16-bitových Windows nachází v user.exe a na 32-bitových Windows v user32.dll. Od Windows XP se základní prvky nachází v comctl32.dll, společně s bežnými prvky (Common Control Library).
Knihovna běžných dialogových oken[5]
Poskytuje aplikacím standardní dialogová okna pro otevření a ukládání souborů, volbu barvy a fontů, apod. Knihovna je na 16-bitových Windows uložena v souboru commdlg.dll a na 32-bitových Windows v comdlg32.dll. Celkově také patří do kategorie Uživatelské Rozhraní.
Knihovna běžných prvků (Common Control Library)[6]
Poskytuje aplikaci přístup k pokročilejším prvkům operačního systému. Zahrnuje věci jako stavový řádek, zobrazení průběhu výpočtu, toolbary a záložky. Knihovna je na 16-bitových Windows umístěna v commctrl.dll a na 32-bitových Windows v comctl32.dll. Celkově také patří do kategorie Uživatelské Rozhraní.
Windows Shell[7][8]
Umožňuje aplikacím přístup k funkcím poskytovaných shellem Windows. Komponenta je na 16-bitových Windows v shell.dll, později ve Windows 95 v shell32.dll a na 32-bitových Windows v shlwapi.dll. Celkově také patří do kategorie Uživatelské Rozhraní.
Síťové služby[9]
Poskytuje přístup k různým počítačovým sítím. Zahrnuje také NetBIOS, Winsock, NetDDE, RPC a mnoho dalších funkcí.
  1. Microsoft Developer Network (July 2005). Přehled Windows API. získaný v srpnu 28, 2005.
  2. Microsoft Developer Network (červenec 2005). Základní Servis. získaný v sprnu 28, 2005.
  3. Microsoft Developer Network (July 2005). Graphics Device Interface. získaný v sprnu 28, 2005.
  4. Microsoft Developer Network (July 2005). User Interface. získaný v sprnu 28, 2005.
  5. Microsoft Developer Network (2005). Common Dialog Box Library. získaný v září 22, 2005.
  6. Microsoft Developer Network (červenec 2005). Common Control Library. získán v srpnu 28, 2005.
  7. Microsoft Developer Network (červenec 2005). Windows Shell. získáno v sprnu 28, 2005.
  8. Microsoft Developer Network (2005). Nadstavba(Shell) Příručka Programátora. získáné vsprnu 28, 2005.
  9. Microsoft Developer Network (červenec 2005). Šíťové Služby. získáno v srpnu 28, 2005.