Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用.NET关闭前保存状态_C#_.net_Shutdown - Fatal编程技术网

C# 使用.NET关闭前保存状态

C# 使用.NET关闭前保存状态,c#,.net,shutdown,C#,.net,Shutdown,我想在关机前保存机器的状态(对于不支持hibernate的机器) 本质上,我试图模仿Windows的Hibernate功能。当机器重新开机时,它看起来和关机前完全一样 关于使用托管代码执行此任务,您有什么想法吗 目前正在使用/考虑使用Windows XP Service Pack 2。对于计算机上运行的所有应用程序,使用纯托管代码是不可能的。事实上,即使使用非托管代码,您也会度过一段痛苦的时光。我不会说这是不可能的,但可能是非常困难和耗时的 以下是一些帮助您入门的有用资源: Windows内核上

我想在关机前保存机器的状态(对于不支持hibernate的机器)

本质上,我试图模仿Windows的Hibernate功能。当机器重新开机时,它看起来和关机前完全一样

关于使用托管代码执行此任务,您有什么想法吗


目前正在使用/考虑使用Windows XP Service Pack 2。

对于计算机上运行的所有应用程序,使用纯托管代码是不可能的。事实上,即使使用非托管代码,您也会度过一段痛苦的时光。我不会说这是不可能的,但可能是非常困难和耗时的

以下是一些帮助您入门的有用资源:

Windows内核上的Arun Kishan

堆芯转储

setcontext

Raymond Chen谈“休眠”单进程


对于您自己的应用程序,最好是将您希望能够恢复的所有状态隔离到一组可序列化类中。然后,在卸载应用程序时(或定期卸载),使用XMLSerializer将此数据保存到磁盘。当再次加载应用程序时,再次使用XMLSerializer对保存应用程序状态的类进行重新水化,并使用此信息将用户界面返回到以前的状态。如果您有复杂的用户界面,这可能是一项耗时的任务。

您必须在程序退出之前自己保存它。您可以将所有windows状态序列化为xml,并将其保存在某个文件中。当应用程序再次启动时,您可以重新加载设置。

可能会有所帮助。但需要Vista。

我想我们需要更多信息。你运行一个程序?是否要保存程序的状态?或者所有windows(所有打开的程序?为什么不使用hibernate?哪个操作系统和service pack?我正在运行我的程序-它必须保存windows的状态-即所有打开的程序。我尽可能使用hibernate,但当它被禁用时,我有哪些编程选项?