I just created an application that launches processes with the following code
string [] args = {"a", "b"};
Process.Start ("C: \ \ demo.exe" String.Join ("", args));
I would like to be able to pass the parameters from this application to the process I've launched.
where I have to enter the parameters in the project of the process that I've launched? I tried to put them in
static void Main (string [] args) {...
but they are not available in other forms. thanks for the help
Process p= new Process();
p.StartInfo.FileName = "demo.exe";
p.StartInfo.Arguments = "a b";
p.Start();
or
Process.Start("demo.exe", "a b");
in demo.exe
static void Main (string [] args)
{
Console.WriteLine(args[0]);
Console.WriteLine(args[1]);
}
You asked how to save these params. You can create new class with static properties and save these params there.
class ParamHolder
{
public static string[] Params { get; set;}
}
and in main
static void Main (string [] args)
{
ParamHolder.Params = args;
}
to get params in any place of your program use:
Console.WriteLine(ConsoleParamHolder.Params[0]);
Console.WriteLine(ConsoleParamHolder.Params[1]);
etc.
Main Application code:
var process = new Process();
process.StartInfo.FileName = "demo.exe" // Path to your demo application.
process.StartInfo.Arguments = "a b c" // Your arguments
process.Start();
In your demo application (I am assuming that this is console application)
static void Main (string [] args)
{
var agrumentOne = args[0];
var agrumentTwo = args[1];
var agrumentThree = args[3];
}
Here argumentOne, argumentTwo, argumentThree will contain "a", "b" and "c".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With