我想等待并立即从另一个应用程序关闭模式窗体(弹出窗口)。我想从VB.NET中做到这一点,但C#中的建议应该很容易翻译。
我可以在我的应用程序中对模态弹出框的标题进行硬编码,因为它很长而且很独特。我想要做的是模拟用户点击表单上的关闭(“X”)按钮,或者单击表单的defeault,tab-order 0按钮。要么工作。
也许除了标题栏的标题之外,我还需要更多关于模态弹出窗口的信息?无论如何,将它用作该模态形式的唯一标识符是安全的。我也希望该代码在关闭弹出窗口的第一个事件发生时立即终止检查。
我认为这是微不足道的,但我找不到任何关于此的准备信息。微软说我不应该将WM_CLOSE
发送到模态弹出窗口,因为它会调用 DestroyWindow()而不是 EndDialog(),但说实话我不喜欢甚至知道“发送WM_CLOSE
”到“窗口”是什么意思= /
感谢分享一下大师! :d
P.S。:在AutoHotkey中这可能是微不足道的。我感到羞耻,不知道,I know I need it。
答案 0 :(得分:1)
IntPtr handle = FindWindow(null, "Dialog_Title");
SendMessage(handle, WM_NCDESTROY, 0, 0);
这应关闭对话框