Service.Create

Service.Create ( string Filename,
string DisplayName = "Service1",
string KeyName = "",
number ServiceType = SERVICE_WIN32_OWN_PROCESS,
boolean AllowDesktopInteraction = false,
number StartType = SERVICE_DEMAND_START,
number ErrorControl = SERVICE_ERROR_NORMAL,
string LoadOrderGroup = "",
number GroupTag = nil,
table Dependencies = nil,
string ServiceStartName = "",
string Password = "" )
Примеры

Описание

Создает новую службу на локальном компьютере.

Параметры

Filename

(строка) Полный путь к бинарному файлу службы, с аргументами или без аргументов.

DisplayName

(строка) Строковое значение, которое будут использовать интерфейсы пользовательских программ для идентификации службы.

KeyName

(строка) Строка с названием устанавливаемой службы. Максимальная длина строки 256 символов, чтобы быть допустимым ключевым именем Windows.

Примечание: Диспетчер управления базой данных службы сохраняет регистр символов, но сравнение имен службы всегда нечувствительно к регистру. Символы прямой слеш (/) и обратный слеш (\) недопустимы в имени службы.

ServiceType

(число) Тип службы. Она может быть одной из следующих:

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
SERVICE_WIN32_OWN_PROCESS0Служба, что работает в своем собственном процессе.
SERVICE_WIN32_SHARE_PROCESS1Служба, которая разделяет процесс с другими службами.
SERVICE_KERNEL_DRIVER2Служба драйверов.
SERVICE_FILE_SYSTEM_DRIVER3Служба драйверов файловой системы.

AllowDesktopInteraction

(логический) Разрешать ли процессу службы взаимодействовать с Рабочим столом. Если установлен как истина (true), служба должна работать в учетной записи "LocalSystem". Это можно сделать установкой параметра ServiceStartName как "LocalSystem".

StartType

(число) Способ запуска службы. Он может быть одним из следующих:

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
SERVICE_BOOT_START0Драйвер устройства запускается загрузчиком системы. Это значение допустимо только для служб драйверов.
SERVICE_SYSTEM_START1Драйвер устройства запускается функцией IoInitSystem. Это значение допустимо только для служб драйверов.
SERVICE_AUTO_START2Служба запускается автоматически диспетчером управления службами во время запуска системы
SERVICE_DEMAND_START3Служба запускается диспетчером управления службами когда процесс вызывает функцию StartService.
SERVICE_DISABLED4Служба которая не может быть запущена. Попытки запуска этой службы приведут к ошибке Windows error.

ErrorControl

(число) Серьезность ошибки, если эта служба не запускается во время загрузки. Она может быть одной из следующих:

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
SERVICE_ERROR_IGNORE0Программа загрузки регистрирует ошибку, но продолжает операцию загрузки.
SERVICE_ERROR_NORMAL 1Программа загрузки регистрирует ошибку и выводит всплывающее окно сообщения, но продолжает операцию загрузки.
SERVICE_ERROR_SEVERE2Программа загрузки регистрирует ошибку. Если запущена последняя удачная конфигурация, операция загрузки продолжается. В противном случае система перезагружается с последней удачной конфигурацией.
SERVICE_ERROR_CRITICAL3Программа загрузки регистрирует ошибку, если это возможно. Если запущена последняя удачная конфигурация, операция загрузки перестает работать. В противном случае система перезагружается с последней удачной конфигурацией.

LoadOrderGroup

(строка) Название группы порядка загрузки, в которую входит данная служба. Введите пустую строку "", если она не принадлежит группе.

GroupTag

(число) Значение тега. Это значение уникально для группы порядка загрузки. Теги вычисляются только для служб драйверов, с типом загрузки SERVICE_BOOT_START или SERVICE_SYSTEM_START.

Dependencies

(таблица) Численно индексированная таблица, содержащая имена служб или групп порядка загрузки, что должны быть загружены перед запуском этой службы.

ServiceStartName

(строка) Строка с названием учетной записи (аккаунт), под которой будет работать служба. Если тип службы SERVICE_WIN32_OWN_PROCESS, используйте название учетной записи в форме "DomainName\\UserName" - "ИмяДомена\\ИмяПользователя". Процесс службы будет зарегистрирован как этот пользователь. Если учетная запись принадлежит встроенному домену, можно указать ".\\UserName". Если этот параметр пустая строка (""), для создания службы используется учетная запись LocalSystem. Если параметр AllowDesktopInteraction установлен как истина (true), служба должна работать с учетной записью "LocalSystem".

Password

(строка) Пароль для службы. Укажите пустую строку "", если учетная запись (аккаунт) не имеет пароля или если служба работает с учетной записью LocalService, NetworkService, или LocalSystem. Пароли игнорируются для служб драйверов.

Возврат

Ничего. Можно использовать действие Application.GetLastError для определения случился ли отказ в работе этого действия и почему.
Смотрите также: Связанные действия

Примеры

Пример 1

-- Create a Service1.exe service
-- Создаем службу Service1.exe
Service.Create("C:\\WINDOWS\\Service1.exe", "Service1", "Service1", SERVICE_WIN32_OWN_PROCESS, true, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, "", "", nil, "", "");

-- Get the last error (0 == success)
-- Получаем последнюю ошибку (0 == успех)
err = Application.GetLastError();

if err ~= 0 then
    -- If there was an error, output to user
    -- Если произошла ошибка, выводим её пользователю
    Dialog.Message(err, _tblErrorMessages[err]);
end
Создаем службу по имени Service1 используя Service1.exe из C:\WINDOWS.
Смотрите также: Связанные действия