我正在制作一个程序,在关闭计算机时必须保存文件而无需用户交互。我试过了,但是我无法理解如何去做,因为我找到的大部分信息都是针对C#的。我使用下面的C ++代码找到了SystemEvents::SessionEnding
事件,但我不知道如何在dev-c ++中实现它:
public:
event SessionEndingEventHandler^ SessionEnding {
static void add(SessionEndingEventHandler^ value);
static void remove(SessionEndingEventHandler^ value);
}
}
答案 0 :(得分:4)
您展示的代码不是C ++。它是C ++ / CLI,也就是C ++ w / .NET托管扩展。它只适用于Visual Studio。
简单的C / C ++方式来做你想要的是:
在GUI项目中使用窗口过程来处理WM_QUERYENDSESSION
和WM_ENDSESSION
窗口消息。
在控制台项目中使用SetConsoleCtrlHandler()
来处理CTRL_LOGOFF_EVENT
和CTRL_SHUTDOWN_EVENT
次通知。
在服务项目中使用RegisterServiceCtrlHandlerEx()
来处理SERVICE_CONTROL_PRESHUTDOWN
和SERVICE_CONTROL_SHUTDOWN
次通知。
有关详细信息,请参阅MSDN: