控制台關閉的特殊處理

2022-03-22 08:56:39 字數 504 閱讀 8108

c#處理控制台關閉的時候呼叫了

public delegate bool consolectrldelegate(int ctrltype);

[dllimport("kernel32.dll")]

private static extern bool setconsolectrlhandler(consolectrldelegate myhandler, bool add);

static main()

private static bool myhandler(int ctrltype)

相信很多人都會是這樣呼叫。

不知道大家這樣呼叫的時候,是不是在發布時碰到過關閉控制台時,myhandler函式並沒有執行(不管大家有沒有遇到,我反正遇到了.)。

於是調來調都沒發現有啥問題。

最終,居然將發布(release)模式改為除錯(debug)模式就能執行了,這個原因給蒙了.....大家有誰知道為什麼的話,麻煩告訴我一下。

C 處理控制台關閉事件

我們開發的控制台應用,在執行階段很有可能被使用者ctrl c終止或是被使用者直接關閉。如果我們不希望使用者通過ctrl c終止我們的程式,就需要對ctrl c或關閉事件作處理。在.net平台下console類有個cancelkeypress事件可以處理ctrl c,不過對於直接關閉控制台應用,這種處...

認識控制台 控制台控制代碼 附著到控制台 關閉控制台

1.附著到乙個控制台 乙個程序可以使用 attachconsole 函式來附著到乙個控制台上,乙個程序只能附著乙個控制台。乙個控制台可以有許多程序附著到它上面,呼叫 getconsoleprocesslist 函式可以得到附著到乙個控制台的列表。2.關閉乙個控制台 程序可以使用 freeconsol...

認識控制台 控制台控制代碼 附著到控制台 關閉控制台

附著到乙個控制台 乙個程序可以使用 attachconsole 函式來附著到乙個控制台上,乙個程序只能附著乙個控制台。乙個控制台可以有許多程序附著到它上面,呼叫 getconsoleprocesslist 函式可以得到附著到乙個控制台的列表。關閉乙個控制台 程序可以使用 freeconsole 函式...