Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

Как можно программно перестартовать сервис?   Найти похожие ветки 

 
sergch   (2004-08-17 12:44) [0]

Возможно-ли это?


 
Digitman ©   (2004-08-17 12:47) [1]

см.

OpenSCManager
OpenService
ControlService
StartService


 
Ega23 ©   (2004-08-17 12:47) [2]

Да.


 
Ega23 ©   (2004-08-17 12:50) [3]


ProxAPI UPRStatus __stdcall UPRInstallDriver( LPSTR path,
   unsigned uBaseAddr, unsigned uCtrlAddr )
{
SC_HANDLE hSCMan;
SC_HANDLE hServ;

UPRStatus Status = UPRCheckDriverStatus();
if (Status and UPRStatusError) return Status;
if (Status and UPRStatusInstalled)
{
 hSCMan = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
 if(!hSCMan)
  return (UPRStatusErrorSCManager);

 hServ = OpenService(hSCMan, DeviceName,  SERVICE_ALL_ACCESS);
  if(hServ)
  {
   SERVICE_STATUS ServStatus;
   QueryServiceStatus(hServ,&ServStatus);
   if(ServStatus.dwCurrentState == SERVICE_RUNNING )
    ControlService(hServ,SERVICE_CONTROL_STOP, &ServStatus);

   if(!DeleteService(hServ))
   {
    return UPRStatusErrorService;
   }
   else
    if(!CloseServiceHandle(hServ)) return UPRStatusErrorService;
  }
 
}

hServ = CreateService(hSCMan, DeviceName, DeviceName, SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER,
       SERVICE_AUTO_START, SERVICE_ERROR_IGNORE, (LPCTSTR)path, nil, nil,
       (LPCTSTR)"", nil, nil);
if (not hServ) return UPRStatusErrorService;

Status = UPRStartDriver();
return Status;
}




Страницы: 1 вся ветка

Текущий архив: 2004.09.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
1-1092773385
RaPToR_1
2004-08-18 00:09
2004.09.05
cmd


1-1092750107
Labert
2004-08-17 17:41
2004.09.05
TClass


4-1090308165
LittlAlex
2004-07-20 11:22
2004.09.05
работа с устройством, подключенном к com порту


4-1090495731
@lex@nder
2004-07-22 15:28
2004.09.05
Запись CD


14-1092976591
Vlad Oshin
2004-08-20 08:36
2004.09.05
http://www.liveinternet.ru/images/attach/32750/1054196.jpg