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

Вниз

Сервис   Найти похожие ветки 

 
Levin_610 ©   (2006-07-14 12:50) [0]

как зарегестрировать программу, как сервис?


 
sniknik ©   (2006-07-14 12:53) [1]

выполнить с параметром /install (если конечно она написана именно как сервис)


 
isasa ©   (2006-07-14 13:03) [2]

http://www.ishodniki.ru/art/artshow.php?id=90&cat=1&show=delphi

вот эта штука повторяется в нете n-раз.
Если сделать как там, то, по моему, параметр /i :)


 
Levin_610 ©   (2006-07-14 13:22) [3]

спасибо


 
prosto_Maria ©   (2006-07-14 16:09) [4]

там есть функция ServiceInitialization, что она делает и как её описать?


 
novill ©   (2006-07-14 16:22) [5]


> prosto_Maria ©   (14.07.06 16:09) [4]
> там есть функция ServiceInitialization

"Там" - Это где? :)


 
prosto_Maria ©   (2006-07-14 16:40) [6]

http://www.ishodniki.ru/art/artshow.php?id=90&cat=1&show=delphi


 
Пусик ©   (2006-07-14 22:23) [7]


> Levin_610 ©   (14.07.06 12:50) 


srvany.exe из пакета Resouce Kit. Позволит запустить программу как сервис.

http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en

либо ищи отдельно 3 файла:
instsrv.exe
srvany.exe
srvany.wri (инструкция).


 
Leonid Troyanovsky ©   (2006-07-14 22:41) [8]


> prosto_Maria ©   (14.07.06 16:40) [6]


Видишь ли, Маша (ничего, если я запросто?)
Для того, чтобы зарегистрировать прилож aka service,
она д.б. написана aka service. О чем уже ранее было и сказано.

Подробности можно найти на

http://rsdn.ru/?article/baseserv/svcadmin-1.xml & etc

--
Regards, LVT.


 
isasa ©   (2006-07-14 23:13) [9]

prosto_Maria ©   (14.07.06 16:09) [4]

там есть функция ServiceInitialization, что она делает и как её описать?


Очередной переписчик этой "библии" забыл ее закоментировать. Эта функция может быть написана(а может и нет) пользователем для инициализации каких-нибудь данных сервиса. Показывает место, где это уместно делать. В коментарий ее.


 
isasa ©   (2006-07-14 23:19) [10]

OFFTOP
Чистое любопытство. Зачем два ника?
Levin_610 ©
prosto_Maria ©

Да еще такие разные?


 
Leonid Troyanovsky ©   (2006-07-14 23:21) [11]


> isasa ©   (14.07.06 23:19) [10]

> Да еще такие разные?


Я могу предложить версии, если ты поделишься
основаниями для идентефикации.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2006-07-14 23:25) [12]


> Leonid Troyanovsky ©   (14.07.06 23:21) [11]

> Я могу предложить версии, если ты поделишься
> основаниями для идентефикации.


Так основания шиты белыми нитками,
то, делится версиями я не буду, sorry.

--
Regards, LVT.


 
Levin_610 ©   (2006-07-17 09:29) [13]

у меня почему-то не заходило, под моим ником, а просто_Мария полезный ник), я написал программу, как сервис, но как прописать, чтобы она регистрировалась?


 
Ketmar ©   (2006-07-17 10:25) [14]

попросить SCM зарегистрировать. %-)


 
Levin_610 ©   (2006-07-17 10:27) [15]

до этого я уже дошёл, я вроде прошу, но видимо как-то не так)


 
Fay ©   (2006-07-17 10:38) [16]

2 Levin_610 ©   (17.07.06 10:27) [15]
Значит не дошёл


 
Levin_610 ©   (2006-07-17 10:47) [17]

последнее высказывание было необходимо) - я делаю так:
hSCMgr := OpenSCManager(nil, nil, SC_MANAGER_CREATE_SERVICE);
 if (hSCMgr <> 0) then
 begin
   hNewService := CreateService(hSCMgr, PChar(ServiceName), PChar(ServiceName),
     STANDARD_RIGHTS_REQUIRED, SERVICE_WIN32_OWN_PROCESS,
     SERVICE_AUTO_START, SERVICE_ERROR_NORMAL,
     PChar(ExecutablePath), nil, nil, nil, nil, nil);
- это все, что нужно, чтобы SCM зарегистрировал службу? или нужно ещё что-то? Или может в этом коде есть ошибка?


 
isasa ©   (2006-07-17 10:54) [18]

Вот фрагмент болванки _tmain сервиса. На D, к сожалению нет, т.к. не юзаю.
Но идея, думаю, будет понятна. API функции -- те-же. Лежать должен в *.dpr, если не ошибаюсь.

TCHAR srvName[] = _T("DiSpy");
TCHAR srvDispName[] = _T("DiSpy Internet Broadband Router Spyer");
threadDataStruct thData;

int _tmain(int argc, _TCHAR* argv[])
{
...
  //Service Installing
    if(wcscmp(argv[1],L"/i")==0)
    {
       wprintf(L"Service installing ...\n");
       SC_HANDLE schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);  // Open SC Manager
       if (NULL == schSCManager)
       {
        LPVOID lpMsgBuf;
        DWORD dw = GetLastError();
        FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
                        NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
        wprintf(L"OpenSCManager failed. (0x%08X)%s\n", dw, lpMsgBuf);
        LocalFree(lpMsgBuf);
        return 0;
       }
       SC_HANDLE schService = CreateService(schSCManager, srvName, srvDispName, SERVICE_ALL_ACCESS,    
                SERVICE_WIN32_OWN_PROCESS, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, thData.szPath,
                NULL, NULL, NULL, NULL, NULL);
       if (schService == NULL)
       {
           LPVOID lpMsgBuf;
           DWORD dw = GetLastError();
           FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
                 NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
         wprintf(L"CreateService failed. (0x%08X)%s\n", dw, lpMsgBuf);
         CloseServiceHandle(schSCManager);
         LocalFree(lpMsgBuf);
         return 0;
       }
       CloseServiceHandle(schService);
       wprintf(L"Service installing succeeded:\n");
       wprintf(L"Service display name: \"%s\"\n", srvDispName);
       wprintf(L"Service file path: \"%s\"\n", thData.szPath);
   return 0;
    }
    //Service Uninstalling
    if(wcscmp(argv[1],L"/u")==0)
    {
       wprintf(L"Service uninstalling ...\n");
       SC_HANDLE schSCManager = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS); // Open SC Manager
       if (NULL == schSCManager)
       {
         LPVOID lpMsgBuf;
         DWORD dw = GetLastError();
         FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
                          NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
         wprintf(L"OpenSCManager failed. (0x%08X)%s\n", dw, lpMsgBuf);
         LocalFree(lpMsgBuf);
         return 0;
       }
       SC_HANDLE schService = OpenService( schSCManager, srvName, DELETE);
       if (schService == NULL)
       {
         LPVOID lpMsgBuf;
         DWORD dw = GetLastError();
         FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
            NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
         wprintf(L"OpenService failed. (0x%08X)%s\n", dw, lpMsgBuf);
         CloseServiceHandle(schSCManager);
         LocalFree(lpMsgBuf);
         return 0;
       }

       if (!DeleteService(schService))
       {
         LPVOID lpMsgBuf;
         DWORD dw = GetLastError();
         FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
     NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
         wprintf(L"DeleteService failed. (0x%08X)%s\n", dw, lpMsgBuf);
         CloseServiceHandle(schSCManager);
         CloseServiceHandle(schService);
         LocalFree(lpMsgBuf);
         return 0;
       }

       wprintf(L"DeleteService succeeded.\n");
       wprintf(L"Service was deleted without error.\n");

       CloseServiceHandle(schSCManager);
       CloseServiceHandle(schService);
       return 0;
     }
...


 
Fay ©   (2006-07-17 11:08) [19]

2 Levin_610 ©   (17.07.06 10:47) 17]
> STANDARD_RIGHTS_REQUIRED
SC_MANAGER_CREATE_SERVICE не лучше? И ваще, где анализ результата выполнения CreateService?


 
Levin_610 ©   (2006-07-17 11:23) [20]

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


 
Levin_610 ©   (2006-07-17 11:27) [21]

всё есть - CreateServise


 
Levin_610 ©   (2006-07-17 11:34) [22]

а что нужнопрописать в основной ф-ции function MainServiceThread(p: Pointer): DWORD; stdcall;
 var hWinSta, hDesktop, hOldWinSta, hOldDesktop: THandle;
begin
 sleep(10);
end;
ещё что-то?


 
Fay ©   (2006-07-17 12:00) [23]

2 Levin_610 ©   (17.07.06 11:34) [22]
>  что нужнопрописать в основной ф-ции
Предполагается, что ты это уже знаешь.
Не парь мозги, возьми готовый класс службы.


 
Levin_610 ©   (2006-07-17 12:05) [24]

ссылку на какой-нибудь нормальный готовый класс можешь дать?


 
Levin_610 ©   (2006-07-17 12:23) [25]

пожалуйста


 
isasa ©   (2006-07-17 12:31) [26]

:)
Если по-простому, то

while exitFlag=0 do begin
 <делаем что-то>
 Sleep(<скоко надо, если надо>);
end;

Или, если хочешь с ним общаться через WM_<message>, то GetMessage в цикле.


 
isasa ©   (2006-07-17 12:33) [27]

Судя по вопросам, все-таки, сходи по ссылке
Leonid Troyanovsky ©   (14.07.06 22:41) [8]
на rsdn.
Наступит просветление. :)


 
Levin_610 ©   (2006-07-17 12:52) [28]

я прочиталЮ и вроде бы всё нормально в моей программе - надо было идти в футболисты)


 
Fay ©   (2006-07-17 14:40) [29]

2 Levin_610 ©   (17.07.06 12:52) [28]
Что возвращает CreateService?


 
Пусик ©   (2006-07-17 14:48) [30]


> Levin_610 ©   (17.07.06 12:05) [24]
> ссылку на какой-нибудь нормальный готовый класс можешь дать?
>


Вот рабочий код.

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
 ExtCtrls;

type

 TThreadTimer=class(TThread)
 protected
   FS: TFileStream;
   procedure Execute; override;
 end;

 TTwoService = class(TService)
   procedure ServiceExecute(Sender: TService);
   procedure ServiceStart(Sender: TService; var Started: Boolean);
   procedure ServiceStop(Sender: TService; var Stopped: Boolean);
   procedure ServiceContinue(Sender: TService; var Continued: Boolean);
   procedure ServicePause(Sender: TService; var Paused: Boolean);
 private
   { Private declarations }
 public
   function GetServiceController: TServiceController; override;
   { Public declarations }
 end;

var
 TwoService: TTwoService;
 ThrTimer: TThreadTimer;

implementation

{$R *.DFM}

{TTwoService}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
 TwoService.Controller(CtrlCode);
end;

function TTwoService.GetServiceController: TServiceController;
begin
 Result := ServiceController;
end;

procedure TTwoService.ServiceExecute(Sender: TService);
begin
   while not terminated do
   begin
     ServiceThread.ProcessRequests(True);
   end;
end;

procedure TTwoService.ServiceStart(Sender: TService; var Started: Boolean);
begin
 ThrTimer := TThreadTimer.Create(True);
 ThrTimer.FreeOnTerminate := True;
 try
   if not FileExists("c:\log.tmp") then
   begin
     ThrTimer.FS := TFileStream.Create("c:\log.tmp",fmCreate or fmShareDenyWrite);
     ThrTimer.FS.Free;
   end;
   ThrTimer.FS := TFileStream.Create("c:\log.tmp",fmOpenReadWrite or fmShareDenyWrite);

   Started := True;
 except
   ThrTimer.Terminate;
   Started := False;
 end;
 ThrTimer.Resume;
end;

procedure TTwoService.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
 ThrTimer.Terminate;
 ThrTimer.Resume;
 Stopped := True;
end;

procedure TTwoService.ServiceContinue(Sender: TService;
 var Continued: Boolean);
begin
 ThrTimer.Resume;
 Continued := True;
end;

procedure TTwoService.ServicePause(Sender: TService; var Paused: Boolean);
begin
ThrTimer.Suspend;
Paused := True;
end;

{ TThreadTimer }

procedure TThreadTimer.Execute;
var
 s: String;
begin
 while not Terminated do
 begin
   try
     s := FormatDateTime("hh:nn:ss",Now)+#13#10;
     FS.Write(s[1],Length(s));
     Sleep(1000);
   except
   end;
 end;
 FS.Free;
end;

end.


 
Fay ©   (2006-07-17 14:54) [31]

2 Пусик ©   (17.07.06 14:48) [30]
if not FileExists("c:\log.tmp") then
  begin
    ThrTimer.FS := TFileStream.Create("c:\log.tmp",fmCreate or fmShareDenyWrite);
    ThrTimer.FS.Free;
  end;
  ThrTimer.FS := TFileStream.Create("c:\log.tmp",fmOpenReadWrite or fmShareDenyWrite);


что это за порнография?


 
Пусик ©   (2006-07-17 15:12) [32]


> Fay ©   (17.07.06 14:54) [31]
> 2 Пусик ©   (17.07.06 14:48) [30]if not FileExists("c:\log.
> tmp") then   begin     ThrTimer.FS := TFileStream.Create("c:
> \log.tmp",fmCreate or fmShareDenyWrite);     ThrTimer.FS.
> Free;   end;   ThrTimer.FS := TFileStream.Create("c:\log.
> tmp",fmOpenReadWrite or fmShareDenyWrite);что это за порнография?
>


Внимательней код изучай.


 
DrPass ©   (2006-07-17 15:14) [33]

А почему не
if not FileExists("c:\log.tmp") then
   ThrTimer.FS := TFileStream.Create("c:\log.tmp",fmCreate or fmShareDenyWrite)
else
 ThrTimer.FS := TFileStream.Create("c:\log.tmp",fmOpenReadWrite or fmShareDenyWrite);
?


 
Fay ©   (2006-07-17 15:18) [34]

2 Пусик ©   (17.07.06 15:12) [32]
> Внимательней код изучай.
Я изучил. Порнография в чистом виде.


 
Пусик ©   (2006-07-17 15:29) [35]


> Fay ©   (17.07.06 15:18) [34]
> 2 Пусик ©   (17.07.06 15:12) [32]> Внимательней код изучай.
> Я изучил. Порнография в чистом виде


Вот иди и займись ей(порнографией).


> DrPass ©   (17.07.06 15:14) [33]


Дело в том, что при TFileStream.Create("c:\log.tmp",fmCreate or fmShareDenyWrite) нужный эффект(доступ на чтение из других программ) не будет достигнут.


 
Пусик ©   (2006-07-17 15:31) [36]

> DrPass ©   (17.07.06 15:14) [33]

Да и не в том вопрос. Приведен рабочий пример. Как и просил человек.
А все вокруг - излишне.


 
Игорь Шевченко ©   (2006-07-17 17:10) [37]

Порнография на самом деле находится в SysUtils, не позволяющая передать в функцию FileCreate параметр режима разделения доступа.


 
Fay ©   (2006-07-17 17:13) [38]

2 Пусик ©   (17.07.06 15:29) [35]
> Дело в том, что при TFileStream.Create
А CreateFile не судьба?


 
Пусик ©   (2006-07-17 17:14) [39]


> Fay ©   (17.07.06 17:13) [38]
> 2 Пусик ©   (17.07.06 15:29) [35]> Дело в том, что при TFileStream.
> CreateА CreateFile не судьба?


А прежде подумать, а потом говорить, тоже не судьба?


 
Игорь Шевченко ©   (2006-07-17 17:20) [40]


> ThrTimer.FS := TFileStream.Create("c:\log.tmp",fmCreate
> or fmShareDenyWrite);


or fmShareDenyWrite - лишнее. fmCreate равен $FFFF


 
Пусик ©   (2006-07-17 17:27) [41]


> Игорь Шевченко ©   (17.07.06 17:20) [40]
> > ThrTimer.FS := TFileStream.Create("c:\log.tmp",fmCreate
> > or fmShareDenyWrite);or fmShareDenyWrite - лишнее. fmCreate
> равен $FFFF


Совершенно верно.

Но стоит ли этот совершенно никчемный пример, всего лишь демонстрирующий, как правильно организовать работу сервиса, используя готовый класс Delphi, разбиратть по косточкам?


 
Fay ©   (2006-07-17 17:30) [42]

2 Пусик ©   (17.07.06 17:14) [39]
> А прежде подумать, а потом говорить, тоже не судьба?
О чём это, таком умном, нужно было подумать?


 
Пусик ©   (2006-07-17 17:43) [43]


> Fay ©   (17.07.06 17:30) [42]
> 2 Пусик ©   (17.07.06 17:14) [39]> А прежде подумать, а
> потом говорить, тоже не судьба?О чём это, таком умном, нужно
> было подумать?


О вечном, непреходящем. А также см. [41].

Прежде, чем цепляться к пуговицам, подумай о цели и назначении предмета одежды.

Не надо цепляться и говорить, что на майке нет пуговиц (ничего себе - майка без пуговиц!), так как она не предназначена для того, чтобы к ней пуговицы нашивали. Разве что для людей с немного измененной психикой.


 
Игорь Шевченко ©   (2006-07-17 17:48) [44]

Пусик ©   (17.07.06 17:43) [43]

flame > /dev/null


 
Levin_610 ©   (2006-07-18 09:36) [45]

спасибо за помощь, я уже написал, всё получилось, спасибо


 
isasa ©   (2006-07-18 10:35) [46]

:)
ну вот, а ты боялся ...


 
isasa ©   (2006-07-18 10:38) [47]

Да.
Статью с rsdn почитай. Там про время откликов потоков сервиса -- очень актуальнай момент(не только для корректного завершения)


 
Levin_610 ©   (2006-07-18 12:24) [48]

правильно боялся, у меня почему-то, регистроваться-то регистрируется, и удаляется, но не запускается, если пытаюсь запустить, то пишет следующее: ошибка2: не удаётся найти указанный файл


 
isasa ©   (2006-07-18 13:06) [49]

А проверить, где зарегистрирован модуль службы и есть ли он там. :)

       SC_HANDLE schService = CreateService(
               schSCManager, // SCManager database
               srvName, // name of service
               srvDispName, // service name to display
               SERVICE_ALL_ACCESS, // desired access
               SERVICE_WIN32_OWN_PROCESS, // service type
               SERVICE_DEMAND_START, // start type
               SERVICE_ERROR_NORMAL, // error control type
               szPath, // path to service"s binary  <-- откуда взял?
               NULL, // no load ordering group
               NULL, // no tag identifier
               NULL, // no dependencies
               NULL, // LocalSystem account
               NULL); // no password


 
Levin_610 ©   (2006-07-18 14:06) [50]

szPath, // path to service"s binary  <-- откуда взял? - где-то прочситал, что так можно сделать) , а это неправильно?  кстати там я ошибся в адресе, правда тебперь при запуске не отвечает моя программа на запрос, но это уже другая история)


 
Levin_610 ©   (2006-07-18 14:21) [51]

я вообщем локализовал ошибку, она в ф-ции СервисСтарт, не у кого нет рабочей версии этой функции?) Странная вещь, когда я расскомментирую описания процедуры СервисСтарт,  у меня не может сервис зарегестрироваться, как такое может быть?


 
Levin_610 ©   (2006-07-18 15:07) [52]

теперь служба запускается, но дает ошибку сразу же, где можно искать ошибку: при приёме данных от SCM, что-то с потоком может быть не так? - конечно понимаю - глупо спрашивать, где в моём коде ошибка) , но мало ли у кого есть идеи. Но и всё же, если у кого есть servicestart и servicestop нормальные...пожалуйста)


 
Levin_610 ©   (2006-07-19 09:21) [53]

вопрос всё ещё в силе)


 
Levin_610 ©   (2006-07-19 12:30) [54]

у меня заходит сюда:   if not StartServiceCtrlDispatcher(DispatchTable[0]) then
   LogError("StartServiceCtrlDispatcher Error");
т.е. неправидьно выполняется StartServiceCtrlDispatcher, с чем это может быть связано?
помогите пожалуйста.


 
isasa ©   (2006-07-19 12:49) [55]

Levin_610 ©   (19.07.06 12:30) [54]
Перепиши приблизительно так, и почитай, что пишет

if not StartServiceCtrlDispatcher(DispatchTable[0]) then begin
  ErrCode:=GetLastError();
  LogError(
               "StartServiceCtrlDispatcher Error "+
               format("%d(%x) %s", [ErrCode, ErrCode, SysErrorMessage(ErrCode)])
             );
end;


 
Levin_610 ©   (2006-07-19 13:55) [56]

хорошо, спасибо, ща попробую.


 
Levin_610 ©   (2006-07-19 14:20) [57]

после того, как я ввёл этот код - он вывел следующее на экран:
StartServiceCtrlDispatcher Error 1063<427> - а дальше набор символов на непонятном языке


 
isasa ©   (2006-07-19 15:10) [58]

:)
Ну а так

if not StartServiceCtrlDispatcher(DispatchTable[0]) then begin
 ErrCode:=GetLastError();
 MessageBox(0,
   PChar("StartServiceCtrlDispatcher Error "+format("%d(%x) %s", [ErrCode, ErrCode, SysErrorMessage(ErrCode)])),
   "Start Service Error ",
   MB_OK or MB_ICONERROR or MB_SERVICE_NOTIFICATION);
end;


Кодировка?
Винда русская, небось от 2000 или ХР, т.е. консоль - юникод, в файл пишем как со всеми вытекающими.
Кстати, дома на русской тоже надо потренироваться.


 
isasa ©   (2006-07-19 15:16) [59]

:)
Должно так(на англ.)
StartServiceCtrlDispatcher Error 1063(427) The service process could not connect to the service controller

Криво расставил точки входа.

DispatchTable[0].lpServiceName:=<ServiceName>;
DispatchTable[0].lpServiceProc:=@ServiceProc;

DispatchTable[1].lpServiceName:=nil;
DispatchTable[1].lpServiceProc:=nil;


 
Levin_610 ©   (2006-07-19 15:22) [60]

пишет, что одна копия службы уже запущена, но я удалил тогда службу эту, он всё равно пишет тоже самое


 
Levin_610 ©   (2006-07-19 15:24) [61]

DispatchTable[0].lpServiceName:=ServiceName;
DispatchTable[0].lpServiceProc:=@ServiceProc;

DispatchTable[1].lpServiceName:=nil;
DispatchTable[1].lpServiceProc:=nil;
У меня вот так вот, но ServiceName = "ServiceName"


 
isasa ©   (2006-07-19 15:37) [62]

Ctrl+Shift+Esc - закладка Processes, ищем, удаляем.
Зарегистрировать, запустить, остановить, приостановить, восстановить, удалить (Register, Start, Stop, Pause, Resume, Unregister) - разные действия.
Надо читать первоисточники.
Так не пойдет - сумбур. :)


 
Levin_610 ©   (2006-07-19 16:13) [63]

у меня нет его в процессах


 
Levin_610 ©   (2006-07-19 16:21) [64]

я нашёл в чем там глюк был, теперь он другое пишет:
"Процесс службы не может установить связь с контроллером службы"


 
Levin_610 ©   (2006-07-20 09:01) [65]

Как написать СервисКонтроллер, чтобы всё действовало?


 
Fay ©   (2006-07-20 09:45) [66]

http://www.booka.ru/booka_topic_5114?id=17892


 
Levin_610 ©   (2006-07-20 09:52) [67]

спасибо конечно, но я бедный стцдент до зарплаты, а зарплату я не получу, если не сделаю программу - замкнутый круг получается), по
тому я спрошу, если кто захочет ответит:
почему-то если запускать прогу через прописания /install, то потом связь устанавливается видимо, во всяком случае служба запускается, но мне нужно, чтобы служба автоматически устанавливалась, у меня это прописано, но тогда появляется вышеупомянутая ошибка, это значит, что что-то не совсем правильно в CreatNTService?


 
Levin_610 ©   (2006-07-20 15:49) [68]

вопросы всё ещё в силе, про СервиКонтрол и последний, буду благодарен за помощь



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

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

Наверх




Память: 0.66 MB
Время: 0.046 c
3-1148858671
x-relax
2006-05-29 03:24
2006.08.06
Поле Time Paradox, SQL запрос


2-1153308761
Роман88
2006-07-19 15:32
2006.08.06
Internet Explorer 6 (Добавить в избранное)


1-1150904746
NORDmen
2006-06-21 19:45
2006.08.06
регулярные выражения разбор строк


2-1152800293
K_Lock
2006-07-13 18:18
2006.08.06
Выделение строк таблицы разным цветом по времени


15-1152097725
pavel_guzhanov
2006-07-05 15:08
2006.08.06
Умер Андрей Краско :((