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

Win32 API - ÚvodWin32 API - Úvod

 

Win32 API - Úvod

Google       Google       1. 1. 2006       46 960×

Ú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...

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 Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

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