Q:

How can the OS use all cores for my application?

I have a COM written in Delphi 101 Berlin. And I write a script to call its API (just one API, single-threaded, and each takes around 1 minute to finish). 
I run the vbs file using cscript.exe (64 bit) (and I use the simple job runner here), many copies (so there are many processes), at the same time.
However, I have tested on many PC (Windows 10 Pro), and it is observed that only roughly 1 core is running despite that it many have many cores.
For example, on my 2 CPUs (HPZ800 Intel Xeon X5650, 6 cores each = 12 cores), only 1 core is being used. 
If some scripts exit early, then the rest CPU usage will be improved, but all together sum no more than 1 core.
My question, is how to write code in order to benefit from multi cores?

A:

In order to use multiple cores at the same time, multiple threads are
required. The inverse is not true!
To really take advantage of a multi-core system, an application should
split up the main processing into multiple threads as well. Its
algorithms need to be parallelized.

Source:  https://scalibq.wordpress.com/2012/06/01/multi-core-and-multi-threading/
My COM API is single-threaded. Therefore, multiple processes does not let OS utilize all cores. As explained in the comments, if each process just does sleep for 60 seconds, there is no way to trouble all the cores.
I have also another API with fully multithreading, and it can utilize all cores even with 1 process.
Also, it is mentioned that if there is I/O contest or multiple processes fighting for same resources, the utilizations for cores will be affected.
Update  I make some experiments and it turns out that A single-threaded process can utilize at most a core, however launching multiple of them can utilize all cores which is really up to the OS to decide. Please see my experiments in details When Can Windows Utilize All the Cores?

