Process.Start is similar to an double-click on an exe-file.
You can pass arguments when you start a program. If the program is running, it has to read those additional inputs somehow.
A Simple Example-Game:
public class MyGame
{
public static void Main(string[] args) // Here our Exe-Args are delivered to our program..
{
// Some dummycode to show what is done with your Args..
if (args != null && args.Length > 0)
{
string server = args.Where(a => a.StartsWith("-connect")).Select(s => s.Split(':').Last()).FirstOrDefault();
if (server != null)
ConnectToServer(server); // when starting with a "-connect" your game is stuck in this method.
}
// this will not be executed, because we are alread in the game, after "ConnectToServer()"
ShowGameIntro();
StartMainMenu();
}
}
If you run this "game" with "-connect:...", the program will be "stuck" within the function "ConnectToServer()". It will not ask you for more arguments. Now the game is in charge doing things.
The game can ask the user for inputs, by listening to keyboard or mouse, but you can't force it to do so. And those inputs don't have to to anything with start arguments accepted when starting a game.
Most games have a console. There you could drop some commands.
Example Counter-Strike:
If you are on a Sever, you can open the console by pressing ^ and type those commands:
connect 192.168.0.1
disconnect
connect 192.168.0.1
disconnect
connect 192.168.0.1
disconnect
This would do what you want to do. If this is what you want to do, you should read about how to script for your game. After this you should ask yourself how to send those commands. But this is another question ;-)