Exemplo de gatilho diário (XML)

Neste exemplo, o XML define uma tarefa que inicia o Bloco de Notas às 8:00, todos os dias. O exemplo também mostra como definir um padrão de repetição para o gatilho repetir a tarefa.

Para registrar uma tarefa definida em XML, você pode usar a função ITaskFolder::RegisterTask (TaskFolder.RegisterTask para scripts) ou a ferramenta de linha de comando Schtasks.exe. Se você usar a ferramenta Schtasks.exe (localizada no diretório C:\Windows\System32), poderá usar o seguinte comando para registrar a tarefa: schtasks /create /XML <caminho para o arquivo XML que contém a definição da tarefa> /tn <nome da tarefa>.

Para definir uma tarefa para iniciar o Bloco de Notas todos os dias, às 8:00

O exemplo de XML a seguir mostra como definir uma tarefa com uma única ação de execução (iniciar o Bloco de Notas), um único gatilho de calendário (inicia a tarefa todos os dias, às 8:00) e várias outras configurações de tarefa que afetam como a tarefa é tratada pelo Agendador de Tarefas.

<?xml version="1.0" ?>
<!--
This sample schedules a task to start on a daily basis.
-->
<Task xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
    <RegistrationInfo>
        <Date>2005-10-11T13:21:17-08:00</Date>
        <Author>AuthorName</Author>
        <Version>1.0.0</Version>
        <Description>Notepad starts every day.</Description>
    </RegistrationInfo>
    <Triggers>
        <CalendarTrigger>
            <StartBoundary>2005-10-11T13:21:17-08:00</StartBoundary>
            <EndBoundary>2006-01-01T00:00:00-08:00</EndBoundary>
            <Repetition>
                <Interval>PT1M</Interval>
                <Duration>PT4M</Duration>
            </Repetition>
            <ScheduleByDay>
                <DaysInterval>1</DaysInterval>
            </ScheduleByDay>
        </CalendarTrigger>
    </Triggers>
    <Principals>
        <Principal>
            <UserId>Administrator</UserId>
            <LogonType>InteractiveToken</LogonType>
        </Principal>
    </Principals>
    <Settings>
        <Enabled>true</Enabled>
        <AllowStartOnDemand>true</AllowStartOnDemand>
        <AllowHardTerminate>true</AllowHardTerminate>
    </Settings>
    <Actions>
        <Exec>
            <Command>notepad.exe</Command>
        </Exec>
    </Actions>
</Task>

Elementos de esquema TaskScheduler

Aqui estão alguns elementos importantes para se ter em mente quando usar este exemplo.

  • RegistrationInfo

    Contém informações de registro sobre a tarefa.

  • Gatilhos

    Define o gatilho que inicia a tarefa.

  • CalendarTrigger

    Define o gatilho de calendário diário. Nesse caso, quatro elementos filho são usados: os limites de início e de término que especificam quando o gatilho é ativado e desativado, o agendamento diário e o padrão de repetição para a tarefa. O elemento StartBoundary é obrigatório para gatilhos de calendário.

  • ScheduleByDay

    Define o agendamento diário. Nesse caso, o intervalo é definido para executar a tarefa todos os dias.

  • Principal: define o contexto de segurança em que uma tarefa é executada.

  • Configurações

    Define as configurações de tarefa que o Agendador de Tarefas usa para executar a tarefa.

  • Ações

    Define as ações que a tarefa executa (neste caso, executar o Bloco de Notas).

Usar o Agendador de Tarefas