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)模式就能执行了,这个原因给蒙了.....大家有谁知道为什么的话,麻烦告诉我一下。