Jeśli jesteś jak większość użytkowników systemu Windows, masz wiele świetnych narzędzi, które działają po uruchomieniu systemu Windows. Chociaż działa to doskonale w przypadku większości aplikacji, niektóre z nich powinny wystartować nawet przed zalogowaniem się użytkownika na komputerze. Aby to zrobić, musisz uruchomić aplikację jako usługę Windows.
Usługi Windows to specjalna klasa programów, które są skonfigurowane do uruchamiania i uruchamiania w tle, zwykle bez jakiegokolwiek interfejsu użytkownika i bez konieczności logowania użytkownika do komputera. Wielu graczy i zaawansowanych użytkowników zna je jako te, których użyłeś do wyłączenia, aby przyspieszyć działanie systemu, ale to już nie jest konieczne.
Podstawową zaletą uruchamiania aplikacji jako usługi jest to, że możesz uruchomić program, zanim użytkownik się zaloguje. Może to być szczególnie ważne w przypadku aplikacji, które zapewniają ważne usługi, które chcesz być dostępne, gdy jesteś daleko od komputera.
Doskonałym tego przykładem jest Plex, aplikacja serwera multimediów, która może przesyłać lokalną zawartość do dowolnego urządzenia, które posiadasz. Oczywiście, możesz pozwolić mu usiąść w zasobniku systemowym jak normalny program, ale co jeśli komputer uruchomi się ponownie z powodu przerwy w zasilaniu lub zaplanowanych aktualizacji? Dopóki nie zalogujesz się ponownie na komputerze, Plex nie będzie dostępny. To irytujące, jeśli musisz uciekać do innego pokoju, aby zacząć Plex z powrotem, gdy popcorn stanie się zimny, i bardzo irytujesz, jeśli jesteś poza miastem i próbujesz przesyłać strumieniowo swoje media przez Internet. Ustanowienie usługi Plex jako usługi rozwiązałoby ten problem.
Przed rozpoczęciem warto pamiętać o kilku ważnych zastrzeżeniach dotyczących uruchamiania aplikacji jako usługi:
Gotowy by skręcić? Porozmawiajmy o tym, jak to ustawić.
Aby uruchomić aplikację jako usługę, potrzebujesz małego narzędzia innej firmy. Jest ich kilka, ale naszym ulubionym jest SrvStart. Został pierwotnie zaprojektowany dla systemu Windows NT i będzie współpracować z prawie każdą wersją systemu Windows od systemu Windows XP.
Aby rozpocząć, przejdź do strony pobierania SrvStart i pobierz narzędzie. Pobieranie zawiera tylko cztery pliki (dwie biblioteki DLL i dwa pliki EXE). Nie ma instalatora; zamiast tego skopiuj je na komputer C: \ Windows
przenieś je do głównego folderu Windows, aby "zainstalować" SrvStart.
Zakładamy również, że już zainstalowałeś i skonfigurowałeś program, który zamienisz w usługę, ale jeśli nie, to byłby to dobry moment, aby to zrobić.
Następnie należy utworzyć plik konfiguracyjny, który SrvStart odczyta w celu utworzenia usługi. Z SrvStart możesz zrobić wiele rzeczy i możesz przeczytać pełne szczegóły wszystkich opcji konfiguracyjnych na stronie dokumentacji. W tym przykładzie użyjemy tylko dwóch poleceń: uruchomienie
, który określa program do uruchomienia, i shutdown_method
, który mówi SrvStart, jak zamknąć program po zatrzymaniu odpowiedniej usługi.
Uruchom Notatnik i utwórz plik konfiguracyjny w poniższym formacie. Tutaj używamy Plex, ale możesz utworzyć plik dla dowolnego programu, który chcesz uruchomić jako usługę. The uruchomienie
polecenie po prostu określa ścieżkę, w której znajduje się plik wykonywalny. Dla shutdown_method
polecenie, używamy winmessage
Parametr, który powoduje, że SrvStart wysyła komunikat zamknięcia systemu Windows do dowolnego okna otwartego przez usługę.
[Plex] startup = "C: \ Program Files (x86) \ Plex \ Plex Media Server \ Plex Media Server.exe" shutdown_method = winmessage
Oczywiście dostosuj ścieżkę i nazwę zgodnie z uruchamianym programem.
Zapisz nowy plik konfiguracji w dowolnym miejscu i zastąp rozszerzenie .txt rozszerzeniem .ini. Zanotuj nazwę pliku, ponieważ będziemy jej potrzebować w następnym kroku. Aby ułatwić pisanie w wierszu polecenia, zalecamy chwilowe zapisanie tego pliku bezpośrednio na dysku C :.
Następnym krokiem jest użycie polecenia Windows Service Controller (SC) do utworzenia nowej usługi w oparciu o kryteria w pliku konfiguracyjnym. Otwórz okno wiersza polecenia, klikając prawym przyciskiem myszy menu Start (lub naciskając Windows + X), wybierając "Wiersz polecenia (administrator)", a następnie klikając przycisk Tak, aby zezwolić na uruchomienie z uprawnieniami administratora.
W wierszu polecenia użyj następującej składni, aby utworzyć nową usługę:
SC CREATE Displayname = "" binpath = "srvstart.exe -c" start =
Jest kilka rzeczy do zapamiętania w tym poleceniu. Po pierwsze, każdy znak równości (=) ma spację po nim. To jest wymagane. Ponadto wartość zależy wyłącznie od Ciebie. I wreszcie, dla
wartość, będziesz chciał użyć
automatyczny
aby usługa uruchamiała się automatycznie w systemie Windows.
Tak więc w naszym przykładzie Plex, polecenie wyglądałoby tak:
SC CREATE Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C: PlexService.ini" start = auto
Tak, dobrze to przeczytałeś: użyłem C: PlexService.ini
zamiast C: \ PlexService.ini
. Polecenie wymaga usunięcia ukośnika.
Po uruchomieniu polecenia powinien pojawić się komunikat SUCCESS, jeśli wszystko pójdzie dobrze.
Od tego momentu twoja nowa usługa będzie działać przy każdym uruchomieniu systemu Windows. Jeśli otworzysz interfejs usług systemu Windows (po prostu kliknij Start i wpisz "Usługi"), możesz znaleźć i skonfigurować nową usługę, tak jak każdą inną.
I to wszystko. Jeśli masz aplikacje, które zaczynają się od systemu Windows i wolisz, aby były uruchamiane bez konieczności logowania użytkownika, wystarczy, że zmienisz dowolną aplikację w usługę. Właśnie omówiliśmy podstawową metodę tworzenia i uruchamiania nowej usługi, ale można znacznie więcej z SrvStartem, aby dostroić sposób działania usługi. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z dokumentacją.