Konsola i informacje o systemie
Zadanie 1
Napisz program wyświetlający terminal (konsolę), w którym wyświetlone zostaną następujące informacje.
- ilość procesorów
- rozdzielczość ekranu
- nazwę komputera DNS oraz NetBIOS
- ilość wykorzystanej pamięci w procentach
Ustaw wybraną przez siebie wielkość okna konsoli, tytuł okna, rozmiar czcionki oraz kolory tła i tekstu.
Przydatne funkcje API
- GetStdHandle
uchwyt do standardowego wejścia i wyjścia (STD_OUTPUT_HANDLE) - SetConsoleTextAttribute
ustala cechy tekstu wyświetlanego na konsoli (np. kolor tła)
- GetComputerNameEx
pobiera nazwę DNS i NetBIOS komputera - GetSystemMetric
pobiera różnorodne istawienia konfiguracji komputera, m.in. rozmiary ekranu - GlobalMemoryStatusEx
informacje o zajętości pamięci fizycznej i wirtualnej
Operacje na napisach
- _itot
zamiana liczby całkowitej na napis
Zadanie 2
Napisz program wyświetlający terminal (konsolę) reagujący na wpisywane komendy. Konsola obsługujące następujące polecenia:
quit
zamyka terminalhelp
wypisuje listę dostępnych poleceńinfo
wypisuje takie informacje o systemie jak: nazwa komputera, rozdzielczość, katalog bieżącymem
wyświetla informacje o pamięci: zajętość w procentach, ilość wolnej i całkowitej pamięci fizycznej w GB, ilość wolnej i całkowitej pamięci wirtualnej w GB, rozmiar pliku stronicowego (page file)cls
czyści ekrannotatnik
uruchamia programnotepad.exe
logout
wylogowuje użytkownika
Konsola powinna reagować na wciśnięcie Ctrl+C wyświetleniem komunikatu „Nie wciskaj Ctrl+C. Nic to nie da.”
Przydatne funkcje API
- ReadConsole
odczyt znaków z konsoli - GetConsoleScreenBufferInfo
pobranie informacji i buforze konsoli, m.in. położenie kursora - SetConsoleCursorPosition
ustawienie pozycji kursora - FillConsoleOutputCharacter, FillConsoleOutputAttribute
wypełnienie zawartości bufora znakami/atrybutami - CreateProcess
uruchamianie procesu
Zadanie 3
Napisz program, który w konsoli wyświetla na bieżąco zajętość pamięci fizycznej i wirtualnej, ilość działających procesów. Zajętość wizualizowana jest za pomocą kolorowych pasków (np. kolor czerwony oznacza znaczne wypełnienie pamięci), podobnie do wyniki działania linuksowego polecenia htop
Zadanie 4
Korzystając w funkcji API systemu windows napisz konsolową grę Snake.