Как передать командную строку из приложения WPF в другое приложение? - PullRequest
2 голосов
/ 25 апреля 2011

В настоящее время я запускаю один exe-файл WPF (который находится в платформе 3.5) из другого приложения WPF (приложение 4.0), используя следующий код:

var processInfo = new ProcessStartInfo("WPFAPP1.exe", "param");
Process.Start(processInfo);

Причина выше:
IЯ использую некоторые сторонние, которые поддерживают только 3.5 Framework, и мое существующее приложение на 4.0.Я не могу изменить текущий тип цели приложения, поскольку в нем около 200 проектов, которые мне нужно будет изменить.

Теперь проблема в том, что я хочу получить параметр командной строки (то есть «param» в моем случае) в WPFAPP1.exe.Для этого я использовал приведенный ниже фрагмент кода в приложении WPFAPP1 (приложении .exe, которое я вызываю из приложения Master),

 public static String[] mArgs;
  void Application_Startup(object sender, StartupEventArgs e)
  {
        if (e.Args.Length > 0)
        {
            mArgs = e.Args;
        }
  }

И в MainWindow.xaml.cs:

        public MainWindow()
        {
            InitializeComponent();
            String[] args = App.mArgs;
            txtTest.Text = args[0];
        }

Я попробовал приведенный выше код, но не получил соответствующее значение (которое я передал из приложения-мастера "param").Также я не получил ни исключения, ни ошибки.Любая помощь будет по достоинству оценена.

1 Ответ

0 голосов
/ 19 мая 2011

Взгляните на System.Diagnostics.Process.GetCurrentProcess (). StartInfo. Это экземпляр ProcessStartInfo со свойством Arguments, которое содержит все аргументы текущего процесса.

Вы можете создать новый экземпляр ProcessStartInfo и передать аргументы любым подпроцессам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...