As Franci said, those things requires you to use the OS APIs and know a lot of the topic.
Keyloggers can be done in C#, I did one a couple years ago (not for hacking, just for handling a keyboard shortcut in an tray-icon running application).
What you should do is, first read about the topic itself (networking, how windows manages that stuff, the APIs, and so on), and then figure out how you can access that in C#. Some resources are restricted by the OS and is impossible to access them, but it depends on what you wanna do.
PS #1: Please, take care with what you do be responsible. Making useful or funny apps is way better and funnier than stealing the password to a dump guy.
PS #2: No, I'm gonna give you my pseudo-keylogger source ;)