Win32 API - Úvod
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Win32 API - ÚvodWin32 API - Úvod

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Win32 API - Úvod

Google       Google       1. 1. 2006       44 568×

Úvod do Win32 API.
Win32 API je programovací rozhranní ve Windows vyvinuté Microsoftem pro programovací jazyky C/C++, ale nejen pro ně. My se budeme zabývat Win API pomocí C/C++. Vysvětlíme si co je Win32 API a co budeme potřebovat k jeho zvládnutí. Jak budeme postupovat a jak psát ve Win API...

Reklama
Reklama

CCo to je API?

API, neboli aplikační programovací rozhranní (application programming interface), je programovací rozhraní vyvinuté Microsoftem pro programování ve Windows v jazyce C/C++, ale nejen v něm.

Operační systém Windows má definováné své API, které obsahuje všechna volání funkcí, které může aplikace volat z operačního sytému. Také obsahuje definice souvisejících datových typů a struktur.

Takže co tedy je Win32 API?

Z našeho pohledu, coby programátorů, je Win32 API programovací rozhraní, které budeme používat pro komunikaci s operačním systémem Windows a volat jeho různé funkce, využívat jeho datové typy a struktury pro tvorbu aplikací založených na grafickém rozhranní.

Jedná se o tisíce funkcí, které nám umožní provádět různé akce, aniž bychom ty funkce museli vymýšlet; používat datové typy a struktury OS Windows. Win API definuje celou škálu f-cí (funkcí) pro grafiku (GDI), zvuk, ovládací zařízení, sítě aj. Proto se používa hl. při vývoji počítačových her a ve spojeni s DirectX nebo OpenGL jsou to velice silné nástroje. Respektive bez Win32 API byste v DirectX nebo OpenGL nic neudělali. Ale dají se pomocí API psát i vynikající hry bez DirectX nebo OpenGL.

Win32 API definuje určenou strukturu programu, se kterou se blíže seznámíme v příštím díle.

Pozn.: API se vyvíjí již od Windows verze 1.0, neustále se rozrůstá a jen pro zajímavost, ve Windows 1.0 mělo API kolem 450 funkci, dnešní API jich obsahuje tisíce. Rozdíl dnešního API oproti původnímu byla jeho bitová architektura, kde se dříve používalo 16 bitové API, dnes se používá 32 bitové. Co to znamená? Jedná se o použivání 16 a 32 bitových čísel/parametrů. Win32 API obsahuje z hlediska zpětné kompatibility spousty 16 bitových funkcí, ale my se budeme zabývat převážně 32 bitovou architekturou.

Dobrá tedy, když teď víme, co je Win32 API a chceme se ho naučit, co budeme potřebovat? Celkem 3 věci.

Je důležitá alespoň základní znalost jazyk C++ nebo C, pokud ji nemáte, doporučuji nejdříve projít kurz C++.

Kompilátor C++ - doporučuji volně dostupný Dev-C++ nebo MS Visual C++ (zkr. MSVC) MS Visual Studia.

Trpělivost a čas.

Já budu používat kompilátor Dev-C++ vzhledem k jeho dostupnosti. Pokud byste měli problém s funkcí na MSVC, pokusím se to řešit.

Jelikož je programování ve Win32 API už trochu složitější než programování v textovém režimu, řekneme si, jak budeme kód psát, aby se nám v něm lépe orientovalo. Komentáře se používají stejně jako v textovém režimu.

Příklad:

//toto je jednořádkový komentář v API
/*a toto je 
   víceřádkový komentář v API*/

Doporučuji používat konvenci známou jako maďarská notace pojmenování identifikátorů. Název byl dán na počest legendárního programátora Microsoftu Charlese Simnoyie. Já ji používám a mnohokrát se mi velice osvědčila a budu ji používat i zde, nebojte se, nejde o nic hrůzostrašného. Jedná se o zkratku – znak nebo sled znaků, které určují datový typ proměnné nebo návratovou hodnotu f-ce atp. Až se nám bude program rozrůstat, zjistíte, že orientace mezi tou kupou názvů proměnných a funkcí je stále obtížnější a mnohdy budete i přemýšlet, jakého datového typu je proměnná, co vlastně funkce vrací a právě maďarská notace nám trochu pomůže. Pokud se rozhodnete tuto notaci nepoužívat, vaše věc.


c = char nebo WCHAR nebo TCHAR
by = BYTE (unsigned char)
n = short
i = integer
x,y = int používaný jako souřadnice x nebo y
cx, cy = int používaný jako délka x nebo délka y; c znamené počet
b nebo f = BOOL (int); f má význam slova "flag" - příznak
w = WORD (unsigned short)
l = LONG (long)
dw = DWORD (unsigned long)
fn = funkce
s = řetězec
sz = řetězec ukončený znakem 0
h = handle
p = ukazatel

Používají se následovně:

Když budeme chtít definovat proměnnou typu integer, napíšeme: int iMujInteger;, když třeba proměnnou typu boolean, tak BOOL bMujBool;.

Zkratky se dají i spojovat a kombinovat. Když budeme mít třeba funkci, která vrací dlouhý ukazatel na řetězec ukončený nulou, může mít takový tvar: lpfszMojeVelkaFunkce();

Tak, to bude na úvod stačit. Snad v tom nemáte moc velký guláš, jelikož v příštím díle už si ukážeme nejjednodušší aplikaci ve Win32 API a vysvětlíme si spoustu důležitých detailů, týkajících se vytvoření hlavního okna aplikace.

Nezapomeňte psát dotazy a námitky.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v jazycích C++ a Delphi, mezi další koníčky patří kvantová fyzika.

Nové články

Obrázek ke článku Studie Dell ukázala, jak využití monitorů při práci na notebooku zvyšuje produktivitu práce

Studie Dell ukázala, jak využití monitorů při práci na notebooku zvyšuje produktivitu práce

V době, kdy je práce na dálku více než aktuální téma, představila společnost Dell výsledky studie odhalující závislost mezi produktivitou a využíváním periferií, jako jsou myš, klávesnice a monitor. V rámci studie přineslo jejich využívání, bez ohledu na konkrétní parametry periferií, v průměru o 35,3 % vyšší produktivitu práce. Ukázalo se také, že produktivita roste spolu vbelikostí pracovní plochy

Reklama
Reklama
Obrázek ke článku Pandemie koronaviru, co dobrého nám přinesla?

Pandemie koronaviru, co dobrého nám přinesla?

Pandemie koronaviru, která se stala jakýmsi symbolem první poloviny roku 2020, určitě nebyla ničím veselým a je možné, že nás do budoucna ještě trochu potrápí i její následky. Na druhou stranu ale v některých oblastech zanechala pozitivní změny a návyky, na které jsme dříve nebyli zvyklí. Pojďme se společně podívat na krizi z trochu jiného úhlu a zhodnotit její přínosy.

Obrázek ke článku Open source neznamená „zdarma“

Open source neznamená „zdarma“

Mnoho společností po celém světě, univerzity, vládní organizace a jim podobné dnes používají open source technologie k vytvoření vlastních webových stránek. Tyto technologie se používají čím dál tím více. Jednoduše proto, že je řada poskytovatelů nabízí zcela zdarma. Je to ale opravdu to správné řešení pro všechny? 

Obrázek ke článku Rádi sledujete obsah streamovacích služeb? Dejte si pozor na pirátské verze Mandaloriana a Netflixu

Rádi sledujete obsah streamovacích služeb? Dejte si pozor na pirátské verze Mandaloriana a Netflixu

Streamovací služby a jejich obsah se v uplynulých měsících těšily velkému zájmu uživatelů, kteří se při pobytu v karanténě chtěli zabavit sledováním filmů a seriálů. Toho bleskově zneužili hackeři, kteří pod názvy oblíbených streamovacích platforem a jejich obsahu maskovali škodlivé soubory. Nejčastěji používali jako návnadu Netflix a seriál The Mandalorian. 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý