• Nie Znaleziono Wyników

Czym jest WinAPI?

N/A
N/A
Protected

Academic year: 2021

Share "Czym jest WinAPI?"

Copied!
13
0
0

Pełen tekst

(1)

Programowanie Windows

Jacek Matulewski

19 lutego 2017

http://www.fizyka.umk.pl/~jacek/dydaktyka/winprog_v2/

(2)

O czym będzie ten wykład:

Hasła:

•Tworzenie aplikacji z GUI

•WinAPI (tylko podstawy, więcej stary wykład)

•Język C#

•WPF

•MVVM

•UWP

•P/Invoke

(3)

Co to jest Windows API?

• Windows API = WinAPI = Win32 API

• API = application programming interface

• Interfejs programistyczny pozwalający na dostęp do funkcjonalności Windows z

poziomu kodu. Zbiór bibliotek DLL z eksportowanymi funkcjami.

• Dostęp do niemal wszystkich funkcjonalności Windows (częściowo poza bezpieczeństwem)

• Windows SDK (m.in. nagłówki C do DLL)

(4)

Zasadnicze biblioteki Win32 API:

• Base services (jądro) – kernel32.dll

– podstawowe funkcje systemu plików – nie mylić z funkcjami z shell32.dll,

– obsługa urządzeń peryferyjnych, – wątki,

– obsługa błędów – ale nie wyjątki

(5)

Zasadnicze biblioteki Win32 API:

• Advanced services – advapi32.dll

– rejestr systemu Windows (baza danych), – zamykanie i restart systemu,

– usługi Windows,

– obsługa kont użytkowników

(6)

Zasadnicze biblioteki Win32 API:

• Graphics Device Interface – gdi32.dll

– warstwa abstrakcyjna dla urządzeń wyjścia korzystających z grafiki

– obsługa urządzeń wyjścia m.in. monitor, drukarka – kontakt ze sterownikami urządzeń GDI,

– obsługa czcionek i palet kolorów,

– rysowanie okien, kontrolek, menu itp., – Od Windows XP: GDI+ (C++)

– Windows Vista/7: Windows Display Driver Model

(7)

Zasadnicze biblioteki Win32 API:

• User Interface – user32.dll

– podstawowe kontrolki Windows tworzące GUI:

przyciski, paski przewijania, pola wyboru itp.

– obsługa zarówno wejścia (mysz, klawiatura), jak i wyjścia (zmiana wyglądu kontrolki)

– Od Windows XP obsługa kontrolek zgromadzona jest w bibliotece comctl32.dll (Common Control Library), też: pasek stanu, zakładki, itp.

– Nakładki: MCF, ATL, VCL (Borland), Qt,

Gimp Toolkit (GTK), AWT (Java), WF (.NET)

(8)

Zasadnicze biblioteki Win32 API:

• Common Dialog Boxes Library – comdlg32.dll

– okna dialogowe udostępniane przez Windows:

1) wczytywanie i zapisywanie pliku, 2) wybór czcionki, wybór koloru,

3) przeszukiwanie i zastępowanie, 4) okna związane z drukowaniem

(9)

Zasadnicze biblioteki Win32 API:

• Windows Shell (powłoka systemu Windows) shell32.dll

– wyższa warstwa API (nad jądrem i GUI),

– CopyFile[Ex], MoveFile itd. (kernel32.dll) vs SHFileOperation i IFileOperation (od Vista)

– WinExec (Win16) i CreateProcess (kernel32.dll) vs ShellExecute

– Na funkcjach powłoki bazuje Eksplorator

Windows i częściowo narzędzia administracyjne

(10)

Zasadnicze biblioteki Win32 API:

• Networking services

– NetBIOS = Network Basic I/O System,

– WinSock = Windows Sockets API (obsługa TCP/IP) – RPC = remote procedure call

– NetDDE, DDE = dynamic data exchange – por. też. DCOM, COM+

(11)

Zasadnicze biblioteki Win32 API:

• Desktop Windows Manager (DWM)

• Windows Management Instrumentation (WMI)

• Windows Internet (WinINet)

• Active Directory

• Cryptography

• Image Mastering API (IMAPI)

• Media Control Interface (MCI)

i wiele, wiele, wiele innych

(12)

Historia

Wikipedia: https://en.wikipedia.org/wiki/Microsoft_Windows#/media/File:Windows_Updated_Family_Tree.png

(13)

Zgodność wstecz

• Windows 1.01 – 450 funkcji

• Windows 7 – tysiące funkcji!

(ale te 450 nadal jest)

• Windows 8 – pierwsze poważne odejścia od zgodności

• Windows 10 – ostatnia wersja

Cytaty

Powiązane dokumenty

Przyznając sens takiemu uzasadnieniu warto jednak zauważyć, że w przypadku częstego sięgania do pliku wymiany oraz danych, odczyt z dysku jest utrudniony, gdyż głowica musi

Listę eksportowanych funkcji możemy obejrzeć za pomocą uniwersalnego narzędzia dumpbin z Visual C++.. c:\Program Files (x86)\Microsoft Visual

The Political Economy of Architectural Research Dutch Architecture, Architects and the City, 2000-2012..

lichkeiten der sprachspielerischer Verwendung der Phraseme in medialen Texten aufge- zeigt. Mit Hilfe dieser Techniken wurden sprachspielerische Effekte erzielt, ohne dass die Form

Als gevolg van veranderende klant- omstandigheden moeten IT-service- providers veel meer dan nu het geval is het vermogen ontwikkelen om zich aan te passen. Hierdoor zijn

Reducenci – są nimi organizmy heterotroficzne, które żywią się martwą materią organiczną, powodując jej rozkład do prostych związków nieorganicznych. Należą do nich:

Z kolei powszechne oddziaływanie na siebie oraz wzajemne przenikanie się rozmaitych kultur i cywilizacji – ongiś dla siebie nieczytelnych, obcych lub nieprzystępnych –

Jeśli MMU stwierdzi, że dana strona nie znajduje się w pamięci, generuje przerwanie braku strony, które musi zostad obsłużone przez zarządcę.. pamięci