如何检测计算机是否正在关闭以保存会话
How to detect if computer is shutting down to save session
我正在用c++/x86 asm制作RPG游戏。我的问题与c++组件有关。在c++/win32中,我如何检测计算机是否正在关闭或关闭,或其他任何东西-以便我可以保存游戏会话。我的游戏有一个"保存"选项,但如果用户或其他程序决定关闭计算机,我如何使用某种API挂钩检测到这一点,以便我可以立即将游戏会话保存到文本文件中。
现在请不要建议通过创建一个线程被动运行的选项,因为我想保持文件大小到最小,所以如果你能建议某种WM_钩子,那将是伟大的。我想参考MSDN,但我不想在他们的WM目录中搜索几个小时。
您可以根据WM_ENDSESSION
消息处理会话保存。请注意,在您的消息处理程序处理完这个问题返回后,您的进程可能随时终止,因此您需要在消息处理程序期间直接保存它,而不仅仅是设置一个标志来让后面的代码处理保存,因为后面的代码可能无法执行。
注释建议WM_QUERYENDSESSION
消息。这有一个稍微不同的含义:它让应用程序有机会抱怨会话结束,并让用户有机会不注销/关闭系统。根据你的问题,你无意阻止任何这样的事情,所以WM_ENDSESSION
似乎更适合我。
相关文章:
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 为多个会话保留XPtr
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 是否可以用"iostream"包装现有的TCP/OOpenSSL会话
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 在C++中将类(带有Vector成员)保存为二进制文件
- C++.我想将更改后的特定字符行保存在字符串中
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- 将RGB图像保存为PPM格式
- 哈希文件递归并保存到矢量Cryptopp中
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- 如何修复 Onnx运行时会话>运行问题?
- 无法通过头文件保存变量的值
- Windows桌面程序保存您的计算机会话 - 基于程序崩溃时的恢复会话
- 在没有外部文件的情况下在应用会话之间保存变量
- 如何检测计算机是否正在关闭以保存会话
- 如何在Qt应用程序中保存会话