Hi, I would strongly recommend that you start by learning a general purpose programming language (c++). General programming experience is extremely valuable, since you'll spend less time fighting yourself and more effort learning. Hopefully this process will introduce you to fundamental computer science topics and how Windows work. You should look into topics such as: Memory (heap, stack, global/static), Win32 API, kernel objects, etc. Realistically, this would span several years. So be sure to have fun with it!