Am I on the right track?

and last monthish I've really been focusing on C++ (It's just a stronger, more things to do in it, language IMO).

Incorrect, for you to even be able to give your opinion, you would need to learn all the other languages.. There are many other language that are even more flexiable and "stronger" than C++.

Originally Posted by khaozizleet

Why is it they need to be "injected" instead of say, just floating around on my desktop.

Because injecting your code means your code will be part of the Engine process, which means you can do more and not be as restricted. Ofcause you could use AllocMem from GUI app and inject your code that way, But its just easier to work on your hacks and not worry about Injection due to all the injection programs around... Injecting a dll will also allow you to hook functions and create device before they even get created from original library