System Monitor (by pr0t)
System Monitor to aplikacja prezentująca wartości odczytu różnych systemowych wskaźników:
- Sensor1 wskaźnik zużycia procesora (%) połączony z wykresem
- Sensor2 wskaźnik wolnego miejsca na wszystkich dyskach (ilość MB oraz %)
- Sensor3 wskaźnik procentowego zużycia czasu dysku na operacje czytania i pisania
- Sensor4 wskaźnik czasu od uruchomienia systemu
- Sensor5 wskaźnik zużycia CPU z podziałem na czas użytkownika i czas systemowy (%)
- Sensor6 wskaźnik zużycia pamięci operacyjnej (%) z wykresem
- Sensor7 wskaźnik połączeń TCP typu Established oraz ilość segmentów przesłanych i otrzymanych (sec)
- Sensor8 wskaźnik zużycia pliku stronicowania, maksymalne zużycie (%) oraz wielkość pliku (MB)
- Sensor9 wskaźnik statusu baterii oraz typ wykonania
- Sensor10 wskaźnik prezentujący aktualną datę oraz godzinę
Aplikacja wykonana w środowisku C# Visual Studio 2005 (XP SP2). Udostępniam cały projekt w celu dowolnej modyfikacji i skompilowania na własnej maszynie. Co więcej o aplikacji? -
1. Aplikacja posiada ikonę w zasobniku systemowym i menu:
Opcja Show powoduje pojawienie się okna na Pulpicie po skorzystaniu z funkcji ukrywającej okno - Hide.
2. Opcja Autorun powoduje dodanie wpisu w kluczu Run dla danego użytkownika, tak aby aplikacja uruchamiała się wraz ze startem. Tutaj wystąpił problem, który wynika z braku uprawnień do zapisu w kluczach Rejestru a dokładniej w tym kluczu. Otwieram klucz poprawną metodą - to pewne - w trybie Debug funkcja spisuje się idealnie, ale w trybie Release mam wyjątek :
************** Tekst wyjątku **************
System.UnauthorizedAccessException: Nie można zapisać w kluczu rejestru.
************** Tekst wyjątku **************
System.UnauthorizedAccessException: Nastąpiła próba wykonania nieautoryzowanej operacji.
Uruchomienie aplikacji z poziomu Administratora działa oczywiście bez żadnych wyjątków (ale dlaczego nie działa w trybie Release a działa w trybie Debug?). Innym rozwiązaniem tego problemu jest dodanie wpisu do Rejestru ręcznie za pomocą polecenia w oknie Uruchom:
REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v pr0t /t REG_SZ /d sciezka.exe
3. Każda zmiana lokalizacji jest odnotowywana w kluczu Rejestru, tak aby kiedy zmieni się lokalizacja okna głównego - kolejne uruchomienie spowodowało wyświetlenie aplikacji dokładnie w tym samym miejscu.
4. Plik projektu do pobrania tutaj.