Bevezetés az API-programozási

Bevezetés az API-programozási

API alkalmazás programozási felület. Más szóval, ezek által kínált lehetőségek a Windows operációs rendszer által használt felhasználói program. A rendszer által kínált funkciókat a Windows programozó, más néven API funkciókat. Programozás csak azokat a funkciókat úgynevezett API-programozás. Ebben a cikkben fogunk adni egy meglehetősen széles körű bevezetés az API-programokat.

A szerkezet a API-programok

A központi fogalma Windows programozás az üzenetet. A rendszer egy üzenetet küld az alkalmazást, majd pedig megfelelően kell reagálni. Az üzenet címzettjét a jellemzői az alkalmazás ablak, és a programozás során a legtöbb időt a fejlesztés API-alkalmazás.

Klasszikus API-program szerkezete határozza meg a négy komponens: inicializálása; várjon hurok, vagy az üzenet hurok; A funkció a fő ablak; egyéb funkciók. A legegyszerűbb esetben az utóbbi komponens lehet jelen. A két első komponensek kerülnek WinMain funkciót. Tehát minden rendben.

funkció WinMain

WinMain függvényt hívja meg a rendszer, ami eltelt négy paraméter:

  • HINSTANCE - diskriptor Tekushev alkalmazás példány.
  • hPrevInctance - mindig NULL.
  • lpCmdLine - egy mutatót a parancssor a program futtatásához.
  • nCmdShow - oly módon, hogy szemléltesse az ablakot.

inicializálás

Röviden, nem keletkezik bejegyzés osztályú ablakok, a teremtés és a kimenetet ICRAN. Regisztráció klassv ablak funkció végrehajtása:

Ne tévesszen ATOM típus, int csak nekünk. Az egyetlen paraméter a függvény mutató struktúra WNDCLASS. Ha az osztály bejelentkezett egy ablak ennek az osztálynak lehet létrehozni funkció CreateWindow. Nézzük most a szerkezet WNDCLASS:

Mint látható, a szerkezet nem nagy ügy. Ha a regisztráció sikeres, mint látni fogjuk, a nulla visszatérési értékkel, így lehetséges, hogy hozzon létre egy ablakot.

Íme néhány jellemző értékeit a szerkezet tagjai:

  • Stílusok osztály ablakok. Stílus ablakban határozza meg a kombináció több előre definiált konstansok. Elég gyakran ő pologaetsya nulla, ami azt jelenti, „alapértelmezett stílus”.
  • Diskriptor ablak ikonok. Meghatározása LoadIcon funkciót. Az első paraméter ennek a funkciónak diskriptor alkalmazás, a második - egy karakterlánc, amely a nevét az ikon erőforrás. Annak érdekében, hogy az egyik standard ikonok, az első paraméter kell beállítani NULL, a második érték az alábbi állandók: IDI_APLICATION - standartnayu alkalmazás ikonjának IDI_ASTERISK - ikon "Information"; IDI_EXCLAMATION - "felkiáltójel"; IDI_HAND - "stoptábla"; IDI_QUESTION - "kérdőjel".
  • Diskriptor kurzort. Annak megállapításához, a kurzor segítségével az API-funkciót LoadCursor. A funkció hasonló az LoadIcon funkciót.
  • Az osztály neve. Osztály neve - ez csak egy húr, amelyet azután létrehozásához használt ablakhoz.

Az értékek a többi tag a szerkezet fogjuk be később.
Ablak funkció révén CreteWindow. Itt látható a prototípus ezt a funkciót:

Ezt a funkciót használva, nézzük meg később. Itt az a lényeg, hogy a függvény visszatérési diskriptor létre ablakot, hiba esetén - 0.
Annak érdekében, hogy helyesen megjeleníteni az ablak a képernyőn, végezze el még két funkciót.

BOOL ShowWindow (HWND hwnd, int nCmdShow) - Ez a funkció egy üzenetet jelenít meg a képernyőn látható mezőbe. Az első lehetőség - diskriptor ablak, a második - a megjelenítési módot. Mivel ez a paraméter általánosan használt paraméter nWinMode WinMain funkciót. Azt is előre definiált állandók:

  • SW_HIDE - Az ablak elrejtéséhez
  • SW_MAXIMIZE - ablak maximalizálását
  • SW_MINIMIZE - minimalizálni az ablakon, és aktiválja a legfelső ablak
  • SW_RESTORE - ablak megjelenítéséhez a normál állapotban
  • SW_SHOW - aktiválja oknos aktuális swap
  • SW_SHOWMAXIMIZED -, hogy maximalizálja az ablakot, és azt aktív
  • SW_SHOWMINIMIZED - minimalizálni az ablakon
  • SW_SHOWNA - megjeleníti az ablakot a jelenlegi állapot. Ebben az esetben, aktiválja az ablakot, hogy aktív maradjon.
  • SW_SHOWNOACTIVATE - visszaállítja az ablak előző egy feltétellel. Ebben az esetben az aktív ablak aktív marad.
  • SW_SHOWNORMAL - aktiválja és visszaállítja az ablak korábbi méreteket.

BOOL UpdateWindow (HWND hwnd) - Hívás ezt a funkciót eredményez azonnali átfestés az ablak és a küldő funkció WM_PAINT üzenet ablakban.

üzenet hurok

Üzenet hurok jelen van az összes Windows-párnázott. Ez nem mindig a ciklus világosan bemutatja a programban.

Egy sor álláshely van három funkciót. Ezek a funkciók mindig ott van, de rajtuk kívül a hurok lehet mások számára. GetMessage funkció kiválasztja a sorban kérelem üzeneteket a következő alkalmazás. ahelyett, hogy ez a funkció használható a hasonló funkciójú és PostMessage PeekMessage.
A három funkció egy mutatót az MSG vonalat. Nézzük meg:

  • hwnd - diskriptor ablakot.
  • üzenet - az üzenet kódját.
  • wParam - további paramétert.
  • lParam - további paramétert.
  • időt - az üzenet küldésére.
  • pt - a helyzet az egér kurzor.

Prototype MessageBox funkciót.

Az első paraméter a függvény - egy mutatót a MSG vonal, amely fel a kapott információkat. A második paraméter diskriptor szánt ablakok üzenetet. Ha ez a paraméter NULL, „taszítják” minden üzenet érkezett a kérelmet. Az utolsó két érv adjon meg egy sor üzenetet. Annak érdekében, hogy üzeneteket fogadni a teljes körű, ezeket a paramétereket meg kell egyeznie a 0.

Funkció TransleteMessage preabrazuet WM_KEYDOWN és WM_KEYUP üzenetek WM_CHAR. DispatchMessage függvény egyszerűen továbbítja az üzenetet az ablak eljárást.

ablakfüggvénynek

Ez egy másik komponens feldolgozásáért felelős az üzenet ablakban. Ezt a funkciót nevezzük a rendszer, és négy paraméter egybeesik az első chetyrbmya tagjai az MSG struktúra. Art API-programozás elsősorban az írás ablak funkciók. Itt egy példa egy ablak funkció:

Visual C ++ környezetben van némi segítségre, akik írási API-programokat. Akkor használja két lehetőség van. A projekt listából válassza Win32 Project, majd az alábbi két út: a vizsgálat megszakításához Üres projekt vagy sem. Ha nem jelöli be a jelölőnégyzetet, a rendszer létrehoz egy egyszerű ablak alkalmazás minimális funkcionalitással, így viszont, hogy dolgozzon ki a projekt, és hozzon létre alkalmazásokat a komplexitás.

És így, kezdjük. Válassza ki az utat, egy egyszerű projekt. Nyisd ki az ablakot Solution Explorer. Ahogy az várható volt, üres projekt. Kattintson a jobb gombbal a projekt myschi sort, és kiválasztja a Új tétel, típus - CPP és bevezeti a név api1.cpp. Most már tudjuk kihasználni a szváminak, hogy mások, mint te tanultál. Ahogy ülünk oboschlis minimális számú fájlt. Pozhklyuchaemy windows.h fájl meghatározását tartalmazza API funkciók, valamint igénybevételéhez szükséges állandók és adattípusok. Itt van a kód a program:

Kapcsolódó cikkek