代码之家  ›  专栏  ›  技术社区  ›  Camilo Martin

是否从vb.net关闭模式弹出窗口?

  •  2
  • Camilo Martin  · 技术社区  · 15 年前

    我想等待并关闭另一个应用程序的模式表单(弹出窗口),只要它出现。我想在VB.NET中实现这一点,但C#中的建议应该很容易翻译。

    我可以在我的应用程序中硬编码模式弹出窗口的标题,因为它很长且唯一。我想做的是模拟用户单击表单上的关闭(“X”)按钮,或者单击表单的default,tab order 0按钮。两种方法都可以。

    也许我需要更多关于模式弹出窗口的信息,而不是标题栏的标题?在任何情况下,使用它作为模态形式的唯一标识符都是安全的。我还希望代码在关闭弹出窗口的第一个事件发生时立即终止检查。

    我相信这是微不足道的,但我找不到任何现成的信息。微软说我不应该发送 WM_CLOSE 销毁窗口() 而不是 EndDialog() ,但老实说,我甚至不知道“发送”什么 关闭 “窗口”的意思是=/

    I know I need it .

    1 回复  |  直到 8 年前
        1
  •  1
  •   Kristina    15 年前
    IntPtr handle = FindWindow(null, "Dialog_Title");
    SendMessage(handle, WM_NCDESTROY, 0, 0);
    

    这将关闭对话框

    推荐文章