I think it should be a windows service. when given certain conditions it should perform a login into the machine.
The machine will be in the \"login screen\" checkin
AFAIK this cannot be done as the login/authentication is done by the GINA layer (Graphical Interface and Authentication), you're effectively trying to replace that layer with your own, which would not be feasible from the managed side of code. In short, the only way to develop a replacement for the GINA layer would have to be done from the C/C++ side, not for reasons of speed, but because of the complexity involved in programming, a new GINA subsystem which would have to take into account of
Doing it from .NET would not be a viable way of doing it. But nonetheless, if you are interested in replacing GINA with your own in pure C/C++ way, have a look here in the MSDN Magazine which published an article by Keith Brown, about replacing GINA with your own, in the May 2005 issue.
Edit: Thanks to Ruddy for pointing out this that I was not aware of, GINA has been replaced in Vista/Windows 7. Now, my view and of course this answer has changed to account for this accordingly, in short, to fulfill your goal and of course, to make this authentication backward if so wish for earlier version of Windows, ie XP (This may not be in your case, but worth mentioning). In Vista/Windows 7, GINA is replaced by a 'Content Provider', which I do not know about. But however, I have found this link to the MSDN about this here. Salvador - sorry if I cannot answer more about it as that's a new one to me! :(
Hope this helps, Best regards, Tom.