cerrar un cuadro de mensaje de otro programa usando c #

Aquí está mi problema: tenemos un proceso de compilación automatizado para nuestro producto. Durante la compilación de uno de los proyectos VB6, se muestra un cuadro de mensaje que requiere que el usuario haga clic en "Aceptar" antes de que pueda continuar. Al ser un proceso automatizado, esto es algo malo porque puede terminar sentado allí durante horas sin moverse hasta que alguien haga clic en Aceptar. Hemos examinado el código VB6 para intentar suprimir el cuadro de mensaje, pero parece que nadie puede descubrir cómo hacerlo ahora. Así que, como solución temporal, estoy trabajando en un programa que se ejecutará en segundo plano y, cuando aparece el cuadro de mensaje, lo cierra. Hasta ahora, puedo detectar cuándo aparece el mensaje, pero parece que no puedo encontrar una función para cerrarlo correctamente. El programa se está escribiendo en C # y estoy usando la función FindWindow en user32.dll para obtener un puntero a la ventana. Hasta ahora he intentado cerrar Windows, endDialog y postMessage para intentar cerrarlos, pero ninguno de ellos parece funcionar. closeWindow simplemente lo minimiza, endDialog aparece con una excepción de memoria incorrecta y postMessage no hace nada. ¿Alguien sabe de alguna otra función que se encargue de esto, o alguna otra forma de deshacerse de este mensaje? Gracias por adelantado.

Aquí está el código que tengo actualmente:

class Program
{
     [DllImport("user32.dll", SetLastError = true)]
     private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

     static void Main(string[] args)
     {
         IntPtr window = FindWindow(null, "Location Browser Error");
         while(window != IntPtr.Zero)
         {
             Console.WriteLine("Window found, closing...");

             //use some function to close the window    

             window = IntPtr.Zero;                  
         }    
    }
} 

Respuestas a la pregunta(2)

Su respuesta a la pregunta