代码之家  ›  专栏  ›  技术社区  ›  UnkwnTech

在c中拦截应用程序关闭#

  •  2
  • UnkwnTech  · 技术社区  · 16 年前

    我想正确关闭一些套接字,并能够告诉服务器我们正在关闭,但如果应用程序关闭,则套接字都会关闭,有时文件会被锁定。当我的应用程序关闭时,我如何运行一个方法?

    4 回复  |  直到 16 年前
        1
  •  4
  •   Cris McLaughlin    16 年前

    this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(OnFormClosing);
    
    private void OnFormClosing(object sender, FormClosingEventArgs e)
    {
        // Your socket logic here
    }
    

    此外,如果需要拦截正在关闭的表单,请将Cancel属性设置为true:

    e.Cancel = true;
    
        2
  •  1
  •   codybartfast    16 年前

    我会实施 IDisposable 关于使用这些资源的课程。然后,可以从应用程序类型支持的任何关闭方法(OnFormClose、OnStop、application_End等)显式调用dispute。

        3
  •  0
  •   RichieHindle    16 年前

    你是在说WinForms应用程序吗?如果是这样,请使用 FormClosing event

        4
  •  0
  •   JP Alioto    16 年前

    我不确定这是否是最好的地方,但你可以通过挂钩来判断你的进程正在关闭 AppDomain.ProcessExit

    推荐文章