Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Безопасность, Шифрование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2007, 21:54   #1
Kastor
Новичок
Джуниор
 
Регистрация: 29.03.2007
Сообщений: 1
По умолчанию Как запускать службы через Delphi

Подскажите пожалуйста как средствами Delphi или .NET запустить службу Windows, желательно еще код. и можно ли средствами языка включить соединение?
Kastor вне форума Ответить с цитированием
Старый 03.04.2007, 22:11   #2
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

Цитата:
запустить службу Windows,
под службой понимается сервис?
dron-s вне форума Ответить с цитированием
Старый 04.04.2007, 20:06   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,805
По умолчанию

для начала 2 функции CreateSrvice, StartService
посмотри что непонятно, потом отпишись
rpy3uH вне форума Ответить с цитированием
Старый 04.04.2007, 20:26   #4
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

за пустить сервис так
Код:
procedure TForm1.StartService(ServiceName: string);
var
  schService,
    schSCManager: Dword;
  p: PChar;
begin
  p := nil;
  schSCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
  if schSCManager = 0 then
    RaiseLastWin32Error;
  try
    schService := OpenService(schSCManager, PChar(ServiceName),
      SERVICE_ALL_ACCESS);
    if schService = 0 then
      RaiseLastWin32Error;
    try
      if not Winsvc.startService(schService, 0, p) then
        RaiseLastWin32Error;
    finally
      CloseServiceHandle(schService);
    end;
  finally
    CloseServiceHandle(schSCManager);
  end;
end;
остановить так
Код:
procedure TForm1.StopService(ServiceName: string);
var
  schService,
    schSCManager: DWORD;
  p: PChar;
  ss: _SERVICE_STATUS;
begin
  p := nil;
  schSCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
  if schSCManager = 0 then
    RaiseLastWin32Error;
  try
    schService := OpenService(schSCManager, PChar(ServiceName),
      SERVICE_ALL_ACCESS);
    if schService = 0 then
      RaiseLastWin32Error;
    try
      if not ControlService(schService, SERVICE_CONTROL_STOP, SS) then
        RaiseLastWin32Error;
    finally
      CloseServiceHandle(schService);
    end;
  finally
    CloseServiceHandle(schSCManager);
  end;
end;
как спользовать, думаю разберёшься...
dron-s вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поместить программу в tray и запускать Johnt Общие вопросы Delphi 10 07.01.2009 14:35
Sms через Delphi delphin100 Общие вопросы Delphi 1 26.09.2007 18:40
Автоматически запускать приложение лисенок БД в Delphi 3 17.04.2007 23:39
службы bloood Общие вопросы C/C++ 1 02.04.2007 02:04
Программа в иде службы ale_krolik Общие вопросы Delphi 1 13.12.2006 12:00