C++ Win32控制台应用程序捕捉关闭事件

#include <windows.h>
#include <stdio.h>

bool ctrlhandler( DWORD fdwctrltype )
{
switch( fdwctrltype )
{
// handle the ctrl-c signal.
case CTRL_C_EVENT:
printf( "ctrl-c event\n\n" );
return( true );

// ctrl-close: confirm that the user wants to exit.
case CTRL_CLOSE_EVENT:
printf( "ctrl-close event\n\n" );
return( true );

// pass other signals to the next handler.
case CTRL_BREAK_EVENT:
printf( "ctrl-break event\n\n" );
return false;

case CTRL_LOGOFF_EVENT:
printf( "ctrl-logoff event\n\n" );
return false;

case CTRL_SHUTDOWN_EVENT:
printf( "ctrl-shutdown event\n\n" );
return false;

default:
return false;
}
}

void main( void )
{
if( SetConsoleCtrlHandler( (PHANDLER_ROUTINE) ctrlhandler, true ) )
{
printf( "\nthe control handler is installed.\n" );
printf( "\n -- now try pressing ctrl+c or ctrl+break, or" );
printf( "\n try logging off or closing the console...\n" );
printf( "\n(...waiting in a loop for events...)\n\n" );

while( 1 ){ Sleep(100);}
}
else
printf( "\nerror: could not set control handler");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Win32控制台托盘是一种用于在Windows操作系统中的控制台应用程序中添加托盘图标的技术。 Win32是一种面向Windows平台的编程技术。它提供了一套应用程序编程接口(API),开发人员可以使用这些接口来创建和管理Windows应用程序。使用Win32编程技术,开发人员可以通过编写C语言或C++代码来实现控制台应用程序控制台应用程序是一种以命令行界面为基础的应用程序,通常通过命令行窗口来操作和显示结果。然而,控制台应用程序通常不支持图形用户界面(GUI)的特性,例如窗口和图标。 然而,通过使用Win32控制台托盘技术,开发人员可以在控制台应用程序中添加托盘图标。托盘图标通常显示在任务栏的系统托盘区域,提供快速访问应用程序的功能。 要实现Win32控制台托盘,开发人员需要使用Win32 API中的相关函数和消息。例如,可以使用Shell_NotifyIcon函数来添加、修改或删除托盘图标,使用Shell_NotifyIcon消息来处理托盘图标的操作和事件。 使用Win32控制台托盘技术,开发人员可以为控制台应用程序添加更多的交互性和易用性。用户可以通过右击托盘图标来打开菜单,执行一些预定义的操作,例如显示控制台窗口、关闭应用程序等。 总而言之,Win32控制台托盘是一种在控制台应用程序中实现托盘图标的技术。通过使用相关的Win32 API函数和消息,开发人员可以为控制台应用程序添加更多的用户交互性和易用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值