Welcome to my application - I hope this is as useful for you as it is for me!
Background
From the very beginning, I authored this application with the desire to make my
life a little easier. I have a very low threshold for distractions, and consequently
I have a hard time remembering all the things I'm working on unless they're right
in front of me. When I'm forced to reboot my computer for one reason or another
(yes, I really wish Windows didn't still require this so often, but...), I can't
remember all the applications or documents I had open.
I started out by making lists on little post-it notes of all the apps & documents
I had open, so that I wouldn't forget. Unfortunately, my desk is littered
with post-it notes - hardly an effective organizing tool. Next I tried writing
a list in Notepad and saving that to the Desktop. Yes, that helped, but it
was irritating to have to type all that in every time, and there's already so much
stuff on my Desktop that it often got forgotten or lost.
I even scoured the Internet for such a tool - I figured there HAD to be someone
out there who had faced the same problem and had written some utility to solve it.
Amazingly, with all the apps littering the 'net these days, and my decades (well,
almost two) of experience in doing electronic research, I couldn't find anything
that even barely suited my needs.
At the same time, I've been trying to teach myself how to write code, and among
the reasons why I never quite got over the hump was the fact that I never had enough
motivation to wade through the really boring stuff that every book on learning to
program thinks you *must* know before they'll teach you the cool stuff (like making
a useful program). I finally
Useful Information
Prerequisites
This application was written using Visual Studio 2005 SP1 and leverages many .NET
Framework 2.0 classes, so you'll have to install either the .NET Framework 2.0 or
higher, or a CLR that implements all the classes of v2.0 of the Microsoft CLR.
I assume you're running Windows, but that's a crazy assumption to make these days
isn't it?
Design Assumptions
I intend for this application to give you a list of processes (and their associated
document files, where possible) that you would most likely want to be able to restart
one time at your next logon. I have assumed the following:
- If the application isn't running in your user context (Windows Services are a good
example), then you probably won't want it started in your security context.
- If the application doesn't have a visible Window that shows up in your Taskbar,
then it's not likely something that you explicitly started.
- If the application is already configured to Startup in the Run key under [HKLM|HKCU]\Software\Microsoft\Windows
NT\CurrentVersion, then there's no reason to for this application to duplicate that.
There are still a small handful of applications that I have hard-coded into the
application that fit this bill, but are rarely if ever the kind I would want to
startup during my next logon session. Those applications are:
- cmd (Command Prompt)
- communicator (Office Communicator)
- explorer (Windows Explorer)
- msnmsgr (Windows Live Messenger)
- taskmgr (Task Manager)
- wuauclt (Windows Automatic Update background process)
Author: Mike Smith-Lonergan (mikesmithlonergan@gmail.com)
First released January 2007