Basically, there are as many ways to do this in .NET as there are in native Win32 programming. If you want to invoke an application with command line parameters, the best way to do this is to use the System.Diagnostics.Process.Start method. There are several versions of this method that offer various levels of control over the started process.
If you need to control aspects of the process after it's created, you may want to consider how you are going to provide communication between the processes. The "NET way" to do this is to expose one or more remote objects using .NET Remoting. However, you can also use regular network communication (sockets), or file-based communications, MSMQ, COM+ events, and even expose a COM interface to a .NET object and call that COM object from the client application (not recommended with a set of completely .NET applications).
Dig Deeper on Win Development Resources
Related Q&A from Berni McCoy
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.