C # - закрыть окно сообщения другого процесса - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть многопоточное приложение, которое запускает много похожих процессов.

Иногда один из процессов выдает MessageBox с ошибкой, что отрицательно влияет на все приложение.

Я бы хотел иметь возможность вывести этот MessageBox и отправить ему команду кнопки ОК / ЗАКРЫТЬ.

Большая проблема в том, что MessageBox / Window не имеет заголовка, поэтому я не могу использовать это:

IntPtr window = FindWindow(null, "");
while (window != IntPtr.Zero)
{
      Console.WriteLine("Window found, closing...");

      //use some function to close the window    
      SendMessage((int)window, WM_SYSCOMMAND, SC_CLOSE, 0);

      window = IntPtr.Zero;
}

Как я могу настроить этот код, или как я могу использовать что-то подобное, что бы найти окно без заголовка и закрыть его?

Нужно ли мне повторять процессы?Помните, что процессы имеют похожие имена, поэтому, хотя я мог бы получить все процессы с определенным именем, у меня были бы проблемы с поиском того, который вызывает проблему ...

PS: я не могу редактироватькод приложения, я должен сделать этот маленький маленький FIX сейчас.

...