23Aug

Jak uruchomić dowolny program jako usługę w tle w systemie Windows

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 możliwość uruchomienia programu przed zalogowaniem się użytkownika. Może to być szczególnie ważne w przypadku aplikacji zapewniających ważne usługi, które mają być dostępne, gdy jesteś daleko od komputera.

POWIĄZANE ARTYKUŁY
Opis i zarządzanie usługami systemu Windows
Czy należy wyłączyć usługi systemu Windows, aby przyspieszyć działanie komputera?

Doskonałym przykładem tego 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 należy pamiętać o kilku ważnych zastrzeżeniach dotyczących uruchamiania aplikacji jako usługi:

  • Aplikacja nie umieści ikony w zasobniku systemowym. Jeśli potrzebujesz regularnie dostępnego interfejsu dla aplikacji, może nie być najlepiej przystosowany do działania jako usługa.
  • Jeśli chcesz wprowadzić zmiany w konfiguracji lub aktualizacje, musisz zatrzymać usługę, uruchomić program jako zwykłą aplikację, zrobić to, co musisz zrobić, zatrzymać program, a następnie ponownie uruchomić usługę.
  • Jeśli program jest już skonfigurowany do uruchamiania podczas uruchamiania systemu Windows, musisz go wyłączyć, aby nie kończyły się dwie uruchomione instancje. Większość programów ma opcję w interfejsie do przełączania tego ustawienia. Inni mogą dodać siebie do folderu Autostart, dzięki czemu możesz je tam usunąć.

Gotowy do użycia? Porozmawiajmy o tym, jak to ustawić.

Krok pierwszy: Zainstaluj SrvStart

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 do folderu C: \ Windows komputera 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ć.

Krok drugi: Utwórz plik konfiguracyjny dla nowej usługi

Następnie, będziesz chciał 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 komend: startup, który określa program do uruchomienia, oraz 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ę.Polecenie startowe określa ścieżkę, w której znajduje się plik wykonywalny. W przypadku komendy shutdown_method używamy parametru winmessage, 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 konfiguracyjny w dowolnym miejscu i zamień rozszerzenie. txt na rozszerzenie. 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: .

Krok trzeci: Użyj wiersza polecenia, aby utworzyć nową usługę

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 & lt; servicename & gt;Displayname = "& lt; servicename & gt;"binpath = "srvstart.exe & lt; servicename & gt; -c & lt; ścieżka do pliku konfiguracyjnego srvstart & gt;"start = & lt; starttype & gt;

W tym poleceniu należy zwrócić uwagę na kilka rzeczy. Po pierwsze, każdy znak równości( =) ma spację po nim. To jest wymagane. Ponadto nazwa & lt; servicename & gt;wartość zależy wyłącznie od Ciebie. I na koniec dla tagu & lt; starttype & gt;wartość, będziesz chciał użyć funkcji auto, aby usługa uruchomił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, przeczytałeś to dobrze: Iużywał 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ą.