Я разрабатываю приложение WPF. Прямо сейчас я пытаюсь сделать что-то вроде этого:
//Print the information about what happened, and open toolbar.
MessageBox.Show("Cannot find the destination file, The application will now open Google Chrome." + Environment.NewLine
+ "Please fill in the information and when you finish close Google Chrome.");
//open Attributes Toolbar
new AttributesToolbar(application.Attributes).Show();
//start google chrome and wait for the user to close it
Process.Start(startInfo).WaitForExit();
var success = (MessageBox.Show("Did you succeed?", "Status check", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes);
return new RPAResult()
{
Succeeded = success
};
Вот шаги:
1) После того, как приложение не может найти файл конфигурации, оно выводит сообщение, в котором пользователь должен сам заполнить некоторые детали (это предыстория, не так важна).
2) Приложение открывает окно панели инструментов - это окно WPF с некоторыми деталями, которые пользователь должен скопировать и вставить из него на страницу Chrome.
3) Приложение открывает google chrome и ждет, пока пользователь его закроет
Проблема в том, что когда выполняется команда «WaitForExit ()», все приложение зависает, даже новое окно WPF, которое только что было открыто, и пользователь не может ничего скопировать и вставить.
Я попытался открыть новый поток, но это вызвало проблему с STAThread.
Любая помощь, пожалуйста?