23Aug
Als je net als de meeste Windows-gebruikers bent, heb je veel geweldige kleine hulpprogramma's die worden uitgevoerd wanneer je Windows start. Hoewel dit prima werkt voor de meeste apps, zijn er enkele die handig zijn om te starten, zelfs voordat een gebruiker zich aanmeldt bij de pc. Hiertoe moet u de app uitvoeren als een Windows-service.
Windows-services zijn een speciale klasse van programma's die zijn geconfigureerd om op de achtergrond te worden gestart en uitgevoerd, meestal zonder enige gebruikersinterface en zonder dat een gebruiker zich hoeft aan te melden bij de pc. Veel gamers en ervaren gebruikers kennen ze als dingen die je gebruikte om uit te schakelen om je systeem te versnellen, maar dat is echt niet meer nodig.
Het belangrijkste voordeel van het uitvoeren van een app als een service is dat u een programma kunt starten voordat een gebruiker zich aanmeldt. Dat kan met name belangrijk zijn bij apps die belangrijke services bieden die u beschikbaar wilt hebben als u niet achter uw computer zit.
Een perfect voorbeeld hiervan is Plex, een mediaserver-app die lokale inhoud kan streamen naar vrijwel elk apparaat waarvan u de eigenaar bent. Natuurlijk zou je het als een normaal programma in het systeemvak kunnen laten zitten, maar wat als de computer opnieuw opstart vanwege een stroomstoring of geplande updates? Totdat u weer inlogt op de pc, is Plex niet beschikbaar. Dat is irritant als je naar een andere kamer moet rennen om Plex back-up te maken terwijl je popcorn koud wordt, en super irritant als je de stad uit bent en je media via internet probeert te streamen. Het opzetten van Plex as a Service zou dat probleem oplossen.
Voordat u begint, moet u rekening houden met een aantal belangrijke waarschuwingen bij het uitvoeren van een app als een service:
- De app plaatst geen pictogram in het systeemvak. Als u de interface regelmatig beschikbaar voor een app nodig heeft, is deze mogelijk niet het meest geschikt om als een service te worden uitgevoerd.
- Wanneer u configuratiewijzigingen of updates moet aanbrengen, moet u de service stoppen, het programma uitvoeren als een normale app, doen wat u moet doen, het programma stoppen en de service opnieuw starten.
- Als het programma al is ingesteld om te worden uitgevoerd wanneer Windows wordt gestart, moet u dit uitschakelen zodat u niet eindigt met twee exemplaren. De meeste programma's hebben een optie in de interface voor het omschakelen van deze instelling. Anderen kunnen zichzelf toevoegen aan uw opstartmap, zodat u ze daar kunt verwijderen.
Klaar om te rollen? Laten we het hebben over hoe je het moet opzetten.
Stap één: SrvStart installeren
Om een app als een service uit te voeren, hebt u een klein hulpprogramma van derden nodig. Er zijn er verschillende, maar onze favoriet is SrvStart. Het is oorspronkelijk ontworpen voor Windows NT en zal vanaf vrijwel elke versie van Windows vanaf Windows XP werken.
Ga om te beginnen naar de downloadpagina van SrvStart en pak het hulpprogramma. De download bevat slechts vier bestanden( twee DLL- en twee EXE-bestanden).Er is geen installatieprogramma;in plaats daarvan, kopieert u deze naar de C: \ Windows-map van uw computer naar uw hoofdmap in Windows om SrvStart te "installeren".
We gaan ook ervan uit dat je al welk programma je in een dienst hebt geïnstalleerd en ingesteld hebt, maar als je dat nog niet hebt gedaan, zou dit nu een goed moment zijn om dat ook te doen.
Stap twee: Maak een configuratiebestand voor de nieuwe service
Vervolgens moet u een configuratiebestand maken dat SrvStart zal lezen om de service te maken. U kunt veel met SrvStart doen en u kunt de volledige details van alle configuratie-opties op de documentatiepagina lezen. Voor dit voorbeeld gebruiken we slechts twee opdrachten: opstarten, waarmee het programma wordt opgestart en shutdown_method, waarmee SrvStart wordt verteld hoe het programma moet worden gesloten wanneer de betreffende service wordt gestopt.
Open Kladblok en maak uw configuratiebestand met behulp van het onderstaande formaat. Hier gebruiken we Plex, maar je kunt een bestand maken voor elk programma dat je als een service wilt uitvoeren. De opstartopdracht specificeert eenvoudig het pad waar het uitvoerbare bestand zich bevindt. Voor de opdracht shutdown_method gebruiken we de parameter winmessage, waardoor SrvStart een bericht Windows dicht bij alle vensters die door de service worden geopend, verzendt.
[Plex] startup = "C: \ Program Files( x86) \ Plex \ Plex Media Server \ Plex Media Server.exe" shutdown_method = winmessageUiteraard past u het pad en de naam aan volgens het programma dat u start.
Sla het nieuwe configuratiebestand waar u maar wilt op en vervang de extensie. txt door een extensie. ini. Noteer de bestandsnaam, aangezien we deze in de volgende stap nodig hebben. Voor het gemak van typen op de opdrachtprompt, raden we aan dit bestand tijdelijk op te slaan op uw C: -station.
Stap drie: Gebruik de opdrachtprompt om de nieuwe service te maken
De volgende stap is het gebruik van de opdracht Windows Service Controller( SC) om de nieuwe service te maken op basis van de criteria in uw configuratiebestand. Open de opdrachtprompt door met de rechtermuisknop op het menu Start te klikken( of op Windows + X te drukken), "Command Prompt( Admin)" te kiezen en vervolgens op Ja te klikken om deze met beheerdersbevoegdheden te laten uitvoeren.
Gebruik bij de opdrachtprompt de volgende syntaxis om de nieuwe service te maken:
SC CREATE & lt; servicename & gt;Displayname = "& lt; servicename & gt;"binpath = "srvstart.exe & lt; servicenaam & gt; -c & lt; pad naar srvstart-configuratiebestand & gt;"start = & lt; starttype & gt;Er zijn een paar dingen om op te merken in die opdracht. Ten eerste heeft elk gelijkteken( =) een spatie erna. Dat is verplicht. Ook de & lt; servicenaam & gt;waarde is geheel aan jou. En ten slotte voor het & lt; starttype & gt;waarde, u wilt automatisch gebruiken zodat de service automatisch met Windows start.
Dus in ons Plex-voorbeeld ziet het commando er als volgt uit:
SC CREATE Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C: PlexService.ini" start = autoJa, u leest dat goed: Igebruikte C: PlexService.ini in plaats van C: \ PlexService.ini. Voor de opdracht moet u de schuine streep verwijderen.
Wanneer u het commando uitvoert, zou u een SUCCES-bericht moeten ontvangen als alles goed gaat.
Vanaf dit punt wordt uw nieuwe service uitgevoerd wanneer Windows wordt gestart. Als u de Windows Services-interface opent( klik op Start en typ "Services"), dan kunt u de nieuwe service vinden en configureren, net als elke andere.
En dat is alles. Als u apps hebt die met Windows beginnen en u liever dat ze starten zonder dat een gebruiker zich hoeft aan te melden, is het eenvoudig genoeg om van elke app een service te maken. We hebben nog maar net de basismethode aangeraakt voor het maken en uitvoeren van een nieuwe service, maar er is nog veel meer dat u kunt doen met SrvStart om de werking van een service te regelen. Bekijk de documentatie als u meer wilt weten.