Programowanie Windows Jacek Matulewski 19 lutego 2017 http

  • Slides: 13
Download presentation
Programowanie Windows Jacek Matulewski 19 lutego 2017 http: //www. fizyka. umk. pl/~jacek/dydaktyka/winprog_v 2/

Programowanie Windows Jacek Matulewski 19 lutego 2017 http: //www. fizyka. umk. pl/~jacek/dydaktyka/winprog_v 2/

O czym będzie ten wykład: Hasła: • Tworzenie aplikacji z GUI • Win. API

O czym będzie ten wykład: Hasła: • Tworzenie aplikacji z GUI • Win. API (tylko podstawy, więcej stary wykład) • Język C# • WPF • MVVM • UWP • P/Invoke

Co to jest Windows API? • Windows API = Win 32 API • API

Co to jest Windows API? • Windows API = Win 32 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)

Zasadnicze biblioteki Win 32 API: • Base services (jądro) – kernel 32. dll –

Zasadnicze biblioteki Win 32 API: • Base services (jądro) – kernel 32. dll – podstawowe funkcje systemu plików – nie mylić z funkcjami z shell 32. dll, – obsługa urządzeń peryferyjnych, – wątki, – obsługa błędów – ale nie wyjątki

Zasadnicze biblioteki Win 32 API: • Advanced services – advapi 32. dll – rejestr

Zasadnicze biblioteki Win 32 API: • Advanced services – advapi 32. dll – rejestr systemu Windows (baza danych), – zamykanie i restart systemu, – usługi Windows, – obsługa kont użytkowników

Zasadnicze biblioteki Win 32 API: • Graphics Device Interface – gdi 32. dll –

Zasadnicze biblioteki Win 32 API: • Graphics Device Interface – gdi 32. 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

Zasadnicze biblioteki Win 32 API: • User Interface – user 32. dll – podstawowe

Zasadnicze biblioteki Win 32 API: • User Interface – user 32. 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 comctl 32. dll (Common Control Library), też: pasek stanu, zakładki, itp. – Nakładki: MCF, ATL, VCL (Borland), Qt, Gimp Toolkit (GTK), AWT (Java), WF (. NET)

Zasadnicze biblioteki Win 32 API: • Common Dialog Boxes Library – comdlg 32. dll

Zasadnicze biblioteki Win 32 API: • Common Dialog Boxes Library – comdlg 32. 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

Zasadnicze biblioteki Win 32 API: • Windows Shell (powłoka systemu Windows) shell 32. dll

Zasadnicze biblioteki Win 32 API: • Windows Shell (powłoka systemu Windows) shell 32. dll – wyższa warstwa API (nad jądrem i GUI), – Copy. File[Ex], Move. File itd. (kernel 32. dll) vs SHFile. Operation i IFile. Operation (od Vista) – Win. Exec (Win 16) i Create. Process (kernel 32. dll) vs Shell. Execute – Na funkcjach powłoki bazuje Eksplorator Windows i częściowo narzędzia administracyjne

Zasadnicze biblioteki Win 32 API: • Networking services – Net. BIOS = Network Basic

Zasadnicze biblioteki Win 32 API: • Networking services – Net. BIOS = Network Basic I/O System, – Win. Sock = Windows Sockets API (obsługa TCP/IP) – RPC = remote procedure call – Net. DDE, DDE = dynamic data exchange – por. też. DCOM, COM+

Zasadnicze biblioteki Win 32 API: • Desktop Windows Manager (DWM) • Windows Management Instrumentation

Zasadnicze biblioteki Win 32 API: • Desktop Windows Manager (DWM) • Windows Management Instrumentation (WMI) • Windows Internet (Win. INet) • Active Directory • Cryptography • Image Mastering API (IMAPI) • Media Control Interface (MCI) i wiele, wiele innych

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

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

Zgodność wstecz • Windows 1. 01 – 450 funkcji • Windows 7 – tysiące

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