C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出,这里使用到了Windows API SetConsoleCtrlHandler函数
注意:在VS中调试执行时,在处理程序例程中设置断点,不会中断;会提示:无可用源,如下图:
完整示例代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;
/************************************************************************/
/* CSharp_Win32控制台应用程序忽略 Ctrl + C
* Powered by:testcs_dn
* Blog:http://blog.youkuaiyun.com/testcs_dn
*/
/************************************************************************/
namespace CSharp_Win32控制台应用程序忽略CtrlC
{
//定义处理程序委托
public delegate bool ConsoleCtrlDelegate(int ctrlType);
class Program
{
//导入SetCtrlHandlerHandler API

本文介绍了如何在C# Win32控制台应用程序中利用SetConsoleCtrlHandler函数来忽略Ctrl + C信号,从而阻止程序因用户按下Ctrl + C而退出。在Visual Studio调试时,需要注意处理程序例程中的断点可能不会如预期工作。
最低0.47元/天 解锁文章
3707

被折叠的 条评论
为什么被折叠?



