Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запуск службы


Страницы:   1 2 3

F@T@L_Err0r ©   (2008-03-17 11:12:00) 

Здравствуйте.Подскажите пожалуйста какиим образом програмно можно запустить виндовсскую службу и как перед этим получить ее имя?Понятно что под администратором.Зараннее спасибо!


Slym   (2008-03-17 13:26:00) [41]

var
 SCManager:THandle;
 Service:THandle;
 p:PChar;
begin
   SCManager:=OpenSCManager('',nil,GENERIC_READ);
   if SCManager=0 then RaiseLastOSError;
   try
     Service:=OpenService(SCManager, 'ИМЯ СЕРВИСА',SERVICE_QUERY_STATUS or SERVICE_START or SERVICE_STOP);
     if Service=0 then RaiseLastOSError;
     try
       p:=nil;
       if not StartService(Service,0,p) then
         RaiseLastOSError;
     finally
       CloseServiceHandle(Service);
     end;
   finally
     CloseServiceHandle(SCManager);
   end;


Skyle   (2008-03-17 13:26:00) [42]


> F@T@L_Err0r   (17.03.08 13:22) [11]
> s:= OpenService(0,'C:\WINDOWS\system32\svchost.exe -k netsvcs',
> 0);

Справку открывал по этим функциям? Вот только честно...


F@T@L_Err0r   (2008-03-17 13:22:00) [43]

s:= OpenService(0,'C:\WINDOWS\system32\svchost.exe -k netsvcs',0);
StartService(s,0,0);
Где ошибка???Если количество аргументов то насколько я понимаю ето цифры?Или я не прав???


Slym   (2008-03-17 13:20:00) [44]

var p:PChar;
begin
 p:=nil;
 if not StartService(Service,0,p) then
   RaiseLastOSError;
end;


clickmaker   (2008-03-17 13:15:00) [45]


> [8] F@T@L_Err0r   (17.03.08 13:08)

там количество аргументов командной строки и они сами, в виде массива строк (PChar, вернее)


F@T@L_Err0r   (2008-03-17 13:08:00) [46]

я уже понял чт онада вызвать сначала OpenServise и то что он вернет нада подставить в первый аргумент функции StartServise но все же я не могу разобратся в остальных двух параметрах...подскажите....или пример...


clickmaker   (2008-03-17 13:03:00) [47]


> [6] F@T@L_Err0r   (17.03.08 13:02)
> А что писать во втором и третьим параметрах???

ты сначала первый правильно укажи...


F@T@L_Err0r   (2008-03-17 13:02:00) [48]

А что писать во втором и третьим параметрах???
StartService('C:\WINDOWS\system32\svchost.exe -k netsvcs',?,?);
Не могу разобратся помогите плиз....


Reindeer Moss Eater   (2008-03-17 11:50:00) [49]

А в первом ответе тебе не сказали?


F@T@L_Err0r   (2008-03-17 11:32:00) [50]

>получить имя, зная что?

Все имя я знаю...Точнее путь к екзешнику...А теперь вопрос.В  каком модуле находятся OpenService, StartService???


clickmaker   (2008-03-17 11:24:00) [51]


> програмно можно запустить виндовсскую службу и как перед
> этим получить ее имя?

получить имя, зная что?
запустить - OpenService, StartService


F@T@L_Err0r   (2008-03-17 11:22:00) [52]

Ето ???
BOOL ChangeServiceConfig(

   SC_HANDLE hService, // handle to service
   DWORD dwServiceType, // type of service
   DWORD dwStartType, // when to start service
   DWORD dwErrorControl, // severity if service fails to start
   LPCTSTR lpBinaryPathName, // pointer to service binary file name
   LPCTSTR lpLoadOrderGroup, // pointer to load ordering group name
   LPDWORD lpdwTagId, // pointer to variable to get tag identifier
   LPCTSTR lpDependencies, // pointer to array of dependency names
   LPCTSTR lpServiceStartName, // pointer to account name of service
   LPCTSTR lpPassword, // pointer to password for service account  
   LPCTSTR lpDisplayName  // pointer to display name
  );
Если да то возникает вопрос как получит handle of servise?
Если можно то приблизительный пример заполнения параметров...Пожалуйста...


Reindeer Moss Eater   (2008-03-17 11:17:00) [53]

uses WinSvc;


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо