First of all this is very complex programming. so if you not know what you doing don't try this ( you might have to reinstall windows after this ) and i have not tried this before so im not even sure this works correct
you should replace this register value with the path to your program
(default value is explorer.exe)
then your program should run after user longin
winlogon.exe ( one that ask for username and password ) will run the program on that reg value after user enter correct username and password.
before your program exit it should run explorer.exe (other wise you not get explorer in screen)
Note : i tryed to replace winlogon.exe ones and had to reinstall windows. so be ready to install windows if this not work.
im not sure how much memory is available at that stage (in my case with winlogon i was not able to load a nother program at that stage and got a "not enough memory " ).