VM software does a great job of saving state when you "turn it off," allowing instant and immediate return to that previous state.

Is there some application for Windows that allows me to do the same thing, for any arbitrary software? It would allow me to save/restore state, possibly via a shell command or button that it appends to every window.

Edit: For clarity, there are two types of apps: those that save their own states, and those that save others' states. Those that save their own state are like Chrome, which on load, reloads the windows you had open last time.

That's not what I'm asking about; I'm asking for an app that can save the state of other apps, kind of like VM software does; but for any app. (A trivial test would be load notepad++, type a bunch of stuff, and save-state; on reset-state, you should be able to multi-level undo a lot of what you wrote, as if you never shut down the application.)

  • 2
  • +1 Interesting question. As the other similar questions haven't received any good (if any) answers I'm sceptical. – Nifle Jan 9 '11 at 10:52
  • @Nifle agreed. In principle, this should be possible (save a memory dump of the app, re-load when you restart) -- so I have a feeling it exists; I just can't find an app that does it. – ashes999 Jan 9 '11 at 14:45
  • Read: Hibernation. – Hello71 Jan 13 '11 at 0:46
  • In my case, hibernation is not a solution. I was a heavily hibernation user until I bought a SSD disk. Check the @Matthew A. Schneider answer. – Mario S Mar 14 '15 at 1:54

At the risk of being down-voted, I find I have to give a negative answer.

Many people would wish for this, including myself. I have also long searched for such a product, before I understood that it does not exist, and indeed cannot exist. Maybe limited implementations of suspend/unsuspend are possible, but not general ones.

Think for example about suspending an application that has an open file on the CD or an open Internet connection. Now imagine what it would take to "suspend" and "unsuspend" it: All files and connections to be saved on suspend, then on unsuspend to be re-created, CD drive maybe to be verified and file opened, Internet connections to be re-established with all login info into the site, etc etc.

This is just too complex to implement in any operating system, and would also be a security hole, bypassing the need for entering the login if an application's state was "captured" just after the login. To correctly suspend an application, one would just about need to save the state of the entire operating system (which does exist).

  • 3
    If it works for hibernation, there is no reason for it not to work in the scenario described by OP. You would have to re-establish file handles of course and manage security, but nobody said it would be easy. That said, dumping the raw memory requires privileges that only the operation system is supposed to have. You would have to seriously trust the application to give it OS privileges (assuming it is even possible to give it such privileges). – Xr. Jan 12 '11 at 9:42
  • @Xr: Hibernation is for the entire computer, which I did say does exist (although applications are not guaranteed not to fail on wake-up). The "one application" case does not really exist, since the application's state is part of the operating system state. As you say, this mechanism is possible, but it has to be built-into the operating system itself. An application running in user-space doesn't have the required access to system tables and drivers, and this also requires very specialized knowledge of them. – harrymc Jan 12 '11 at 9:52
  • You're right that it's complex. I started a SO question about this and the answer was, as expected, "it's very complex to build because of all these issues." – ashes999 Jan 12 '11 at 15:26

Without virtualization, your only option on Microsoft Windows is pause/resume applications. The utilities which can do this are PySuspend and Pausep. This will not allow you to perform any sort of "undo".

While there are virtualization products such as QubesOS which can do what you're looking for Linux systems, you will not likely see this on Microsoft Windows without direct support from Microsoft. However, even with QubesOS, it should be possible to run a virtualization product like VirtualBox or VMWare Workstation to run Windows applications. You can also run Windows applications via wine, with full benefits of the QubesOS abstraction.

Alternatively, you could run multiple VMs running a separate copy of Windows underneath each of them. Some versions of MS Windows allow you to run one or more copies of the OS, virtualized, under a single license.

  • Yes, in the worst case, I can always have my PC as a "thin" client and run everything inside a VM (with a 10% performance hit in the case of VM Ware). That's not a bad backup plan -- unless you share your computer with non-techies who are wondering what you're doing :) – ashes999 Jan 13 '11 at 15:59
  • Do these tools allow you to pause, shut the application down, and then resume from the previous state? – ashes999 Jan 15 '11 at 15:10
  • PySuspend and Pausep issue a Windows equivalent to the POSIX SIGSTOP/SIGCONT signals. This does not allow the application to be entirely "shut down", it does not release any memory allocations. They simply stop the process from using any CPU until you unsuspend/resume the process. – ewindisch Jan 16 '11 at 0:58

It's doable. Check out the following.

Twinsplay: http://www.twinsplay.com/learn-more-about-twinsplay

SmartClose: http://download.cnet.com/SmartClose/3000-2094_4-10784165.html

  • 1
    Why those? How do they solve the problem? – ale Dec 11 '12 at 16:48
  • I think that this answer was unfairly downvoted. Following the @harrymc answer, those are good alternatives to the app requested by ashes999. Right now I'm looking for something like ashes want it, because I have a SSD disk and I don't want to hibernate. In that sense, SmartClose seems to me an interesting solution that I'm trying right now. – Mario S Mar 14 '15 at 1:48

This is what Jaryba's (formerly Librato) SmartSuspend does. It's a light weight VM container for applications that lets you suspend, resume and migrate just an application, much like you would a VM, but with far less overhead. Right now it doesn't support Windows but they're targeting mind-2011 for Windows support. It works reasonably well with Linux-based applications. Some applications don't release licenses as promised when suspended by SmartSuspend, but most do and you can time slice on expensive software fairly well with the product.

  • 3
    Nice, but no Windows support = no support = useless. I need this for Windows, which is why I tagged the question "Windows." Also, there's no download link on their site. Yech. – ashes999 Jan 11 '11 at 20:15
  • @ashes999 it's coming. Which is why I put you on to it. It's not cheap. – Ian C. Jan 11 '11 at 21:57
  • I'm tempted to vote down this answer. Software that doesn't yet exist and even if it did, doesn't work for Windows? That's definitely not what I'm looking for. – ashes999 Jan 11 '11 at 23:46
  • 1
    It's 2015 and still does not support Windows... – Mario S Mar 14 '15 at 1:12

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.