Service.Start

Service.Start ( string DisplayName,
string KeyName = "",
table Arguments = nil )
Примеры

Описание

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

Параметры

DisplayName

(строка) Отображаемое имя службы, которую нужно запустить.

KeyName

(строка) Ключевое название службы, которую нужно запустить.

Примечание: Ключевое название требуется только в том случае, если служба не соответствует отображаемому имени.

Arguments

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

Возврат

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

Примеры

Пример 1

Service.Start("StartMe", "", nil);
Запускаем службу "StartMe".

Пример 2

-- specify the service's display name and location
-- указываем отображаемое имя и размещение службы
ServiceDisplayName = "Service1";
ServiceFilePath = "C:\\WINDOWS\\SERVICE1.EXE";

-- Stop the specified service
-- Останавливаем указанную службу
Service.Stop(ServiceDisplayName, "");

-- Copy the replacement service exe
-- Копируем заменяемый exe-файл службы
File.Copy(_SourceFolder .. "\\SERVICES\\SERVICE1.EX_"), ServiceFilePath, false, true, false, true, nil);

-- Start the service
-- Запускаем службу
Service.Start(ServiceDisplayName, "", nil);
Останавливаем указанную службу, заменяем exe файл и запускаем службу.

Пример 3

-- Specify the service to query
-- Определяем службу для запроса
ServiceToQueryDisplay = "Service1";
ServiceToQueryKey = "Boom";

-- Query the specified service
-- Запрашиваем указанную службу
QueryResult = Service.Query(ServiceToQueryDisplay, ServiceToQueryKey);
if not (QueryResult == SERVICE_RUNNING) then
    -- Set err to 0
    -- Устанавливаем переменную err равную 0
    err = 0;
    -- The service is not running.
    -- Служба не запущена.
    if (QueryResult == SERVICE_PAUSED) then
        -- The service is paused, try continue
        -- Служба приостановлена (в паузе), попробуем возобновить работу
        Service.Continue(ServiceToQueryDisplay, ServiceToQueryKey);
        err = Application.GetLastError();
    elseif (QueryResult == SERVICE_STOPPED) then
        -- The service is stopped, try start
        -- Служба остановлена, попробуем запустить
        Service.Start(ServiceToQueryDisplay, ServiceToQueryKey, nil);
        err = Application.GetLastError();
    end
    if not (err == 0) then
        -- An error happened with Continue/Start
        -- Произошба ошибка при возобновлении/запуске
        Dialog.Message("Error (" .. err .. ")", "Unable to start/restart the service.\r\nService is not running");
    else
        Dialog.Message("PERFECTION!", "The service was started/restarted fine.");
    end
else
    -- The service is running
    -- Служба запущена
    Dialog.Message("PERFECTION!", "The service is running fine.");
end
Запрашиваем указанную службу. Если она запущена, показываем диалоговое окно сообщения. Если она не запущена, перезапускаем её и показываем диалоговое окно сообщения об успешном запуске или ошибке.
Смотрите также: Связанные действия