This actually would be kind of handy.
I’m very much in the same situation that you are. My machine automatically reboots overnight so that when I login in the morning, it takes a few seconds to reload all of the startup software and just do a couple of things. It would be nice to know when it’s done.
Unfortunately, the concept of startup in Windows is incredibly complex.
Become a Patron of Ask Leo! and go ad-free!
What is startup?
When it come to the startup process, it’s hard to know when something is done. Some programs start and go away while others start, do something, and then keep running. Just because one program went away doesn’t mean that the program is done. A program that it handed off to might still be running.
There’s no way to really know when it’s technically done. There’s no way to really know what it means to be done.
There’s no way to really know what it means to be done.
Adding a sound to startup
If you take a look at the Windows Start menu underneath All Programs, there is an item called Startup. That’s a menu item that’s actually a folder that contains another set of menu items. If you put a shortcut in that folder, that shortcut will run at startup time.
Now, you could actually make a shortcut to an .mp3 file, a .wav file, or a program that actually plays an audio file for you, and then place that shortcut in the Startup folder.
One program that might be useful is a program called NirCmd. That’s a general purpose command line utility program that has an option to play an audio file. For example, in the Windows command prompt, you type NirCMD, mediaplay, a time, and then an mp3 file or a .wav file and it will just play it.
nircmd mediaplay yourfavorite.mp3
If you put a shortcut to that program or directly to the audio file in your startup menu, it will get played during startup.
The catch is that it won’t necessarily get played at the end of startup. But it will get played when Windows processes the startup menu items. It’s my understanding that those get processed relatively late in the startup process. So much of the startup processing will have happened before that audio file is played. It’s just not guaranteed that absolutely everything will be done when it is. But I think by the time it gets played most of the startup items will be done and you will probably be in a pretty reasonable situation then to begin using your machine.
But the ultimate answer to your question is no, I don’t believe there’s a way to do specifically what you’re asking. With the way Windows does startup, I don’t believe that there actually could be.
14 comments on “Is There a Way to Get a Notification Sound when Startup is Finished?”
There’s a freeware utility called “Startup Delayer” that allows you to start your startup items in a predictable manner. It would be handy to use it in a scenario such as this, wherein the mp3 “done loading” sound file is delayed until last in the startup queue.
As an enhancement of what Leo suggests, you could use the Task Scheduler to schedule your task to play a sound at Startup with a delay of a minute or two. That would probably ensure that most of the activity that takes place at startup is complete. If you wanted to be really sure, you could schedule the task to play the sound when the computer is Idle (which means no user interaction or processor or hard drive activity for ten minutes).
“…schedule the task to play the sound when the computer is Idle (which means no user interaction or processor or hard drive activity for ten minutes).”
Dude, really? You’re gonna make some poor schmuck wait ten minutes before he can use his computer with assurance it’s finished booting??? LOL!
On my Dell Win7 Home Premium laptop , I use 2 freebies . Wise Boost Up Booster. It pops up on lower R.H. corner of screen while it is uploading , and gives me estimated time in sec. The sec. one is Intel Turbo Boost , which comes on while comp. is booting up and shows me High usage ,until it is loaded up , then I know when to click on IE.
There really isn’t a way to accomplish this programmatically? I realize your readers most likely aren’t all software programmers, but you are (or were). So your statement is surprising coming from a “programmer”… “But the ultimate answer to your question is no … I don’t believe that there actually could be.”
Of course this is possible! It’s all measurable and quantifiable, so it’s just a matter of piecing the parts together, programmatically…
I’m actually trying to find a utility to do this very thing, and would prefer to find something that exists, so I’m excited to see a discussion around the need for this very thing.
It seems to me the goal here is to have an automated and easy indication of when the computer has finished doing it’s start-up tasks, so that you don’t end up competing for resources by trying to open and do things while the disk is thrashing or the CPU is pegged by start-up processes.
One possibility could be something simple that ran during the start-up process, and immediately began monitoring the CPU and Disk I/O usage. Once both of those fall below some threshold for some specific amount of time (say under 25% of capacity for both disk i/o and CPU for 5 seconds), then you could play a sound and perhaps display some visual indication that the computer is ready to go.
This little utility could actually come in handy to be run on-demand later. Say you are installing or updating things with long-running scripts or CPU-intensive things, you could start the utility to alert you when activity in the CPU and DISK I/O have calmed down, suggesting that the tasks have likely completed. Recently I could have used this when: 1) defragging a hard drive, 2) running a utility that scans all images for duplicates, 3) transcoding media, 4) installing patches on remote servers…
Extend this idea to monitoring Network traffic and the use-cases for the tool grows even more. And make an option to alert when activity is OVER some set threshold for a period of time, to alert you that there’s a lot of activity happening in the background…
I’m surprised I haven’t found all of these pieces already put together someplace… This seems like a slam-dunk.
It’s very far from a slam dunk. First you have to be able to completely and unambiguously answer the question “what constitutes a startup task?” Sure, the programs listed in the start-up registry entries and the start menu would seem to fall into line. Except they fall into THREE buckets:
* Programs that run, do their thing and exit. Easy to notice that they’re done.
* Programs that run … and then keep on running. Tray apps and background services fall into this category. There’s no way to identify them, specifically, and there’s no way to know when the “startup” portion of what they do is complete and they’ve transitioned to their ongoing steady-state.
* Programs that run other programs. I.E. program A is a start up program. As part of what it does it spawns off a few other programs, or perhaps copies of itself. Each of those could, themselves, fall into any of these three buckets as well, making the entire problem recursive.
If you can come up with a canonical definition for when start-up is actually complete you could do what you want. I just don’t believe that such a definition can be achieved. Things are simply much too complex.
Oh wow, Leo, did you ever miss the point!
You may well be technically right, but you seem to have missed Steve’s discussion of exactly how he proposes to accomplish his goal. Read his message again — more carefully this time. He’s not suggesting that his theoretical app should keep track of all processes and report when they’ve all finished loading! (That, I agree, is almost certainly unachievable.) What Steve suggests instead is something far more empirical: monitor CPU, disk, and Net usage, and report when that usage has declined to a level strongly (or at least reasonably) suggestive of having “settled down” — that is, that the system has reached a level of activity which suggests that it is no longer actively loading, and is more-or-less “at rest.”
Granting that such an app might not always be correct in its judgement of just how “finished” the startup process actually is, it seems probable that its determination would be at least a good approximation… and, as a program, it should at least be doable.
That (at least as I understand it) is his point.
This application checks CPU and memory usage at the startup of a Windows operating system, estimating (live, by means of a fuzzy digital controller) the startup completion percent and the remaining seconds: at the end, a sound is played (you can change it, of course).
It is fully configurable and easy to use :)
What if we waited, not touching or opening any programs for say 15 minutes, until we knew the system was up and available, and that everything that was going to quit had quit, and everything that was going to stay resident was staying resident. Could we then run “TASKLIST” and capture a template of running processes, – then in the Startup create a batch file that runs TASKLIST repeatedly and compares it to our template task list, running “nircmd mediaplay yourfavorite.mp3” when they both compared equal (or after 10 minutes, whichever comes first.) ;-)
That should get us pretty close, shouldn’t it?
a) it could be wrong -> one of those tasks could be doing startup processing at first before it settles in for the long haul – no way to know that its presence, or lack of presence – means anything.
b) it could change next Windows update.
Thanks Kahk Vael.
That program from Eyesonpeople works great!
Maybe you IT gurus are making this matter more complex and difficult than it needs to be. I just want an idiot flag (such as a sound) to tell me my PC has finished the heavy lifting of booting up (in Windows), and thought this thread was about that. As a technically naive PC enthusiast, Steve’s solution seems simple and doable. It also mimics what I do without any automatic annunciation now. Basically, I watch the disc-access light and when intensive activity appears to be greatly reduced, I proceed with the assumption that boot-up is essentially complete. If operation from that point seems sluggish, I just wait awhile and then try again. There are built-in problems with this method, such as the light not responding quickly or accurately enough, and not reflecting CPU load, but Steve’s solution would overcome those (I think). As in astrophysics, the simplest solution is often the best no matter how big or complex or imponderable the problem seems to be. Maybe I’m missing something important and don’t realize it. e=m(c-squared). No?
I’ll add my thanks to that of “Interociter Operator”, “Kahk Vael”! The “EyesOnPeople” program works great and does exactly what I want. It’s cool to watch it refine the estimated start-up time each time it’s used (which is much more sophisticated than any solution I anticipated). For some reason, Google didn’t find it for me. Thanks also to Leo and the others who contributed to this conversation.
To me, it doesn’t matter that all of the startup programs have loaded and started. As long as the Taskbar is populated, I find I can comfortably begin to work.