Você pode criar uma tarefa agendada no Agendador de Tarefas do Windows.
Existe um gatilho "Quando um evento específico é registrado" disponível. O evento que você precisa desencadear está no log de "Sistema" com a origem "USER32" e a identificação de evento 1074. Esse evento é registrado sempre que o sistema é desligado ou entra em hibernação.
Quanto ao encerramento de um determinado aplicativo, você adiciona uma ação à tarefa agendada, que inicia o programa "taskkill". Com
/ IM "ExecutableName.exe"
como argumento, irá encerrar o ExecutableName.exe. Talvez seja necessário adicionar uma opção / F para forçar o encerramento do programa (em vez de apenas fazer uma boa solicitação).