Проблеммы при скрытом запуске дочерних окон сторонних приложений и передаче в них данных - C#

Узнай цену своей работы

Формулировка задачи:

Посоветуйте пожалуйста, как решить следующую проблемму: из основой программы стартую стороннюю программу: Как обычно, в классе:
System.Diagnostics.Process Tool1= new System.Diagnostics.Process();
bool Status = false;
Затем EventHandler:
private void SDB_Tool_Exited(object sender, EventArgs e)
        {
            Status = false;
           Tool1.Exited -= new EventHandler(Tool1_Exited);       
        }
И наконец в программе вызывается сама сторонняя программа:
{..
                Status = true;
                Tool1.EnableRaisingEvents = true;
                Tool1.Exited += new EventHandler(Tool1_Exited);
                Tool1.StartInfo.WindowStyle = ProcessWindowStyle.Hidden // все в скрытом окне!!!              
                Tool1.Start(); 
                Tool1.WaitForInputIdle();
Далее производятся различные действия в сторонней программе путем передачи событий от клавиатуры ("Горячие клавиши"):
SendKeys.SendWait("^o");
 Thread.Sleep(300); ...
У здесь - проблемма: Если в какой-то момент горячими клавишами вызывается дочернее окно сторонней программы для сохранения результатов (окно "сохранить как") - выбрасывается Exception Все прекрасно работает, если свойство :
Tool1.StartInfo.WindowStyle  = ProcessWindowStyle.Normal  //или ProcessWindowStyle.Maximized
Если же стиль окон Hidden и Minimized - они не работают, вернее работают до момента вызова дочерних окон. Как тут быть? Или, если есть др. возможность- уменьшить размеры вызываемой формы до одного пикселя (при
WindowsStyle.Normal
) - подскажите, как

Решение задачи: «Проблеммы при скрытом запуске дочерних окон сторонних приложений и передаче в них данных»

textual
Листинг программы
Hidden или Minimized

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.733 из 5
Похожие ответы