Programowanie na poziomie sprzętu. Programowanie w Windows API



Podobne dokumenty
Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

PROE wykład 8 Interfejs użytkownika (GUI) dr inż. Jacek Naruniec

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Programowanie w języku C++ z użyciem Windows API

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

TRX API opis funkcji interfejsu

Podręcznik użytkownika programu. Ceremonia 3.1

Synchronizator plików (SSC) - dokumentacja

Instrukcja obsługi przełącznika KVM ATEN CS661. Opis urządzenia. Instalacja urządzenia

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Dodawanie operacji dodatkowych w WAPRO Mag.

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Instrukcja użytkownika

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

POLSKI. Macro Key Manager Podręcznik użytkownika

Wczytywanie cenników z poziomu programu Norma EXPERT Tworzenie własnych cenników w programie Norma EXPERT... 4

Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam);

MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

Dodanie nowej formy do projektu polega na:

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

Podstawy programowania w języku C dla środowiska Windows

Przed skonfigurowaniem tego ustawienia należy skonfigurować adres IP urządzenia.

Microsoft Visual C++

Narzędzie Setup Instrukcja obsługi

Oprogramowanie. DMS Lite. Podstawowa instrukcja obsługi

Rozdział 1. Zagadnienia podstawowe

SKRÓCONY PODRĘCZNIK UŻYTKOWNIKA PROGRAMU. NOKIA PC SUITE 4.81 for Nokia 6310i. Copyright 2001 Nokia Corporation. Wszelkie prawa zastrzeżone.

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury

Komputery I (2) Panel sterowania:

Instrukcja obsługi notowań koszykowych w M@klerPlus

Podstawy programowania w języku C dla środowiska Windows

INSTRUKCJA INSTALACJI I URUCHOMIENIA PROGRAMÓW FINKA DOS W SYSTEMACH 64 bit

SKRÓCONY PODRĘCZNIK UŻYTKOWNIKA PROGRAMU. NOKIA PC SUITE 4.51a for Nokia Copyright 2002 Nokia Corporation. Wszelkie prawa zastrzeżone.

Instrukcja obsługi platformy PROMEDIO Transmisje. wersja dla ucznia

Urządzenia zewnętrzne

Załącznik do ćwiczenia w środowisku MASM32 wersji 10. Tryb graficzny w systemie Windows

Platforma e-learningowa

Korzystanie z aplikacji P-touch Transfer Manager

Utworzenie pliku. Dowiesz się:

Programowanie Niskopoziomowe

Instrukcja użytkownika

Laboratorium z Grafiki InŜynierskiej CAD. Rozpoczęcie pracy z AutoCAD-em. Uruchomienie programu

IFiZR Laboratorium 5 Info

5.4. Efekty specjalne

Galileo v10 pierwszy program

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

IBM SPSS Statistics Wersja 24. Windows Instrukcja instalacji (licencja wielokrotna) IBM

Delphi podstawy programowania. Środowisko Delphi

Jak przesłać mapę do urządzenia lub na kartę pamięci?

Komunikaty w Windows. Jarosław Kuchta

Rozdział 1: Wprowadzenie

Skrócona instrukcja obsługi rejestratorów marki

Samsung Universal Print Driver Podręcznik użytkownika

Ćwiczenie 1: Pierwsze kroki

Architektura interfejsu użytkownika

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

OPERACJE NA PLIKACH I FOLDERACH

Microsoft Small Basic

programu Neofon instrukcja obsługi Spis treści

Computer Setup Instrukcja obsługi

INSTRUKCJA UŻYTKOWNIKA

Zajęcia z aplikacją ScratchJr mogą zostać przeprowadzone na dwa sposoby:

Podręcznik Google. Cloud Print. Informacje o usłudze Google Cloud Print. Drukowanie przy użyciu usługi Google. Cloud Print.

Podręcznik użytkownika

LABORATORIUM 7 Cel: 1_1

Laboratorium 9 (Więcej Aktywności, w Androidzie)

Instrukcja instalacji Asystenta Hotline

Przywracanie parametrów domyślnych. Przycisnąć przycisk STOP przez 5 sekund. Wyświetlanie naprzemienne Numer parametru Wartość parametru


Instrukcja postępowania w celu złożenia podpisu elektronicznego na dokumentach składanych do SISC za pośrednictwem portalu PUESC.

INSTRUKCJA INSTALACJI DRUKARKI. (Dla Windows CP-D70DW/D707DW)

Instrukcja postępowania w celu złożenia podpisu elektronicznego na dokumentach składanych do SISC za pośrednictwem portalu PUESC.

dziennik Instrukcja obsługi

Narzędzie Setup. Instrukcja obsługi

Maskowanie i selekcja

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Instrukcja obsługi platformy

PODRĘCZNIK UŻYTKOWNIKA programu Pilot

HELIOS pomoc społeczna

IBM SPSS Statistics Version 22. Windows - Instrukcja instalacji (licencja wielokrotna)

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Rozdział 2. Konfiguracja środowiska pracy uŝytkownika

Instrukcja instalacji certyfikatu kwalifikowanego w programie Płatnik. wersja 1.8

Ćwiczenia z systemu operacyjnego WINDOWS

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016]

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

Instrukcja instalacji oprogramowania Flow!Works na komputerze z systemem Windows 7

Okno logowania. Okno aplikacji. 1. Logowanie i rejestracja

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Obrazek 1: Interfejs DT. DT Help File v1.3

Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

Transkrypt:

Programowanie w Windows API

Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu. W zbiorze Windows API można wydzielić następujące kategorie funkcji: - zarządzenie i administracja: funkcje umożliwiające serwisowanie i konfigurowanie systemu Windows, - diagnostyka: zestaw funkcji monitorujących wydajność systemu, - grafika i multimedia: funkcje wspomagające tworzenie grafiki 2D i 3D, ponadto usługi multimedialne do zarządzania plikami audio i wideo, - serwisy sieciowe: funkcje realizujące usługi sieciowe, - bezpieczeństwo: funkcje dla kryptografii, autoryzacji i autentykacji, - serwisy systemowe: podstawowe usługi związane z obsługą pamięci, plików, urządzeń peryferyjnych, a także procesów i wątków. - Windows User Interface: zestaw funkcji umożliwiających tworzenie i zarządzanie oknami. W systemach takich jak: Windows Vista, czy Windows 7 nie tylko istnieje kompatybilność wstecz funkcji API, ale biblioteki te są wciąż rozwijane i uzupełniane o nowe usługi. Korzystanie z funkcji Windows API jest możliwe z poziomu każdego języka programowania, który pozwala wykorzystywać kod zamknięty w bibliotekach łączonych dynamicznie (DLL). Zatem tworzenie aplikacji z wykorzystaniem niskopoziomowego interfejsu API jest również możliwe w asemblerze.

Prosta aplikacja Najprostsza aplikacja pod Windows wymaga jedynie funkcji wejścia do programu. W chwili, gdy taka aplikacja zostanie uruchomiona na ekranie nie widać żadnych efektów jej działania. Zatem w systemie Windows mogą istnieć aplikacje, które nie posiadają interfejsu graficznego. Kod prostej aplikacji w C Kod prostej aplikacji w asemblerze W programie pisanym w języku asemblera dla zakończenia aplikacji należy wywołać funkcję systemową ExitProcess. Funkcja ta przyjmuje jeden parametr kod powrotu z programu, zwyczajowo 0 oznacza brak błędu. Wartość ta jest przekazywana przez stos. Funkcja ExitProcess w bibliotekach systemowych nosi nazwę _ExitProcess@4. Stąd dla wygody wprowadzono definicję nazwy ExitProcess.

Aplikacja Hello world! Poniżej zaprezentowano kod (w języku C i w asemblerze) aplikacji wyświetlającej w oknie dialogowym napis powitalny Hello world!. Aplikacja Hello world! w C MessageBox funkcja wyświetlająca okno dialogowe komunikatu. Parametry: 1. uchwyt do okna rodzica, 2. adres tekstu do wyświetlenia wewnątrz okna, 3. adres tekstu do wyświetlenia na pasku, 4. styl okna dialogowego: MB_OK tylko przycisk OK. Aplikacja Hello world! w asemblerze

stdcall konwencja wywoławcza Konwencje wywoławcze określają kolejność z jaką parametry odkładane są na stosie oraz wskazują, która funkcja (wywoływana czy wywołująca) zdejmuje je później ze stosu. Według konwencji stdcall działają funkcje Windows API. Tutaj parametry odkładane są w kolejności od prawej do lewej. Parametry usuwa ze stosu funkcja wywoływana. Poniższa tabela prezentuje cechy najczęściej używanych konwencji wywoławczych. Parametry wywołania funkcji mogą zostać usunięte ze stosu przy pomocy instrukcji RET n, gdzie n oznacza dodatkową (poza adresem powrotu) liczbę bajtów zdejmowanych ze stosu Przekazywanie parametrów w przypadku konwencji stdcall

Single Document Application (SDI) Aplikacja SDI jest aplikacją posiadającą graficzny interfejs użytkownika (GUI), który zawiera tylko jedno okno dokumentu. Z kolei aplikacja Multiple Data Interface (MDI) może posiadać wiele otwartych okien dokumentu. Przykład aplikacji SDI Przykład aplikacji MDI Zanim otrzymamy działającą aplikację SDI w kodzie programu należy wykonać następujące czynności: - przygotować pętlę komunikatów, - przygotować procedurę obsługi komunikatów, - zarejestrować klasę okna, - utworzyć okno, - wyświetlić okno.

Pętla komunikatów System Windows przekazuje aplikacji użytkownika informacje o wszelkich zdarzeniach (np. związanych z klawiaturą i myszą) za pomocą komunikatów. Komunikaty trafiają do kolejki FIFO danej aplikacji. Aby nasz program uczynić w pełni funkcjonalnym musi on odczytywać z kolejki napływające komunikaty i następnie obsługiwać je w sposób zależny od rodzaju zdarzenia. Obsługa komunikatów jest realizowana poprzez specjalnie przygotowaną procedurę, zwaną procedurą obsługi komunikatów. Aby komunikaty napływały do procedury obsługi muszą być odczytywane z kolejki (funkcja GetMessage) oraz dalej przesyłane do procedury obsługi za pomocą funkcji DispatchMessage. Pętla komunikatów w C Pętla komunikatów w asemblerze

Procedura obsługi komunikatów Procedura obsługi komunikatów przyjmuje cztery parametry: uchwyt do okna (hwnd), id komunikatu (umsg) oraz dodatkowe parametry (wparam, lparam), których znaczenie zależy od rodzaju komunikatu. Te komunikaty, które nie wymagają specyficznej obsługi należy przesłać do domyślnej procedury obsługi DefWindowProc. Procedura obsługi komunikatów w C (podstawowa obsługa) Procedura obsługi komunikatów w asemblerze (podstawowa obsługa)

Klasa okna Klasa okna jest strukturą opisującą podstawowe cechy okna: kolor tła, ikony, postać kursora myszy itp., a także wskazuje procedurę obsługi komunikatów. Klasa okna musi zostać zarejestrowana (RegisterClassEx) jeszcze przed utworzeniem okna. Rejestracja klasy okna w C Rejestracja klasy okna w asemblerze (cdn.)

Klasa okna (kontynuacja) Programowanie w Windows API Rejestracja klasy okna w asemblerze (kont.)

Tworzenie i wyświetlanie okna Kiedy klasa okna zostanie już zarejestrowana można utworzyć obiekt okna za pomocą funkcji CreateWindowEx. Takie okno nie jest jeszcze widoczne. Należy jeszcze je wyświetlić korzystając z funkcji ShowWindow. Tworzenie i pokazywanie okna w C Tworzenie i pokazywanie okna w asemblerze (cdn.)

Tworzenie i wyświetlanie okna (kontynuacja) Tworzenie i pokazywanie okna w asemblerze (kontynuacja)

Programowanie w Windows API Rysowanie w obszarze klienckim okna System operacyjny Windows przesyła komunikat WM_PAINT w chwili, kiedy zachodzi potrzeba odświeżenia zawartości klienckiej części okna aplikacji zmiana rozmiaru okna, przesunięcie innego okna nad oknem aplikacji, etc. Stąd kod odświeżający zawartość okna powinien być uruchamiany komunikatem WM_PAINT. Rysowanie wymaga uchwytu do tzw. kontekstu urządzenia dla klienckiej części okna, który zwraca funkcja BeginPaint. Należy później pamiętać, aby kontekst ten zwolnić funkcją EndPaint. Rysowanie samo w sobie wymaga pióra oraz pędzla, które tworzymy za pomocą funkcji CreatePen oraz CreateSolidBrush. Obiekty te usuwamy w chwili, kiedy nie będą już nam potrzebne (DeleteObject). (Ważne!) Obiekty pióra i pędzla wybieramy do kontekstu funkcją SelectObject. Uchwyty do domyślnego pióra oraz pędzla należy zapamiętać i później przywrócić. (Ważne!)