I have several hacking and virus related questions and would be gratefull if someone could take the time to answer all or some of them. Im not asking these qustions to make a virus or hack someone, Im asking them because I am curious

Below is my list of questions.
1) What are the definitions of a Virus, Rootkit, Trojan, Worm, etc and what are the main differences ?
2) How are virus's installed on a users computer without thier knowledge ?
3) How do virus's prevent the user from using several applications like Regedit.exe ?
4) How do virus's prevent the user from changing settings, like thier Internet Explorer home page or their desktop background ?
5) How do virus's replicate themselves over networks and the internet ?
6) Certain virus's can tell if they are in a Virtual Machine, how do they do this ?
7) How do virus's prevent Task Manager from listing them ?
8) How do hackers learn to hack ? Im certain they dont ask Microsoft how to hack
9) How do hackers get the algorithm for software keys for use in keygens ?
10) How does a rootkit hide its presence ?
11) Some virus's, WORM_ALCAN.A for example
http://www.trendmicro.com/vinfo/viru...LCAN.A&VSect=T , create .Com files, why does a .Com file have priority over a .Exe file ?
Thanks for taking the time to read my questions, any answers or pointer would be appreciated

Thanks -Fabez-