Para apagar el ordenador puedes llamar a una funcion de la API de windows que se encarga de ello, aunque no se como se hace.
Hay algunos ejemplos de ello por la red, busca con google y lo encontraras facilmente.
Para ejecutar un programa antes de que arranque windows puedes utilizar un truquillo:
Cambias de nombre a win.com, y lo llamas, por ejemplo winini.com o algo asi.
Entonces creas el programa que quieras que se ejecute antes y lo renombras como win.com
Entonces tu programa será lo que se ejecute cuando se intente cargar el windows. Si en la última sentencia de tu programa llamas al verdadero windows, nadie notara que tu programa se ha ejecutado antes.
Si lo que quieres es que un programa se ejecute justo despues de iniciar windows, lo puedes meter en el menu de inicio y ya esta.
Espero que te sirva de algo
Un saludo