WinAPI C pre začiatočníkov

C WinAPI je hlavná sada Microsoft API dostupných v operačnom systéme Microsoft Windows. Predchádzajúca verzia bola pomenovaná Win32 API.

Úvod

C WinAPI je aplikačné programovacie rozhranie používané na vytváranie aplikácií Windows. Ak chcete začať, musí začať sťahovať súpravu SDK pre systém Windows, skôr známu ako platforma SDK.
SDK (Software Development Kit) obsahuje súbory hlavičky, knižnice, vzorky, dokumentáciu a nástroje na vývoj aplikácií. Aplikácia Windows API je vytvorená pre programovacie jazyky C a C ++. Toto je najpriamejší spôsob, ako vytvoriť aplikácie operačného systému od spoločnosti.


C WinAPI možno rozdeliť na niekoľko oblastí:
  • základné služby;
  • bezpečnosť;
  • grafika;
  • používateľské rozhranie;
  • multimédiá;
  • Windows shell;
  • sieťové služby.
  • Základné služby poskytujú prístup k základným zdrojom. Patria sem C funkcie WinAPI, systémy súborov, zariadenia, procesy, vlákna, registre a spracovanie chýb. Bezpečnostná oblasť poskytuje rozhrania, objekty a ďalšie programovacie prvky na autentifikáciu, autorizáciu, kryptografiu a iné úlohy súvisiace s bezpečnosťou. Grafický subsystém poskytuje grafické výstupné funkcie pre monitory, tlačiarne a iné výstupné zariadenia. Používateľské rozhranie poskytuje funkčnosť pri vytváraní okien a ovládacích prvkov.
    Komponent poskytuje multimediálne nástroje pre prácu s videom, zvukom a prichádzajúcimizariadení. Funkcie rozhrania shell umožňujú aplikáciám prístup k funkciám poskytovaným shellom operačného systému. Sieťové služby poskytujú prístup k sieťovým funkciám systému Windows.


    Komponenty

    Pri vytváraní WinAPI C je potrebné vziať do úvahy základné funkcie poskytované rozhraním Windows API, ktoré môžu byť usporiadané v siedmich kategóriách. Zvážte každý z nich podrobnejšie. Základné služby poskytujú prístup k základným systémovým zdrojom dostupným v systéme Windows. Príklady: súborový systém, periférne zariadenia, procesy, prístup do registra systému a systém správy výnimiek. Tieto funkcie sú uložené v súboroch kernel.exe, krnl286.exe alebo krnl386.exe pre 16-bitové systémy a kernel32.dll a advapi32.dll pre 32-bitové systémy. Grafické rozhranie poskytuje prístup k prostriedkom na zobrazenie na monitore, tlačiarňach a iných perifériách. Ukladá sa do súboru gdi.exe na 16-bitových systémoch a gdi32.dll v 32-bitových systémoch. Používateľské rozhranie je zodpovedné za zobrazovanie a správu hlavných prvkov, ako sú tlačidlá a posúvače, informácie o klávesnici a myši a súvisiace funkcie. Tieto funkcie sú uložené v súbore user.exe na 16-bitových systémoch a user32.dll comctl32.dll v 32-bitových systémoch. Od verzie XP boli ovládacie prvky zoskupené v comctl32.dll. Všeobecné dialógy - zobrazuje dáta na otvorenie a ukladanie súborov, výber farieb a písiem. Sú umiestnené v comdlg.dll na 16-bitových systémoch a comdlg32.dll v 32-bitových systémoch. Windows Shell je komponent WinAPI, ktorý umožňuje prístup k aplikáciámna funkcie poskytované shellom operačného systému. Sieťové služby poskytujú prístup k rôznym sieťovým funkciám operačného systému. Jeho subkomponenty zahŕňajú NetBIOS, Winsock, RPC. Staršie verzie systému NetDDE.

    verzia

    Win16 Win32 a Win32s je štandardná sada komponentov, ktoré umožňujú aplikačný softvér používať funkcie rôznych operačných systémoch Windows. Win32 Win16 nástupca bol predstavený v roku 1993 ako 32-bitové rodiny produktov Windows, ako napríklad Windows NT, 200095. Tento softvér rozhranie je realizované tromi softvérovú knižnicu: Kernel32.dll, User32.dll a GDI32.dll2. Tieto funkcie Win32 k dispozícii vo všetkých produktoch, Windows, a v závislosti na výrobku, používanie určitých funkcií môže viesť k chybe služby.
    Funkcie Win32 zahŕňajú spoluprácu medzi aplikáciami, riadenie procesov, počítačové siete, súbory, tlačiarne, servery a komunikačné porty.

    Špecifikácie

    C WINAPO - abstraktné špecifikácie programovacie rozhranie pre operačný systém Windows. Obsahuje vyhlásenie o funkcii, združenia, štruktúry, typy údajov, makrá, konštanty a ďalšie programovacie prvky. WINAPO popísaný hlavne MSDN (Microsoft Developer Network) a uložené vo Windows C. Oficiálne hlave realizáciu funkcií WINAPO je dynamické knižnice (DLL): napríklad kernel32.dll, user32.dll, Gdi32.dll alebo Shell32.dll systémového adresára. Existujú implementácia treťou stranou Windows API: Prvý návrh a projekt Wine ReactOS. Windows API je dynamický objekt. Počet funkcií je konštantnýsa zvyšuje s každou novou verziou operačného systému a novými servisnými balíčkami. Existujú tiež dôležité rozdiely medzi verziami serverov a verziami operačného systému pre počítače. Niektoré funkcie nie sú oficiálne zdokumentované.
    Pelles C
    Pelles C je bezplatný program a najlepší kompilátor C a integrované vývojové prostredie (IDE) pre programovací jazyk C. Podporuje 32-bitové Windows (x86) a 64-bitové Windows (x64). ). Implementuje normy C99 aj C11. Pelles C má vstavaný editor zdrojov, rastrový obrázok, ikonu a editor kurzorov a hexadecimálny editor výpisu. Bol vyvinutý švédskym developerom Pelle Orinius. Názov kompilátora je meno jeho autora. Dodáva sa so súpravou SDK, takže programátor môže okamžite začať vytvárať aplikácie bez ďalšej inštalácie.

    Chyba architektúry cieľa

    Ak chcete vytvoriť aplikácie Windows API, musíte povoliť rozšírenie Microsoft. V predvolenom nastavení sú vylúčené, takže kompilátor vydá chybové hlásenie, ktoré slúži ako príklad C WinAPI so zlomenou štruktúrou: fatálna chyba # 1014: #error: Žiadna cieľová architektúra. "Ak chcete povoliť rozšírenie Microsoft

    MSDN

    MSDN (Microsoft Developer Network) je hlavným portálom pre vývoj Windows, čo je obrovská zbierka materiálov, ktoré možno použiť na vytváranie, Nástroje na vývoj aplikácií spoločnosti Microsoft plnšie základňa spolu s dokumentáciou o vývoji desktopových aplikácií a zoznam API systému Windows.

    Aplikácia DLL v WINAPO C

    Knižnica poskytuje spoločný riadi prístup k pokročilé funkcie operačného systému, ako je napríklad na stavovej lište, progress bar, panely nástrojov, záložkami. Tieto tímy sú v knižnici commctrl.dll 16-bitové systémy a Comctl32.dll a zoskupené s užívateľským rozhraním. DLL je formát súboru pre dynamickú knižnicu odkazov, ktorá sa používa na ukladanie viacerých kódov a procedúr pre programy systému Windows. Súbory DLL boli vytvorené tak, aby viaceré aplikácie mohli súčasne využívať svoje informácie, čo pomáha šetriť pamäť. Umožňuje používateľovi upraviť kódovanie viacerých aplikácií naraz bez zmeny. Knižnice môžu transformovať statická DLL pomocou DOS alebo disassembler DLL Lib 300.

    WINAPO C pre začiatočníkov

    WINAPO ako rozhranie pre programovanie aplikácií pre Windows ponúka mnoho užitočných funkcií, ktoré vám umožní vytvoriť aplikácie, ktoré siahajú od jednoduchého spracovanie súborov a dokončovacie konštrukcia grafického rozhrania pre programovanie ovládačov nízkej úrovne zariadení. Pred spustením programovania v systéme WinAPI musíte konfigurovať prostredie pre kód v systéme Windows. Pretože neposkytuje Linux, nemá vstavaný kompilátor na vytváranie aplikácií. Zvážte nasledujúce možnosti pre kompiláciu kódu:
  • MinGW /Cygwin - aplikácia tretej strany C WINAPO, ktorý poskytuje vhodný programovacie prostredie Windows. Tento kompilátor je ideálny pre začínajúcich používateľov kvôli jednoduchosti a jednoduchosti organizácie prostredia. Pri práci s týmtoriešenie bude vyžadovať textový editor, pretože to neposkytuje grafické rozhranie programu.
  • IDE tretích strán alebo integrované vývojové prostredie sú aplikácie, ktoré vytvárajú prostredie grafického rozhrania pre vývojárov. Dodávajú sa s príslušnými nástrojmi, ako je MinGW, na vytváranie aplikácií systému Windows.
  • Microsoft Visual Studio (MSVS) je vyvinutý Microsoft IDE kompletný s vlastným kompilátorom, ktorý poskytuje mnoho funkcií a schopností pre vytváranie vlastných programov Windows vrátane grafického používateľského rozhrania, informácií o verzii programu, ikon a ďalších zdrojov. Optimálne pre výskum vývoja malwaru.
    V systéme Windows je k dispozícii vývojová sada, ktorá poskytuje dokumentáciu a nástroje, ktoré umožňujú vývojárom vytvárať softvér pomocou rozhrania API a súvisiacich technológií.

    Súvisiace publikácie