Basta impostare una shell di avvio diversa (in questo caso il tuo programma); modifica opportunamente il valore del registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell; eventualmente, se vuoi che tale modifica abbia effetto solo su un utente, non modificare la suddetta impostazione e crea da quell'utente il valore stringa HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell e impostalo al percorso e nome del tuo programma.