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
Pergoly a střechy Brno

Win32 API - Úvod

Google       Google       1. 1. 2006       44 826×

Ú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 Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Reklama
Reklama
Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

Obrázek ke článku Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Snad nikdy není špatná příležitost na investici do hodnotného vzdělání. Obzvlášť v případě, že absolvent dovede teoretické poznatky přetavit v praktické dovednosti, využitelné při řešení problémů i v komunikaci. Právě na to se specializuje studijní program MBA Řízení informačních technologií, vyučovaný na Business Institutu.

Obrázek ke článku Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Pandemie Covid-19 otřásla trhem práce v základech. Dopady krize pocítilo celkově až 45 % zaměstnanců. Není divu, že čím dál větší jistotu přináší obor IT. Ten zůstal krizí téměř nepoznamenán a při nutnosti začít dělat věci na dálku se ještě více ukázalo, jak moc mnohé firmy kvalitní IT potřebují. Do IT nyní přicházejí začátečníci, kteří v něm vidí lukrativní budoucnost a jistotu, ale i freelanceři a zaměstnanci z oborů zasažených krizí

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