WPF APP 启动时增加特殊逻辑

  public partial class App : Application
    {
        public App()
        {
            this.Startup += (o1, e1)=>{
                string commandLine = Environment.CommandLine;  
                string appFilePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
                commandLine = commandLine.Replace(String.Format("\"{0}\" ", appFilePath), ""); 得到命令参数

                MessageBox.Show(string.Format("commandLine:{0}", Environment.CommandLine));
                MessageBox.Show("SpiltResult:" + commandLine);
                if (!string.IsNullOrEmpty(commandLine) && commandLine.ToUpper() == "SA")//启动参数带SA则转到特殊处理页面
                {
                    this.ShutdownMode = ShutdownMode.OnLastWindowClose;  
                    this.StartupUri = new Uri("pack://application:,,,/Views/SNPrint/SA_MODE.xaml");  //
                    MessageBox.Show("Set URI!");
                }
//正常App.xaml中存在StartupUri如【StartupUri="MasterWindow.xaml"】则可以省略下面代码 //else //{ // this.StartupUri = new Uri("pack://application:,,,/MasterWindow.xaml"); // MessageBox.Show("MAIN URI!"); //} }; } }

//new Uri("pack://application:,,,/Views/SNPrint/SA_MODE.xaml"); 代表如下

调试时加入命令参数在如下图

原文地址:https://www.cnblogs.com/wandia/p/13944223.html