WinAPI C za začetnike

WinAPI je glavni nabor Microsoftovih API-jev, ki so na voljo v operacijskih sistemih Microsoft Windows. Prejšnja različica se je imenovala Win32 API.

Uvod

WinAPI je aplikacijski programski vmesnik, ki se uporablja za ustvarjanje aplikacij Windows. Za začetek mora začetnik prenesti SDK za Windows, prej znan kot Platform SDK.
SDK (Software Development Kit) vsebuje datoteke z glavami, knjižnice, vzorce, dokumentacijo in orodja za razvoj aplikacij. Windows API je ustvarjen za programske jezike C in C ++. To je najbolj neposreden način za ustvarjanje aplikacij operacijskega sistema iz podjetja.


WinAPI je mogoče razdeliti na več področij:
  • osnovne storitve;
  • varnost;
  • grafika;
  • uporabniški vmesnik;
  • večpredstavnost;
  • lupina oken;
  • omrežne storitve.
  • Osnovne storitve zagotavljajo dostop do ključnih virov. Med njimi so funkcije WinAPI, datotečni sistemi, naprave, procesi, niti, registracija in ravnanje z napakami. Področje varnosti zagotavlja vmesnike, objekte in druge programske elemente za preverjanje pristnosti, avtorizacijo, kriptografijo in druge varnostne naloge. Grafični podsistem zagotavlja grafično izhodno funkcijo za monitorje, tiskalnike in druge izhodne naprave. Uporabniški vmesnik zagotavlja funkcionalnost za ustvarjanje oken in kontrolnikov.
    Komponenta zagotavlja večpredstavnostna orodja za delo z video, avdio in dohodniminaprave. Lastnosti vmesnika lupine omogočajo aplikacijam dostop do funkcij, ki jih nudi lupina operacijskega sistema. Omrežne storitve omogočajo dostop do omrežnih zmogljivosti Windows.


    Komponente

    Pri ustvarjanju programa WinAPI C je treba upoštevati osnovne funkcije, ki jih ponuja Windows API, ki jih lahko razvrstimo v sedem kategorij. Razmislite o vsaki od njih podrobneje. Osnovne storitve omogočajo dostop do osnovnih sistemskih virov, ki so na voljo v sistemu Windows. Primeri: datotečni sistem, zunanje naprave, procesi, dostop do sistemskega registra in sistem za upravljanje izjem. Te funkcije so shranjene v kernel.exe, krnl286.exe ali krnl386.exe za 16-bitne sisteme in kernel32.dll in advapi32.dll za 32-bitne sisteme. Grafični vmesnik omogoča dostop do virov za prikaz na monitorjih, tiskalnikih in drugih zunanjih napravah. Shranjeno je v datoteki gdi.exe na 16-bitnih sistemih in gdi32.dll v 32-bitnih sistemih. Uporabniški vmesnik je odgovoren za pregledovanje in upravljanje glavnih elementov, kot so gumbi in drsni trakovi, informacije o tipkovnici in miški ter s tem povezane funkcije. Te funkcije so shranjene v datoteki user.exe na 16-bitnih sistemih in user32.dll comctl32.dll v 32-bitnih sistemih. Začenši z različico XP, so bile kontrole združene v comctl32.dll. Splošna pogovorna okna - prikaz podatkov za odpiranje in shranjevanje datotek, izbiro barv in pisav. Nahajajo se v comdlg.dll na 16-bitnih sistemih in comdlg32.dll v 32-bitnih sistemih. Windows Shell je komponenta WinAPI, ki aplikacijam omogoča dostopfunkcij, ki jih nudi lupina operacijskega sistema. Omrežne storitve omogočajo dostop do različnih omrežnih zmogljivosti operacijskega sistema. Njegove podkomponente vključujejo NetBIOS, Winsock, RPC. Starejše različice NetDDE.

    Verzija

    Win16 Win32 in Win32s sta standardna niza komponent, ki aplikacijski programski opremi omogočajo uporabo funkcij različnih operacijskih sistemov družine Windows. Naslednik Win32 Win16 je bil uveden leta 1993 v 32-bitnih družinskih izdelkih za Windows, kot je Windows NT 200095. Ta programski vmesnik se izvaja s tremi knjižnicami programske opreme: Kernel32.dll, User32.dll in GDI32.dll2. Iste funkcije Win32 so na voljo v vseh izdelkih sistema Windows, odvisno od izdelka pa lahko uporaba določenih funkcij povzroči servisno napako.
    Funkcije Win32 vključujejo sodelovanje med aplikacijami, upravljanjem procesov, računalniškimi omrežji, datotekami, tiskalniki, strežniki in komunikacijskimi vrati.

    Specifikacija

    WinAPI je abstraktna specifikacija programskega vmesnika za operacijski sistem Windows. Sestavljen je iz deklaracije funkcij, povezav, struktur, tipov podatkov, makrov, konstant in drugih elementov programiranja. WinAPI je v glavnem opisan z MSDN (Microsoft Developer Network) in je v glavi Windows C. Uradna izvedba funkcij WinAPI je v dinamičnih knjižnicah (DLL): na primer kernel32.dll, user32.dll, gdi32.dll ali shell32.dll v sistemskem imeniku. Obstajajo implementacije Windows API-ja tretjih oseb: na prvem mestu je projekt Wine in projekt ReactOS. Windows API je dinamičen objekt. Število funkcij je konstantnopoveča z vsako novo različico operacijskega sistema in novimi servisnimi paketi. Obstajajo tudi pomembne razlike med različicami strežnika in različicami namiznega operacijskega sistema. Nekatere funkcije niso uradno dokumentirane.
    Pelles C
    Pelles C je brezplačen program in najboljši prevajalnik za C in integrirano razvojno okolje (IDE) za programski jezik C. Podpira 32-bitni Windows (x86) in 64-bitni Windows (x64). ) Izvaja oba standarda C99 in C11. Pelles C ima vgrajen urejevalnik virov, rastrsko sliko, urejevalnik ikon in kazalcev ter urejevalnik šestnajstiškega izpisa. Razvil ga je švedski razvijalec Pelle Orinius. Ime prevajalnika je ime njegovega avtorja. Prihaja s SDK, zato lahko programer takoj začne ustvarjati aplikacije brez nadaljnje namestitve.

    Napaka ciljne arhitekture

    Za ustvarjanje aplikacij API-jev Windows morate omogočiti Microsoftovo razširitev. Privzeto so izključeni, zato prevajalnik izda sporočilo o napaki, ki služi kot primer C WinAPI s pokvarjeno strukturo: fatalna napaka # 1014: #error: Brez ciljne arhitekture.

    MSDN

    MSDN (Microsoft Developer Network) je osrednji portal za razvoj operacijskega sistema Windows.To je ogromna zbirka materialov, ki jih je mogoče uporabiti za ustvarjanje, Microsoftova orodja za razvoj aplikacij popolnejše bazo skupaj z dokumentacijo o razvoju namiznih aplikacij in seznam API Windows.

    Uporaba DLL v WinAPI C

    Skupna nadzorna knjižnica omogoča dostop do naprednih funkcij operacijskega sistema, kot so vrstica stanja, kazalniki učinkovitosti, orodne vrstice, zavihki. Ti ukazi se nahajajo v knjižnici commctrl.dll v 16-bitnih sistemih in comctl32.dll in so združeni z uporabniškim vmesnikom. DLL je format datoteke za dinamično povezovalno knjižnico, ki se uporablja za shranjevanje več kod in postopkov za programe Windows. Datoteke DLL so bile ustvarjene na tak način, da bi lahko več aplikacij hkrati uporabljale njihove informacije, s čimer bi pomagale pri varčevanju s pomnilnikom. Omogoča uporabniku, da uredi kodiranje več aplikacij hkrati, ne da bi jih spremenil. DLL-je lahko statično pretvorite z uporabo Disosemblerja ali DLL-jev za Lib 300.

    WinAPI C za začetnike

    WinAPI, kot programski vmesnik za aplikacijo Windows, ponuja številne zmogljive funkcije, ki vam omogočajo ustvarjanje lastnih aplikacij, od preproste obdelave datotek do končnega izdelava grafičnega vmesnika za programiranje nizko stopenjskih gonilnikov naprav. Preden začnete programirati v WinAPI, morate konfigurirati okolje za kodo v sistemu Windows. Ker ne distribuira Linuxa, nima vgrajenega prevajalnika za ustvarjanje aplikacij. Razmislite o naslednjih možnostih za zbiranje kode:
  • MinGW /Cygwin je aplikacija C WinAPI tretje osebe, ki zagotavlja ustrezno programsko okolje na platformi Windows. Ta prevajalnik je idealen za novega uporabnika zaradi enostavnosti in enostavnosti organizacije okolja. Ko delate s temZa rešitev bo potreben urejevalnik besedila, ker ga grafični vmesnik programa ne zagotavlja.
  • IDE-ji tretjih oseb ali integrirana razvojna okolja so aplikacije, ki ustvarjajo okolje GUI za razvijalce. Prihajajo v paketu z ustreznimi orodji, kot je MinGW, za ustvarjanje aplikacij Windows.
  • Microsoft Visual Studio (MSVS) je razvit Microsoftov IDE, ki je opremljen z lastnim prevajalnikom, ki ponuja številne funkcije in zmožnosti za ustvarjanje lastnih programov Windows, vključno z grafičnim uporabniškim vmesnikom, informacijami o različici programa, ikonami in drugimi viri. Optimalno za raziskave o razvoju zlonamerne programske opreme.
  • Za Windows je na voljo razvojni komplet, ki ponuja dokumentacijo in orodja, ki razvijalcem omogočajo ustvarjanje programske opreme z uporabo API-jev in sorodnih tehnologij.

    Sorodne publikacije