offtopic, but:
"all cores are active only on apps that require or allow it, and by 'allow' i mean are coded in a way that can use them"
Although probably unintentional, this statement, as worded, implies something that isn't true. Individual programs do not need to be specially coded in order for multiple cores to be put to work. There are MORE than enough extant threads, even on a machine with no user apps executing, to occupy the processor's time. Of course, unless those threads actually have something to do, they are not eligible for scheduling.
Look at the "number of threads" column in task manager to see how commonplace multithreaded programs actually are. In addition to explicit thread creation (via beginthreadex), some features of Windows implicitly create additional threads even in programs that otherwise do not. (COM, for example).
I currently have 85 processes running; their tread counts range from 1 to 139 and only 2 have but a single thread.