WPF 启动带参数


两个项目WpfStartupWithArgsDemo(WPF项目)和WpfStartupWithArgsDemo.Console(控制台项目)
启动控制台项目WpfStartupWithArgsDemo.Console,在代码中启动WpfStartupWithArgsDemo,并传递参数

string exePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..\\..\\..\\WpfStartupWithArgsDemo\\bin\\Debug\\WpfStartupWithArgsDemo.exe");
if (File.Exists(exePath))
{
    ProcessStartInfo startInfo = new ProcessStartInfo(exePath, string.Format("{0} {1} {2}", "FirstArg", exePath, 3))
    {
        CreateNoWindow = true,
        UseShellExecute = false
    };

    Process.Start(startInfo);

    Environment.Exit(0);
}

WpfStartupWithArgsDemoStartup事件中接收参数



private void App_OnStartup(object sender, StartupEventArgs e)
{
    ObservableCollection data = new ObservableCollection();
    for (int i = 0; i < e.Args.Length; i++)
    {
        data.Add(e.Args[i]);
        Console.WriteLine(e.Args[i]);
    }
}

示例代码

WpfStartupWithArgsDemo

参考资料

How to start WPF based on Arguments