WinAPI C za početnike

WinAPI je glavni skup Microsoftovih API-ja dostupnih na operacijskim sustavima Microsoft Windows. Ranija verzija nazvana je Win32 API.

Uvod

WinAPI je sučelje za programiranje aplikacija koje se koristi za stvaranje Windows aplikacija. Za početak, početnik mora preuzeti SDK za Windows, ranije poznat kao Platform SDK.
SDK (Software Development Kit) sadrži datoteke zaglavlja, knjižnice, uzorke, dokumentaciju i alate koji se koriste za razvoj aplikacija. Windows API je stvoren za programske jezike C i C ++. To je najizravniji način stvaranja aplikacija za operacijski sustav tvrtke.


WinAPI se može podijeliti na nekoliko područja:
  • osnovne usluge;
  • sigurnost;
  • grafika;
  • korisničko sučelje;
  • multimedija;
  • ljuska sustava Windows;
  • mrežne usluge.
  • Osnovne usluge pružaju pristup temeljnim resursima. To uključuje C WinAPI funkcije, datotečne sustave, uređaje, procese, niti, registar i rukovanje pogreškama. Područje sigurnosti pruža sučelja, objekte i druge programske elemente za provjeru autentičnosti, autorizaciju, kriptografiju i druge sigurnosne zadatke. Grafički podsustav pruža funkcionalnost grafičkog izlaza za monitore, pisače i druge izlazne uređaje. Korisničko sučelje pruža funkcionalnost za stvaranje prozora i kontrola.
    Komponenta nudi multimedijske alate za rad s videom, zvukom i dolaznimuređaji. Značajke sučelja ljuske omogućuju aplikacijama pristup funkcijama koje pruža ljuska operativnog sustava. Mrežne usluge omogućuju pristup mrežnim mogućnostima sustava Windows.


    Komponente

    Prilikom izrade WinAPI C treba uzeti u obzir osnovne značajke koje pruža Windows API koje se mogu rasporediti u sedam kategorija. Razmotrite svaki od njih detaljnije. Osnovne usluge omogućuju pristup osnovnim sistemskim resursima dostupnim u sustavu Windows. Primjeri: datotečni sustav, periferija, procesi, pristup registru sustava i sustav upravljanja iznimkama. Te su funkcije pohranjene u kernel.exe, krnl286.exe ili krnl386.exe za 16-bitne sustave i kernel32.dll i advapi32.dll za 32-bitne sustave. Grafičko sučelje omogućuje pristup resursima za prikaz na monitorima, pisačima i drugim perifernim uređajima. Pohranjuje se u datoteci gdi.exe na 16-bitnim sustavima i gdi32.dll u 32-bitnim sustavima. Korisničko sučelje odgovorno je za pregled i upravljanje glavnim elementima, kao što su gumbi i trake za pomicanje, informacije o tipkovnici i mišu te srodne funkcije. Te su funkcije pohranjene u datoteci user.exe na 16-bitnim sustavima i user32.dll comctl32.dll u 32-bitnim sustavima. Počevši od verzije XP, kontrole su grupirane u comctl32.dll. Opći dijaloški okvir - prikazuje podatke za otvaranje i spremanje datoteka, odabir boja i fontova. Nalaze se u comdlg.dll na 16-bitnim sustavima i comdlg32.dll u 32-bitnim sustavima. Windows Shell je WinAPI komponenta koja aplikacijama omogućuje pristupna funkcije koje pruža ljuska operativnog sustava. Usluge mreže omogućuju pristup različitim mrežnim mogućnostima operativnog sustava. Njegove podkomponente uključuju NetBIOS, Winsock, RPC. Starije verzije NetDDE.

    Verzija

    Win16 Win32 i Win32s su standardni skup komponenti koje aplikacijskom softveru omogućuju korištenje funkcija različitih Windows operacijskih sustava. Win32 Win16 nasljednik uveden je 1993. u 32-bitne Windows obiteljske proizvode kao što je Windows NT 200095. Ovo softversko sučelje implementiraju tri softverske knjižnice: Kernel32.dll, User32.dll i GDI32.dll2. Iste značajke Win32 dostupne su u svim proizvodima sustava Windows, a ovisno o proizvodu, korištenje određenih značajki može dovesti do pogreške u radu. Značajke Win32 uključuju suradnju između aplikacija, upravljanje procesima, računalne mreže, datoteke, pisače, poslužitelje i komunikacijske portove.

    Specifikacija

    WinAPI je sažetak specifikacije programskog sučelja za operacijski sustav Windows. Sastoji se od deklaracije funkcije, asocijacija, struktura, tipova podataka, makronaredbi, konstanti i drugih programskih elemenata. WinAPI je uglavnom opisan od strane MSDN (Microsoft Developer Network) i nalazi se u zaglavlju Windows C. Službena implementacija WinAPI funkcija je u Dynamic Libraries (DLL): na primjer, kernel32.dll, user32.dll, gdi32.dll ili shell32.dll u sistemskom direktoriju. Postoje i implementacije Windows API-ja treće strane: prije svega, projekt Wine i projekt ReactOS. Windows API je dinamički objekt. Broj funkcija je konstantans novom verzijom OS-a i novim servisnim paketima. Postoje i važne razlike između poslužiteljskih inačica i verzija operativnog sustava. Neke značajke nisu službeno dokumentirane.
    Pelles C
    Pelles C je besplatan program i najbolji C kompajler i integrirano razvojno okruženje (IDE) za programski jezik C. Podržava 32-bitni Windows (x86) i 64-bitni Windows (x64). ). Primjenjuje i C99 i C11 standarde. Pelles C ima ugrađeni alat za uređivanje resursa, rastersku sliku, uređivač ikona i pokazivača te heksadecimalni editor. Razvio ju je švedski programer Pelle Orinius. Ime prevoditelja je ime njegovog autora. Dolazi s SDK-om, tako da programer može odmah početi stvarati aplikacije bez daljnje instalacije.

    Pogreška odredišne ​​arhitekture

    Da biste izradili Windows API aplikacije, morate omogućiti Microsoftovo proširenje. Prema zadanim postavkama, oni su isključeni, tako da prevodilac izdaje poruku o pogrešci koja služi kao primjer C WinAPI-a sa slomljenom strukturom: fatalna pogreška # 1014: #error: Nema ciljne arhitekture.

    MSDN

    MSDN (Microsoft Developer Network) je središnji portal za razvoj sustava Windows.Ovo je velika zbirka materijala koji se mogu koristiti za stvaranje, Microsoftovi alati za razvoj aplikacija punije bazu zajedno s dokumentacijom na razvoj desktop aplikacija i popis API Windows.

    Korištenje DLL-a u WinAPI C

    Zajednička kontrolna knjižnica omogućuje pristup naprednim funkcijama operacijskog sustava, kao što su statusna traka, pokazatelji učinkovitosti, alatne trake, kartice. Te se naredbe nalaze u biblioteci commctrl.dll u 16-bitnim sustavima i comctl32.dll i grupirane su s korisničkim sučeljem. DLL je format datoteke za dinamičku biblioteku veza koja se koristi za pohranu više kodova i procedura za Windows programe. DLL datoteke su stvorene na takav način da nekoliko aplikacija može istodobno koristiti svoje podatke, pomažući u uštedi memorije. Omogućuje korisniku da uredi kodiranje više aplikacija odjednom bez promjene. DLL-ovi se mogu statički konvertirati pomoću DOS rastavljača ili DLL-ova za Lib 300.

    WinAPI C za početnike

    WinAPI, kao Windows Application Programming Interface, nudi mnoge moćne značajke koje vam omogućuju stvaranje vlastitih aplikacija, od jednostavne obrade datoteka do završetka izrada grafičkog sučelja za programiranje upravljačkih programa niske razine uređaja. Prije nego počnete programirati u WinAPI-ju, morate konfigurirati okruženje za kod na Windowsu. Budući da ne distribuira Linux, nema izgrađen-in kompajler za stvaranje aplikacija. Razmotrite sljedeće opcije za kompilaciju koda:
  • MinGW /Cygwin je aplikacija WinAPI treće strane koja pruža prikladno programsko okruženje na Windows platformi. Ovaj prevodilac je idealan za početnike zbog lakoće i lakoće organizacije okruženja. Kada radite s ovimrješenje će zahtijevati uređivač teksta, jer ga grafičko sučelje programa ne pruža.
  • IDE-i trećih strana ili integrirana razvojna okruženja su aplikacije koje stvaraju GUI okruženje za programere. Oni dolaze u paketu s relevantnim alatima, kao što je MinGW, za stvaranje Windows aplikacija.
  • Microsoft Visual Studio (MSVS) je razvijeni Microsoft IDE zajedno s vlastitim kompilatorom koji pruža mnoge značajke i mogućnosti za stvaranje vlastitih Windows programa, uključujući grafičko korisničko sučelje, informacije o verziji programa, ikone i druge resurse. Optimalno za istraživanje razvoja zlonamjernog softvera.
  • Za Windows postoji razvojni komplet koji nudi dokumentaciju i alate koji programerima omogućuju stvaranje softvera pomoću API-ja i srodnih tehnologija.

    Povezane publikacije