C#处理控制台关闭的时候调用了

public delegate bool ConsoleCtrlDelegate(int ctrlType);

[DllImport("kernel32.dll")]
        private static extern bool SetConsoleCtrlHandler(ConsoleCtrlDelegate myHandler, bool add);

static Main()
{
ConsoleCtrlDelegate consoleDelegete = new ConsoleCtrlDelegate(MyHandler);
SetConsoleCtrlHandler(consoleDelegete, true);
}

private static bool MyHandler(int ctrlType)
{
//todo
     return false;
}

相信很多人都会是这样调用。

不知道大家这样调用的时候,是不是在发布时碰到过关闭控制台时,MyHandler函数并没有执行(不管大家有没有遇到,我反正遇到了.)。

于是调来调都没发现有啥问题。

最终,居然将发布(Release)模式改为调试(Debug)模式就能执行了,这个原因给蒙了.....大家有谁知道为什么的话,麻烦告诉我一下。

相关文章:

  • 2021-06-12
  • 2021-05-22
  • 2022-01-20
  • 2021-07-02
  • 2021-07-13
  • 2022-12-23
猜你喜欢
  • 2022-02-14
  • 2021-10-20
  • 2021-10-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案