/ / ¿Cerrar una ventana emergente modal desde vb.net? - vb.net, winapi, automatización, diálogo modal, proceso externo

¿Cerrar una ventana emergente modal de vb.net? - vb.net, winapi, automatización, modal-diálogo, proceso externo

Quiero esperar y cerrar un formulario modal (una ventana emergente) desde otra aplicación, tan pronto como aparezca. Quiero hacer esto desde VB.NET, pero las sugerencias en C # deberían ser fácilmente traducibles.

Puedo codificar el título de la ventana emergente modal en miaplicación, ya que es larga y única. Lo que quiero hacer es simular al usuario haciendo clic en el botón de cerrar ("X") en el formulario, o hacer clic en el botón para omitir, orden de tabulación 0 del formulario. Cualquiera funcionaria

Tal vez necesito más información sobre la ventana emergente modal.¿Con excepción del título de la barra de título? En cualquier caso, es seguro usarlo como un identificador único de esa forma modal. También quiero que el código finalice la comprobación tan pronto como ocurra el primer evento de cierre de la ventana emergente.

Creo que es trivial, pero no puedo encontrar ninguna información disponible sobre eso. Microsoft dice que no debo enviar WM_CLOSE a la ventana emergente modal, ya que llamará DestroyWindow () en lugar de EndDialog (), pero para ser honesto, ni siquiera sé qué envío. WM_CLOSE"a la" ventana "significa = /

Gracias por compartir un poco de guru-ness! :RE

P.S .: Esto puede ser trivial en AutoHotkey. Me siento cojo sin saberlo, Se que lo necesito.

Respuestas

1 para la respuesta № 1
IntPtr handle = FindWindow(null, "Dialog_Title");
SendMessage(handle, WM_NCDESTROY, 0, 0);

Esto debería cerrar el diálogo.