Главная страница
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.043 c
4-1116520464
kat
2005-05-19 20:34
2005.08.21
Панель Инструментов


9-1111050921
cyborg
2005-03-17 12:15
2005.08.21
Dune 2


1-1122989846
slaga
2005-08-02 17:37
2005.08.21
Как в Delphi сделать диалог выбора папки


8-1112079276
VIS
2005-03-29 10:54
2005.08.21
tuner


3-1121234219
leonidus
2005-07-13 09:56
2005.08.21
ADO с провайдером Microsoft.Jet.OLEDB.4.0 не хочет делать INSERT