Access

  MS Access 2010+  |  Aplication Programming Interface API  |   VBA 7.0



• WinAPI - interfejs programowania aplikacji

APIApplication Program(ming) Interface”, czyli Interfejs Programowania Aplikacji, to zestaw komend, makr, funkcji i protokołów. Zestaw ten jest bardzo obszerny i pozwala programistom na wykorzystanie predefiniowanych funkcji do tworzenia okien programów, elementów interfejsu użytkownika, obsługi zdarzeń, interaktywnego oddziaływania z elementami składowymi systemu operacyjnego oraz umożliwiające dostęp do innych aplikacji, funkcji sieciowych, czy sprzętu w jaki wyposażony jest komputer.

• API - podstawowe informacje.

Wszystkie systemy operacyjne, takie jak Windows, Unix i Mac, umożliwiają korzystanie z Interfejsu Programowania Aplikacji dla programistów. Interfejs API jest również wykorzystywany podczas programowania konsoli do gier wideo i innych urządzeń, na których można uruchamiać napisane programy. Dzięki zastosowaniu tego samego API podczas programowania wielu aplikacji, użytkownik końcowy otrzymuje do dyspozycji znormalizowany interfejs aplikacji umożliwiający mu łatwiejsze i mniej stresujące opanowanie nowej aplikacji.

• Windows API

Windows API lub w skrócie WinAPI to nazwa nadana przez Microsoft dla podstawowego zestawu Interfejsu Programowania Aplikacji dostępnych w systemach operacyjnych Microsoft Windows. Za pomocą interfejsu API, można tworzyć aplikacje, które działają z powodzeniem na wszystkich wersjach systemu Windows, przy jednoczesnym korzystaniu z funkcji i możliwości indywidualnych dla każdej z wersji Windows.
      Interfejs API zawiera zbiór funkcji, stałych i zmiennych umożliwiających działanie programu w systemie operacyjnym Windows. Zbiór ten jest bardzo obszerny i zawiera funkcje do tworzenia okien programów, elementów interfejsu użytkownika, obsługi zdarzeń oraz umożliwiające dostęp do innych aplikacji, funkcji sieciowych, czy  innego sprzętu zamontowanego lub podłączonego do komputera.
      Mianem WinAPI określamy standardowe funkcje znajdujące się w bibliotekach DLL (Dynamic Link Libraries) dostarczanymi wraz z systemem, np. kernel32.dll, user32.dll, gdi32.dll czy wsock32.dll i znajdujące się w podkatalogu System (System32) w głównym katalogu Windows. Liczba bibliotek rośnie wraz z każdą nową wersją Windows. Powoduje to także problemy z uruchomieniem aplikacji napisanej w starej wersji systemu pod kontrolą nowego systemu operacyjnego.

• Możliwości oferowane przez Windows API można podzielić na osiem kategorii

1. Podstawowe usługi
Zapewniają dostęp do podstawowych zasobów, jakimi dysponuje system Windows, takich jak system plików, fizyczne komponenty sprzętowe komputera, procesy i wątki oraz obsługa błędów. Funkcje te znajdują się w kernel32.dll w 32-bitowym Windows.
2. Zaawansowane usługi
Zapewnia dostęp do dodatkowych zasobów systemu Windows, takich jak rejestr systemu Windows, zamknięcie systemu restart systemu lub przerwanie procesu. Uruchamianie, zatrzymywanie lub tworzenie usług systemu Windows, zarządzanie kontami użytkowników. Funkcje te znajdują się w advapi32.dll w 32-bitowym Windows.
3. Interfejs urządzeń graficznych
Zawiera funkcje odpowiedzialne za wyświetlanie zawartości graficznej monitorów, drukarek i innych urządzeń wyjściowych. W 32-bitowym Windows pracującym w trybie użytkownika znajduje się w gdi32.dll. Zawsze rezyduje w pamięci, skąd funkcje GDI wywoływane są za pośrednictwem sterowników „trybu jądra” (kernel mode drivers - KMD) z Win32k.sys, które mają bezpośredni dostęp do wszystkich urządzeń (sterowniki GDI mają dostęp tylko do kontrolerów wideo i drukarek). Nazwa „tryb jądra” oznacza po prostu, że sterowniki działają na najwyższym poziomie uprzywilejowania. Operacje wykonywane przez sterowniki GDI są synchroniczne. Oznacza to, że wywołujący je program musi czekać na zakończenie operacji, zanim będzie mógł kontynuować działanie. W przeciwieństwie do sterowników GDI, operacje na jakie zezwalają sterowniki „trybu jądra” są asynchroniczne.
4. Interfejs użytkownika

Udostępnia funkcje tworzenia i zarządzania oknami, sterując położeniem i wyglądem okien w graficznym interfejsie użytkownika. Funkcje te działają w połączeniu z podstawowym systemem graficznym, który zawiera funkcje wspierające działanie kart graficznych, urządzeń wskazujących i klawiatury. Użytkownik korzysta z interfejsu za pomocą myszy i klawiatury, klikając na graficzne reprezentacje poleceń lub używając odpowiednich kombinacji klawiszy.

Interfejs użytkownika dostarcza również najbardziej podstawowe kontrolki m.in. rozwijane menu, przyciski, paski przewijania, paski zadań, ikony pulpitu, tapety. Znajduje się w user32.dll w 32-bitowym Windows. Począwszy od Windows XP, funkcje Interfejsu użytkownika znajdują się w bibliotece comctl32.dll, wraz z biblioteką systemowych kontrolek.

5. Biblioteka systemowych okien dialogowych
Zawiera zestaw okien dialogowych do wykonywania typowych zadań aplikacji, takich jak okno dialogowe „Otwórz/Zapisz Jako”, edycyjne okno dialogowe „Znajdź/Zamień”, okna dialogowe: „Drukuj”, „Ustawienia wydruku”, „Arkusz właściwości drukowania”, „Ustawienia strony”, okno dialogowe „Wyboru koloru”, „Wyboru czcionki” i inne. Typowe okna dialogowe pozwalają na wdrożenie spójnego systemu interfejsu użytkownika.
6. Biblioteka systemowych kontrolek
Umożliwia interakcję z użytkownikiem poprzez dostęp do niektórych zaawansowanych kontrolek dostarczanych przez system operacyjny Należą do nich np. paski stanu, paski postępu, paski narzędzi i zakładki. Znajduje się w Comctl32.dll w 32-bitowym Windows.
7. Windows Shell
Komponent Windows API umożliwiający użytkownikowi dostęp do szerokiej gamy obiektów niezbędnych do uruchamiania aplikacji i  zarządzania systemem operacyjnym. Najliczniejsze i najbardziej znane z tych obiektów to foldery i pliki, które znajdujące się na dyskach komputera. Istnieje również szereg wirtualnych obiektów, które pozwalają użytkownikowi na wykonywanie zadań, takich jak przesyłanie plików do odległych drukarek lub dostępu do Kosza. Shell organizuje te obiekty w hierarchiczną przestrzeń nazw i zapewnia użytkownikom i aplikacjom w sposób spójny i skuteczny dostęp do tych obiektów i zarządzania nimi.
8. Usługi sieciowe
Umożliwiają komunikację między aplikacjami na różnych komputerach w sieci. Można również tworzyć i zarządzać dostępem do wspólnych zasobów, takich jak katalogi i drukarki sieciowe na komputerach w sieci.
Windows zapewnia obsługę wielu standardów branżowych, takich jak Windows Sockets, Remote Procedure Call (RPC) i Simple Network Management Protocol (SNMP). Zapewnia również wsparcie dla aplikacji internetowych poprzez protokoły takie jak HTTPFTPGopher. Domain Name System (DNS) jest standardem, według którego nazwy internetowe są tłumaczone na odpowiadające im adresy IP.