WinAPI C за начинаещи

WinAPI е основният набор от API на Microsoft, достъпен на операционни системи Microsoft Windows. По-ранната версия беше наречена Win32 API.

Въведение

WinAPI е интерфейс за приложно програмиране, използван за създаване на Windows приложения. За да започнете, начинаещият трябва да изтегли SDK за Windows, известен преди като Platform SDK.
SDK (Software Development Kit) съдържа заглавни файлове, библиотеки, мостри, документация и инструменти, използвани за разработване на приложения. Windows API е създаден за езици за програмиране C и C ++. Това е най-прекият начин за създаване на приложения за операционни системи от компанията.


C WinAPI може да се раздели на няколко области:
  • основни услуги;
  • сигурност;
  • графики;
  • потребителски интерфейс;
  • мултимедия;
  • Корпус на Windows;
  • мрежови услуги.
  • Основните услуги предоставят достъп до основни ресурси. Те включват C WinAPI функции, файлови системи, устройства, процеси, нишки, регистър и обработка на грешки. Областта за сигурност осигурява интерфейси, обекти и други програмни елементи за удостоверяване, оторизация, криптография и други свързани със сигурността задачи. Графичната подсистема осигурява графична изходна функционалност за монитори, принтери и други изходни устройства. Потребителският интерфейс осигурява функционалност за създаване на прозорци и контроли.
    Компонентът предоставя мултимедийни инструменти за работа с видео, аудио и входящиустройства. Функциите на интерфейса на обвивката позволяват на приложенията да имат достъп до функциите, предоставени от обвивката на операционната система. Мрежовите услуги осигуряват достъп до мрежовите възможности на Windows.


    Компоненти

    При създаването на WinAPI C трябва да се вземат под внимание основните функции, предоставени от Windows API, които могат да бъдат подредени в седем категории. Помислете за всеки от тях по-подробно. Основните услуги предоставят достъп до основните системни ресурси, налични в Windows. Примери: файлова система, периферни устройства, процеси, достъп до системния регистър и система за управление на изключения. Тези функции се съхраняват в kernel.exe, krnl286.exe или krnl386.exe за 16-битови системи и kernel32.dll и advapi32.dll за 32-битови системи. Графичният интерфейс осигурява достъп до ресурси за показване на монитори, принтери и други периферни устройства. Той се съхранява в gdi.exe файла на 16-битови системи и gdi32.dll в 32-битови системи. Потребителският интерфейс е отговорен за разглеждането и управлението на основните елементи, като бутони и ленти за превъртане, информация за клавиатурата и мишката и свързаните с тях функции. Тези функции се съхраняват във файла user.exe на 16-битови системи и user32.dll comctl32.dll в 32-битови системи. Започвайки от версия XP, контролите бяха групирани в comctl32.dll. Общи диалогови прозорци - показва данни за отваряне и запазване на файлове, избиране на цветове и шрифтове. Те се намират в comdlg.dll на 16-битови системи и comdlg32.dll в 32-битови системи. Windows Shell е компонент на WinAPI, който позволява на приложенията да имат достъпна функциите, предоставени от обвивката на операционната система. Мрежовите услуги осигуряват достъп до различни мрежови възможности на операционната система. Неговите подкомпоненти включват NetBIOS, Winsock, RPC. По-стари версии на NetDDE.

    Версия

    Win16 Win32 и Win32s са стандартен набор от компоненти, които позволяват на приложния софтуер да използва функциите на различни семейни операционни системи на Windows. Наследникът на Win32 Win16 бе въведен през 1993 г. в 32-битови продукти от семейството на Windows, като Windows NT 200095. Този софтуерен интерфейс е реализиран от три софтуерни библиотеки: Kernel32.dll, User32.dll и GDI32.dll2. Същите функции на Win32 са налични във всички продукти на Windows и в зависимост от продукта, използването на някои функции може да доведе до грешка в услугата.
    Функциите на Win32 включват сътрудничество между приложения, управление на процеси, компютърни мрежи, файлове, принтери, сървъри и комуникационни портове.

    Спецификация

    WinAPI е абстрактна спецификация на програмния интерфейс за операционната система Windows. Състои се от декларация на функции, асоциации, структури, типове данни, макроси, константи и други програмни елементи. WinAPI се описва главно от MSDN (Microsoft Developer Network) и е в заглавието на Windows C. Официалната реализация на функциите на WinAPI е в Dynamic Libraries (DLL): например kernel32.dll, user32.dll, gdi32.dll или shell32.dll в системната директория. Има изпълнения на Windows API от трети страни: на първо място проектът Wine и проектът ReactOS. Windows API е динамичен обект. Броят на функциите е постояненувеличава с всяка нова версия на ОС и нови сервизни пакети. Има и важни разлики между версиите на сървъра и версиите на десктопните операционни системи. Някои функции не са официално документирани.
    Pelles C
    Pelles C е безплатна програма и най-добър C компилатор и интегрирана среда за разработка (IDE) за програмния език C. Поддържа 32-битови Windows (x86) и 64-битови Windows (x64). ). Той изпълнява стандартите C99 и C11. Pelles C има вграден редактор на ресурси, растерни изображения, редактор на икони и курсори и шестнадесетичен редактор на дъмп. Той е разработен от шведския разработчик Pelle Orinius. Името на компилатора е името на неговия автор. Предлага се с SDK, така че програмистът може незабавно да започне да създава приложения без по-нататъшна инсталация.

    Грешка в архитектурата на местоназначението

    За да създадете приложения на Windows API, трябва да разрешите разширяването на Microsoft. По подразбиране те са изключени, така че компилаторът издава съобщение за грешка, което служи като пример за C WinAPI със счупена структура: фатална грешка # 1014: #error: Няма целева архитектура.

    MSDN

    MSDN (Microsoft Developer Network) е централният портал за разработване на Windows.Това е огромна колекция от материали, които могат да се използват за създаване, Инструменти за разработка на приложения на Microsoft -пълна база, заедно с документация за разработване на приложения за настолни компютри, както и списък на API на Windows.

    Използване на DLL в WinAPI C

    Общата контролна библиотека осигурява достъп до разширени функции на операционната система, като лента на състоянието, индикатори за ефективност, ленти с инструменти, табулатори. Тези команди се намират в библиотеката commctrl.dll в 16-битови системи и comctl32.dll и са групирани с потребителския интерфейс. DLL е файлов формат за динамична библиотека, която се използва за съхраняване на множество кодове и процедури за Windows програми. DLL файловете са създадени по такъв начин, че няколко приложения могат да използват тяхната информация едновременно, което помага да се спести памет. Позволява на потребителя да редактира кодирането на множество приложения наведнъж, без да ги променя. DLL файловете могат да бъдат статично преобразувани с помощта на DOS Disassembler или DLL за Lib 300. изграждане на графичен интерфейс за програмиране на ниско ниво на драйвери на устройства. Преди да започнете да програмирате в WinAPI, трябва да конфигурирате средата за кода в Windows. Тъй като не разпространява Linux, той няма вграден компилатор за създаване на приложения. Помислете за следните опции за компилиране на код:
  • MinGW /Cygwin е приложение за WinAPI на трета страна, което осигурява подходяща среда за програмиране на платформата Windows. Този компилатор е идеален за начинаещ потребител, благодарение на лекотата и лекотата на организация на околната среда. Когато работите с товарешението ще изисква текстов редактор, тъй като не е осигурен от графичния интерфейс на програмата.
  • IDE на трети страни или интегрирани среди за разработка са приложения, които създават GUI среда за разработчиците. Те идват в комплект със съответните инструменти, като MinGW, за създаване на Windows приложения.
  • Microsoft Visual Studio (MSVS) е разработена Microsoft IDE, допълнена със собствен компилатор, който предоставя много функции и възможности за създаване на собствени програми на Windows, включително графичен потребителски интерфейс, информация за версията на програмата, икони и други ресурси. Оптимално за проучване на развитието на зловреден софтуер.
  • За Windows има комплект за разработка, който предоставя документация и инструменти, които позволяват на разработчиците да създават софтуер, използващ API и свързани технологии.

    Свързани публикации