【发布时间】:2019-11-29 02:49:25
【问题描述】:
一些程序弹出“退出前保存?”终止时的消息。
我想知道我是否可以使用 C++ 控制台应用程序来实现它。
所以我尝试了一些标准函数,比如signal和atexit。
但它们仅在以下情况下起作用:
-
main()返回 (atexit) - 通过 Ctrl+C 发送中断(在 Windows 上,
SIGINT) - 发生错误 (
SIGABRT)
是的,怎么做?只有 GUI 应用程序才有可能吗?
【问题讨论】:
-
请注意,GUI 应用程序实现了这一点,因为它们正在处理退出的请求,而不是实际的退出。如果您围绕这种消息处理风格类似地设计您的程序,那么您没有理由不能做同样的事情。至于你的问题,目前还不清楚实际问题是什么。您已经说过您正在处理较低级别的退出事件并列出了适合您的情况,但您没有指定不起作用的情况(即你试图解决的实际问题)
-
我希望在按下“X”按钮时发生退出事件(在 Windows 上)。我猜这是GUI的一部分。当控制台的退出按钮被按下时,向程序发送什么样的请求?
标签: c++ console signals atexit