Você pode definir seu programa como shell padrão no Windows 8.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="C:\Program Files (x86)\xx\xx\myprogram.exe"
ou para o usuário atual:
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="C:\Program Files (x86)\xx\xx\myprogram.exe"
Se isto não funcionar, você precisa adicionar cmd.exe /C
antes do comando.
ou seja, cmd.exe /C "C:\Program Files (x86)\xx\xx\myprogram.exe"
Isso ignorará completamente a interface do Metro, mas você perderá todo o material padrão do shell do Explorer. (Não sei se você quer isso) Você precisará iniciar o shell normal depois de sair do programa. (O explorer.exe não lhe dá o seu desktop de volta, então eu não sei (ainda) como obter o desktop e o metrô de volta)
(testado com o Windows 8.1, então não sei se isso foi possível no Windows 8)
Editar : Você também pode usar "explorer.exe /select,explorer.exe" como valor de shell. Então, após o login, você verá o metrô por uma fração de segundo após o qual você obtém sua área de trabalho (com uma tela de explorador de suas bibliotecas.) Talvez seu aplicativo iniciado automaticamente esteja no topo disso.