C#/WPF 应用程序A 调用WPF编写的应用程序B的exe时,参数传递问题

经过验证该方法可行,注意:参数可以多个传入,以空格分隔开的;

WPF中, 应用程序A 调用WPF编写的应用程序B的exe,参数传递给B的 主要方法:

1、在App.xaml.cs中的App类中,重载“OnStartup”函数

    public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            if (e.Args != null && e.Args.Count() > 0)
            {
                this.Properties["UserIndex"] = e.Args[0];
                MessageBox.Show("外部参数进入app    Application 数据:" + e.Args[0].ToString());
            }
            base.OnStartup(e);
        }
    }

2、在需要接收的窗体的loaded事件中或者构造函数中接收值

public RealStomachMainViewModel()
    {
        if (Application.Current.Properties["UserIndex"] != null)
        {
            string temp = Application.Current.Properties["UserIndex"].ToString();
            MessageBox.Show("非常完美!!!进入主程 RealStomachMainViewModel 外部参数传入:" + temp);
        }
    }

3、测试代码:

 private void Button_Click(object sender, RoutedEventArgs e)
    {
        string path = @"D:\Working\Debug\RealStomach_WPF.exe";
        if (File.Exists(path))
        {
            Process.Start(path, "122");
        }
    }

4、如果是等待这个EXE程序执行完毕再执行下面的代码其实也是很简单的,只需要在后面使用WaitForExit()方法即可。代码如下

System.Diagnostics.Process.Start(Application.StartupPath + “你的应用程序.exe”).WaitForExit();
等待B程序关闭之后,才执行,这句后面的代码;

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值