he possibility to manipulate the software without having to start it by my software (in other words, I should be able to run it, stop it, command it etc. while not having to start it by my application;
I am puzzled how you can expect to "be able to run it" without starting it with your application. Is this some unusual interpretation of "run it"?

Anyway to control an entire machine full of foreign processes, which is what you are asking for, is inherently platform specific and intimately tied to security model of the operating system allowing you to do this. You will have to use the appropriate operating system API to do the vast majority of what you ask.