Plan zajęć cz. 11 – Uruchamianie wraz z systemem Windows
W tym tygodniu dodałem możliwość uruchamiania aplikacji wraz z Windowsem. Dodatkowo poprawiłem parę niuansów. Od tej chwili ustawienia użytkownika są też zapisywane na dysku twardym.
Uruchamianie z Windows
Użytkownik od tej chwili może ustawić, aby aplikacja uruchamiała się razem ze systemem Windows. Dodanie aplikacji do auto startu nie jest trudne. Wystarczy dodać wpis do odpowiedniego rejestru ze ścieżką aplikacji, która ma się uruchomić. Prosty kod wygląda następująco:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
public class AutoRunService : IAutoRun { private RegistryKey registryKey = Registry.CurrentUser.OpenSubKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); public void DisableAutoRun() { if (IsAutoRunEnabled()) registryKey.DeleteValue("ZUTSchedule"); } public void EnableAutoRun() { var path = Assembly.GetExecutingAssembly() .GetName() .CodeBase .Replace("file:///", "") .Replace("/", @"\"); registryKey.SetValue("ZUTSchedule", path); } public bool IsAutoRunEnabled() { return registryKey.GetValue("ZUTSchedule") != null; } } |
Ustawienia użytkownika
Ustawienia są od teraz przechowywane na dysku twardym użytkownika. Przechowywane są zarówno preferencje do uruchomienia wraz z systemem Windows, jak i wszystkie pobrane zajęcia.
Ilość przechowywanych informacji można drastycznie uprościć. W ciągu następnych tygodni będę optymalizował aplikację zarówno pod kątem szybkości działania, jak i niezawodności.
Błędne rozwiązanie
W ostatnim czasie zostały przeprowadzone modernizacje w systemie e-Dziekanat. Logika aplikacji nie działała prawidłowo. Założenia podjęte podczas parsowania tabeli z zajęciami zakładały na stałą liczbę kolumn. Niestety sposób interpretowania wyrażeń regularnych nie działał prawidłowo, kiedy doszła nowa kolumna. Pobrane informacje były wyświetlane w złych miejscach. Prostym fixem będzie skorzystanie z parsera HTML, który zapewni poprawność i elastyczność w przyszłości.
Kończąc
Aplikacja będzie skończona w krótkim czasie. Skończyłem już uczelnie i mam teraz więcej wolnego czasu popołudniami. Przez co będę mógł włożyć odpowiednią ilość godzin potrzebną na modernizację kodu i ostatecznie ukończenie aplikacji.
Według mnie długi okres tworzenia aplikacji nie jest zły. Pozwala pomysłowi dojrzeć i doprowadzić do odpowiedniego projektu końcowej aplikacji.
Cały kod aplikacji można zobaczyć na moim koncie github /kkolodziejczak/ZUTSchedule