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

Вниз

SC_HANDLE   Найти похожие ветки 

 
TerminalHead   (2005-08-03 20:34) [0]

Помогите пожалуйста исправить: пытаюсь использовать вот эту функцию, но получаю очень много ошибок:

function CreateNTService(ExecutablePath, ServiceName: string): boolean;
var
 hNewService, hSCMgr: SC_HANDLE;
 // Rights: DWORD;
 FuncRetVal: Boolean;
begin
 FuncRetVal := False;
 hSCMgr := OpenSCManager(nil, nil, SC_MANAGER_CREATE_SERVICE);
 if (hSCMgr <> 0) then
 begin
   //Custom service access rights may be built here
   //we use GENERIC_EXECUTE which is combination of
   //STANDARD_RIGHTS_EXECUTE, SERVICE_START, SERVICE_STOP,
   //SERVICE_PAUSE_CONTINUE, and SERVICE_USER_DEFINED_CONTROL
   //You can create own rights and use them as shown in the
   //commented line below.

   //Rights := STANDARD_RIGHTS_REQUIRED or SERVICE_START or SERVICE_STOP
   // or SERVICE_QUERY_STATUS or SERVICE_PAUSE_CONTINUE or
   // SERVICE_INTERROGATE;

   hNewService := CreateService(hSCMgr, PChar(ServiceName), PChar(ServiceName),
     STANDARD_RIGHTS_REQUIRED, SERVICE_WIN32_OWN_PROCESS,
     SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,
     PChar(ExecutablePath), nil, nil, nil, nil, nil);
   CloseServiceHandle(hSCMgr);
   if (hNewService <> 0) then
     FuncRetVal := true
   else
     FuncRetVal := false;
 end;
 CreateNTService := FuncRetVal;
end;

А вот и ошибки:

[Error] Unit1.pas(45): Undeclared identifier: "SC_HANDLE"
[Error] Unit1.pas(50): Undeclared identifier: "OpenSCManager"
[Error] Unit1.pas(50): Undeclared identifier: "SC_MANAGER_CREATE_SERVICE"
[Warning] Unit1.pas(51): Comparing signed and unsigned types - widened both operands
[Error] Unit1.pas(64): Undeclared identifier: "CreateService"
[Error] Unit1.pas(65): Undeclared identifier: "SERVICE_WIN32_OWN_PROCESS"
[Error] Unit1.pas(66): Undeclared identifier: "SERVICE_DEMAND_START"
[Error] Unit1.pas(66): Undeclared identifier: "SERVICE_ERROR_NORMAL"
[Error] Unit1.pas(68): Undeclared identifier: "CloseServiceHandle"
[Warning] Unit1.pas(69): Comparing signed and unsigned types - widened both operands
[Fatal Error] Project1.dpr(5): Could not compile used unit "Unit1.pas"


 
begin...end ©   (2005-08-03 20:57) [1]

Добавьте в список uses модуль WinSvc. И все ошибки сразу исчезнут.


 
TerminalHead   (2005-08-03 21:27) [2]

Спасибо !!!


 
TerminalHead   (2005-08-03 21:40) [3]

Вот пытаюсь разобратся в этом: http://delphiworld.narod.ru/base/services_work.html
Но пока что не очень получается, я конечно совершенный ламер и в дельфи почти ничего не смыслю, в общем то как и в других языка програмирования, но мне очень нужно добавить мое приложение в автозагрузку как сервис.
И я был бы очень рад если кто-нибудь смог бы мне помочь это сделать.
На сколько я понял эта функция занимается именно этим, но я так и не понял как сделать чтобы мое приложение попало в автозагрузку сервисом.
Помогите пожалуйста


 
TerminalHead   (2005-08-03 22:02) [4]

Пока что программа почему-то не запускается
Вроде все ок, но все-равно запускатся при запуске виндов не хочет
Пишу: CreateNTService("c:\Program Files\newservice.exe","New Service");



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

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

Наверх




Память: 0.47 MB
Время: 0.045 c
14-1122496407
DiamondShark
2005-07-28 00:33
2005.08.21
Дятлы.


3-1121079216
llirik
2005-07-11 14:53
2005.08.21
rename column


1-1122584384
Mameluke
2005-07-29 00:59
2005.08.21
Фокус ввода


5-1093596786
Salivan
2004-08-27 12:53
2005.08.21
TTreeView + MultiSelect ? это возможно?


4-1119515376
MegaVolt
2005-06-23 12:29
2005.08.21
Можно ли по коду сообщения получить его название?