Hi, Guest!
+

Създаване на услуги под Windows

21-06-2008 windows Roumen

services

Чудили ли сте се как да си направите собствена услуга под Windows? Искало ли ви се е вместо да се занимавате с .bat файлове и други трикове да можете да си направите услуга, чрез която да стартирате лесно и удобно някоя програма? Съвсем на скоро ми се наложи да направя точно това и с малко ровене открих много лесен и удобен начин за създаване на собствени services, без необходимост от инсталация на допълнителен софтуер.

Инструкции

1.) Свалете този архив. Той съдържа папка с име srv, в която се съдържат два файла - instsrv.exe и srvany.exe, които са част от Windows Server 2003 Resource Kit Tools.

2.) Разархивирайте архива и поставете папката srv някъде, така че пътят до нея да не съдържа празни места. Например в руут папката на някой дял от хард диска ви ще е най-удобно, например "C:srv"

3.) Измислете име за новата услуга, например "NewServ" и стартирайте командният си промп от "Start -> Run -> cmd", след това изпълнете следната команда "C:srvinstsrv.exe NewServ C:srvsrvany.exe", като заместите "NewServ" с желаното име на услугата и "C:srv" с пълният път до двата файла. Ако всичко е наред трябва да получите следното съобщение: "The service was successfuly added! Make sure that you go into the Control Panel and use the Services applet to change the Account Name and Password that this newly installed service will use for its Security Context."

4.) След това стартирайте регистри едитора "Start -> Run -> regedit" и отидете до "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNewServ", след което кликнете върху името на услугата и с десен бутон изберете "New" -> "Key" и го именувайте "Parameters". Той ще се покаже като подпапка, кликнете върху нея и в десният прозорец кликнете с десен бутон на празното място и изберете "New -> String Value" и я именувайте "AppDirectory", повторете още два пъти и създайте "Application" и "AppParameters". След това задайте стойности за трите, те зависят от съответното приложение, което искате да инсталирате като услуга, например "AppDirectory" е пълният път до папката, в която се намира изпълнимият файл. "Application" съдържа пълният път до самият изпълним файл, а "AppParameters" параметрите, които са необходими за стартирането му, в някои случаи може да остане празно, ако няма такива.

5.) След като зададете стойностите, затворете регистри едитора и стартирайте "Start -> Run -> services.msc" от там открийте вашата услуга и я стартирайте. Можете да зададете автоматично стартиране при зареждане на системата или съответно ръчно, или дори да забраните стартирането на услугата.

Това е. Приятна работа! ;)

Примери

1.) Стартиране на Counter-Strike 1.6 сървър:

За да стартирате по този начин CS 1.6 сървър, вие се нуждаете от самата игра, която трябва да е инсталирана на вашият компютър, съответно трябва всички необходими настройки да са направени, но вместо да стартирате ръчно самият сървър, или чрез .bat файл, при което изкачат неприятни прозорци, просто следвайте инструкциите и задайте следните стойности за "AppDirectory", "Application" и "AppParameters", ако например играта е инсталирана в C:GamesCS

AppDirectory = C:GamesCS Application = C:GamesCShlds.exe AppParameters = hlds.exe -console -game cstrike -port 27015 -nomaster +maxplayers 24  +sv_lan 0

2.) Стартиране на Unreal Tournament 2004 сървър:

За стартиране на UT 2004 сървър вие се нуждаете от предварително инсталирана игра, чийто dedicate server вече предварително сте настроили според вашите желания. Ето примерните стойности, ако играта е инсталирана в C:Games

AppDirectory = C:GamesUT2004System Application = C:GamesUT2004SystemUCC.exe AppParameters = server DM-Rankin?game=XGame.xDeathMatch ini=UT2004.ini log=server.log

По този начин можете да стартирате всякакви приложения, не само гейм сървъри, като горните два примера, ами и приложения, като uTorrent, Strong DC, VoIP приложения и други. Тествано е за Windows XP и Windows Vista.

  • Dimitar Ivanov
    Хм, това е интересно пробвах го и стана чудесно.. след първият опит му схванах логиката, изобщо не е сложно, така можеш да си правиш сървиси за какво ли не.. в някои случаи това би било много полезно..
  • Цветан Банчев
    Браво