End reboot anoyance!
August 23, 2005 6:55 AM   Subscribe

Windows XP application monitor thingy needed. I am looking for some software that will offer to re-open all software that was open before the PC was restarted/crashed, upon rebooting windows.

The idea is that if I have to shut down the PC to restart (with or without shutting all software individually), or suffer a crash, on reboot the software will pop up a dialogue box listing the programs that were open and the files that were open within the programs. I should be able to re-open software from the list, which will result in the software opening with the required files (e.g. word documents, excel workbooks) also being opened. Like Opera and Pegasus do.

It is possible this functionality is already available within Windows XP, but I can't find it. It is a bit like system restore, but for open applications. Oh, and I don't want to have to pay for it.
posted by asok to Computers & Internet (9 answers total)
Programs don't tell windows which file they've "kept" open. You could probably keep track of what programs were open, but it would be nearly impossible to automatically open the last file opened by an abitrary application.
posted by null terminated at 8:18 AM on August 23, 2005

There's a firefox extension called SessionSaver. It's wonderful. In addition to recovering Firefox sessions after a crash it also lets you save sessions for future use, remembers open tabs between sessions and can reopen individual tabs if you close them accidentally.

I always have several open tabs and I very rarely use any other programs at all so this is a pretty complete solution for me. It's all that I'm aware of.
posted by stuart_s at 9:13 AM on August 23, 2005

Response by poster: So, what I am looking forward would be a 'session saver' for windows, with added 'open files' recording functionality. Is this too big an ask?
posted by asok at 11:14 AM on August 23, 2005

So, what I am looking forward would be a 'session saver' for windows, with added 'open files' recording functionality. Is this too big an ask?

And "zero cost" - don't forget that you specified that too.
posted by unixrat at 12:00 PM on August 23, 2005

If you just want to switch it off, and not necessarily reboot, then you can just hibernate windows. You can set explorer to reopen all windows that were open on shutdown, but as null-terminated says, in general, I don't think it's possible.
posted by Boobus Tuber at 12:01 PM on August 23, 2005

Best answer: I think implementing this is a lot harder than you think. It's trivial for a web browser to remember what tabs it had open when it is closed. It's no so trivial for an operating system to know what processes were running when a crash occurs -- and this the important part -- and the sequence of events to get those processes running.

Part of the problem is that if you really are running into a BSOD crash, then the operating system is essentially hitting something dire and panicing. In a case like this there is no way to reliably write much of anything to disk or the network, because the kernel is in an unusable state. That is why it prints the BSOD and exits, because it can't do anything else. So any such solution would have to periodically save its state.

But even if you had a list of running processes, it's not always possible to piece together how they got to that state. You would have to hook all calls to the CreateProcess API and record the order everything executes and the command line parameters passed. And that's just to run the processes, forget about any state information such as opened docuements or program settings. Even if you recorded all this information, you still wouldn't know how all these processes interacted, and so there would be scenarios where restoring the state would fail.

In short I think that what you're asking for is very complicated, and I certainly wouldn't expect to find it for free.

A much better question would be what in the hell are you doing that is causing XP to crash? I can't remember the last time that I actually saw a real crash from Windows since the 2k/XP era. Sure, individual applications crash all the time but you must be talking about the system itself crashing, otherwise you could just re-open the application that crashed. If you are constantly getting BSODs then something is SERIOUSLY WRONG with your computer, and you should try to get it fixed.

If you're just talking about turning off the PC, then use suspend or hibernate instead, both of which were specifically designed for this usage pattern.
posted by Rhomboid at 4:26 AM on August 24, 2005

I should say that I can think of a couple of "half-ass" solutions here though - it's not necessarily totally impossible.

One would be a hook that you would install into Explorer that would record when you start things from the Start Menu or Quick Launch toolbar. It still wouldn't be a walk in the park to implement, because it would need some way of also knowing when you quit each of those applications, so that it knows what was running at the time of the shutdown.

But it could probably give you a rough approximation of what you had open. The problem is that this would only know about things that you directly start through those methods - if you e.g. double clicked on a document, or launched one app through another, or clicked on something in your browser that launched a player (etc) then this method would have no way of knowing.

And it doesn't address the issue of saving state at all, such as which documents an app had open. That kind of thing has to be handled by the app directly (such as the browser remembering all the URLs you had open) because there's no general way for the OS or an external application to query this information.

I don't know of any software that does this. But you might look into the "alternative shell replacement" scene as some of those might have rudimentary session saving features.
posted by Rhomboid at 5:18 AM on August 24, 2005

Response by poster: Thanks Rhomboid. I thought it might be possible because the virus monitoring software seems to do a similar thing. I thought the 'session monitoring' s/ware might be able to take system snapshots every 2 mins or so.
Anyway, the XP machine is used by my sister, and only crashes in conjunction with the d-link wi-fi router signal being lost (e.g. whilst using google earth). I think that re-starting the router seems to eradicate the problem, but she also likes to restart her PC to be sure. She doesn't like having to re-open all the s/ware and docs though. She occasionally gets crashes from using RealPlayer, which I obviously discourage her from using, but she likes it??!?!
I thought it might be a useful thing to have a 'session monitor' in general.
In regards to XP crashing, i have a friend with a Dell Dimension (or some such) which regularly nose-dives. Windows XP has been re-installed 3 times in the past year, each time because windows was not booting following blue-screen joy. As it is an intermittant thing, getting Dell to take interest is a non-starter. Just FYI.
posted by asok at 5:27 AM on August 24, 2005

That machine that constantly blue-screens probably has faulty RAM or a bad driver installed. People seem to have come to the conclusion that having a computer crash constantly is just something that you have to put up with, but it's not. It means something's wrong.
posted by Rhomboid at 7:21 AM on August 24, 2005

« Older Outlook 2003 email question   |   Do you know of a good fondue recipe? Newer »
This thread is closed to new comments.