Can you explain how a keylogger in Windows gets access to user input in another application without a security approval by the user when it was installed?
If I remember correctly there's a system-wide hook chain for keyboard events, and you add the logger to the chain with a system call. SetWindowsHookEx or something like that. I'm not really sure what the purpose of that function is except to install key loggers, but perhaps someone has a legitimate need for it.
As far as getting an application to run after rebooting, there are (unfortunately) a myriad of ways to go about that too.
Caveat: it's been a number of years since I used Windows so this may have changed in more recent versions.