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, nutný především pro ovladače zařízení, je v současné verzi Windows poskytován systémem Windows Driver Foundation.
[editovat] Windows API
Ve Windows je několik desítek knihoven (kernel32.dll, user32.dll, imagehlp.dll, …), které na zavolání vykonají funkce API. 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
[editovat] Přehled komponent Windows API
Funkčnost Windows API lze rozdělit do 7 kategorií:[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 16bitových Windows v souborech kernel.exe, krnl286.exe nebo krnl386.exe a na 32bitový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 16bitových Windows uloženo v gdi.exe a na 32bitových 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 16bitových Windows nachází v user.exe a na 32bitový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 16bitových Windows uložena v souboru commdlg.dll a na 32bitový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 16bitových Windows umístěna v commctrl.dll a na 32bitový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 16bitových Windows v shell.dll, později ve Windows 95 v shell32.dll a na 32bitový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í.
[editovat] Prameny
- ↑ Microsoft Developer Network (červenec 2005). Přehled Windows API. získaný 28. srpna 2005
- ↑ Microsoft Developer Network (červenec 2005). Základní Servis. získaný 28. srpna 2005
- ↑ Microsoft Developer Network (červenec 2005). Graphics Device Interface. získaný 28. srpna 2005
- ↑ Microsoft Developer Network (červenec 2005). User Interface. získaný 28. srpna 2005
- ↑ Microsoft Developer Network (2005). Common Dialog Box Library. získaný 22. září 2005
- ↑ Microsoft Developer Network (červenec 2005). Common Control Library. získán 28. srpna 2005
- ↑ Microsoft Developer Network (červenec 2005). Windows Shell. získáno 28. srpna 2005.
- ↑ Microsoft Developer Network (2005). Nadstavba (Shell) Příručka Programátora. získaný 28. srpna 2005
- ↑ Microsoft Developer Network (červenec 2005). Šíťové Služby. získáno v 28. srpna 2005