winapi_w01.pdf
(
1473 KB
)
Pobierz
Podstawy programowania
Podstawy programowania
w j
w języku C dla środowiska Windows
ęzyku C dla środowiska Windows
Część pierwsza
Windows API — wprowadzenie
Autor
Roman Simiński
Kontakt
roman.siminski@us.edu.pl
www.us.edu.pl/~siminski
Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim uczestnictwa.
Opracowanie to jest chronione prawem autorskim. Wykorzystywanie jakiegokolwiek fragmentu w celach innych niż nauka własna jest nielegalne.
Dystrybuowanie tego opracowania lub jakiejkolwiek jego części oraz wykorzystywanie zarobkowe bez zgody autora jest zabronione.
Podstawy programowania w C dla systemu Windows
W i n d o w s A P I — w p r o w a d z e n i e
Program, który robi nic
#include <windows.h>
int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpszCmdLine, int iCmdShow )
{
return 0;
}
Ten plik nagłówkowy otwiera „okno” do programowania w okienkach
Plik nagłówkowy
windows.h
zawiera definicje i deklaracje wszystkich typów
danych, funkcji oraz makr
Windows API
.
Windows
API
, zwane potocznie
WinAPI
, to zestaw podstawowych bibliotek,
pozwalających na programowanie aplikacji w środowisku Windows.
Firma Microsoft udostępnia
SDK
(ang.
Software Development Kit
) — to
dokumentacja i zestaw narzędzi pozwalających na tworzenie oprogramowania
z wykorzystaniem
WinAPI
oraz technologii dostępnych w systemie Windows.
Copyright © Roman Simiński
2
Strona
:
Podstawy programowania w C dla systemu Windows
W i n d o w s A P I — w p r o w a d z e n i e
Co oferuje WinAPI?
Dostęp do systemu
plików
,
sterowników
,
procesów
i
wątków
(
kernel32.dll
),
dostęp do dodatkowych elementów jądra, np.
obsługa rejestrów
,
usług
systemowych
,
zarządzania kontami
(
advapi32.dll
).
Realizacja operacji
graficznych
(
gdi32.dll
i
win32k.sys
), zarządzanie
ekranem
,
oknami
i ich
elementami
, obsługa
myszy
i
klawiatury
, obsługa standardowych
okien dialogowych
(
user32.dll
i
comctl32.dll
), dostęp do powłoki systemu
operacyjnego (
shlwapi.dll
).
Dostęp do obsługo sieci i usług sieciowych (
NetBIOS
,
Winsock
,
NetDDE
,
RPC
),
obsługa wbudowanych w system elementów przeglądarki internetowej, URL, XML
(
shdocvw.dll
,
mshtml.dll
,
msxml.dll
).
Obsługa wspieranej sprzętowo grafiki 3D, dźwięku, manipulatorów,
programowanie gier i systemów multimedialnych (ogólnie mówiąc
DirectX
).
Copyright © Roman Simiński
3
Strona
:
Podstawy programowania w C dla systemu Windows
W i n d o w s A P I — w p r o w a d z e n i e
Dygresja — WinAPI a Native API
WinAPI
dostarcza udokumentowanych i zalecanych metod programowania
aplikacji systemu Windows.
Jednak wraz z pojawieniem się Windows NT, wprowadzono dodatkowy,
„nieoficjalny” interfejs programistyczny zwany
Native API
.
Native API
przypomina zestaw nieudokumentowanych przerwań z systemu DOS
— te możliwości są, choć nie są oficjalnie, w pełni i spójnie, opisane.
Aplikacje wykorzystujące
Native API
mogą pracować przed załadowaniem
bibliotek obsługujących
WinAPI
,
Native API
dostarcza możliwości niedostępnych
z poziomu
Win API
, operacje są zwykle szybsze.
Native API
obsługuje pełny zestaw wywołań systemowych opisany w normie
POSIX dla systemów Unix'owych, mino, że oficjalnie w systemie Windows ich nie
ma.
Copyright © Roman Simiński
4
Strona
:
Podstawy programowania w C dla systemu Windows
W i n d o w s A P I — w p r o w a d z e n i e
Program, który robi nic, cd. ...
#include <windows.h>
int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpszCmdLine, int nCmdShow )
{
return 0;
}
Od tej funkcji zaczyna się wykonanie programu
WinMain
to funkcja stanowiąca punkt wejściowy programu. Jest odpowiednikiem
funkcji
main
dla programu zgodnego z ANSI C.
WinMain
nie jest częścią języka C, jej prototyp jest zdefiniowany w
winbase.h
, ten
z kolei jest włączany przez nagłówek
windows.h
.
Podana postać to „czysta” wersja dla
Win API
, w wielu graficznie zorientowanych
środowiskach programistycznych bywa ona inaczej zapisywana lub wręcz jest
ukrywana.
Copyright © Roman Simiński
5
Strona
:
Plik z chomika:
jacekplacekjacek
Inne pliki z tego folderu:
professional-c-4-0-and-net-4.pdf
(44260 KB)
addison-wesley-windows-system-programming-4ed-mtshart2010.pdf
(10460 KB)
Visual C++ and MFC Programming 2nd.pdf
(9754 KB)
chand_colorfigs.pdf
(5736 KB)
Introduction to C++ Programming and Graphics.pdf
(3705 KB)
Inne foldery tego chomika:
Arduino
Asembler
C++
DirectX
GDB
Zgłoś jeśli
naruszono regulamin