-2

我想创建一个 Windows 桌面程序,它允许您保存计算机会话以便以后能够恢复它。

我知道应该可以这样做,因为 chrome 有一个恢复会话,它可以恢复崩溃前打开的选项卡 - 微软办公程序有自动保存功能,它可以在崩溃前恢复你的会话 - 等等 - 所以计算机上的某个地方有它能够拍摄会话快照并恢复它的功能。

我认为这个程序可以通过在会话时从任务管理器获取信息然后从那里恢复来实现。

我不知道我需要做什么才能让这样的程序正常工作。

哪种编程语言最适合完成这项工作。我是 python 的初学者,但听说 C/C++/C# 比 python 允许更多地控制计算机进程。

认为这种类型的程序可以通过在正在运行的程序/进程中查看任务管理器并从那里保存有关会话的信息或恢复会话/自动保存功能以另一种方式工作,这也是正确的。

谢谢。

4

1 回答 1

3

您的主要假设是错误的-系统中没有功能可以在崩溃时保存和恢复正在运行的程序的状态。Office 通过定期在后台保存文档副本来实现这一点,允许您从 Office 为您保存的卷影副本中恢复。Chrome 通过浏览器历史跟踪器实现了这一点,并且知道打开了哪些标签比跟踪其中的所有内容要简单得多。

将这个概念扩展到整个系统是……非常困难的。您必须编写代码来保存系统上所有正在执行的程序的操作状态,而不保存崩溃程序的状态,因为这会导致您的恢复导致系统崩溃。这需要确定导致系统崩溃的原因,这需要解决停机问题,而这是不可能的。

如果您希望为正在构建的单个应用程序实现此行为,请特别为该应用程序实现它。如果您希望整个系统都使用此功能……您就是 SOL。

于 2020-05-19T20:46:33.707 回答