Click here to Skip to main content
6,935,947 members and growing! (13,673 online)
Email Password   helpLost your password?
Web Development » Applications & Tools » General     Intermediate License: The Code Project Open License (CPOL)

A user configurable "Idle Computer Notification" tool

By Shaun Harrington

This tool will let you know when your computer is idle/busy.
C++, Windows, Visual-Studio, Dev
Revision:2 (See All)
Posted:21 Aug 2006
Views:14,029
Bookmarked:13 times
printPrint Friendly   add Share
      Discuss Discuss   Broken Article?Report  
7 votes for this article.
Popularity: 3.06 Rating: 3.62 out of 5

1
1 vote, 14.3%
2
3 votes, 42.9%
3

4
3 votes, 42.9%
5

Sample Image - icn.png

Introduction

Ever notice how the audio for Windows startup plays at the beginning of login? Do you ever find yourself wishing it would play something *after* your computer has completed the startup sequence and all of your startup applications have settled down? Well, I do. I have four computers sitting in front of me, and I turn to another the moment one is too busy to deal with me, but have no way of really knowing if the first one is ready for me to come back to other than checking it over and over again while having the Taskman running so I see the CPU usage. With this tool, my computers let me know when they are ready for me. They tell me when they are done starting up, and they tell me when they are done with lengthy operations.

Demo Project

The demo project download is a quick way to take a look at the code if you are interested. Suggestions and comments are appreciated. The heart of the program is a thread proc in icn.cpp named MonitorThreadProc(). The CPU usage detection stuff was taken directly from 'Get CPU Usage with GetSystemTimes' by ejor.

Features

  • Fully featured install and uninstall
  • User configurable "idle" and "busy" CPU thresholds and durations
  • User configurable audio notification
  • Continuous monitoring mode
  • HTML style help file

Using ICN

During the setup process, you are given an opportunity to adjust the default settings. Do not be overly concerned about these during the initial setup as they will likely need adjusting for your particular Use Case. If you wish to be notified only when system startup has settled down, you should disable the "Monitor Continuously" option.

When the up (busy) state conditions are met, ICN will display a tool window that indicates the fact unless you have elected to not display the pop-up in the settings dialog. When the tool window is displayed, ICN will give you an audio indication when the computer has gone back to an idle (down) state unless you have elected to use the cancel button. The tool window also provides access to the settings application for convenient adjusting.

Upgrading and Uninstalling

When upgrading, it is necessary to restart Windows for the changes to take effect.

Summary

If I left out any details you think should be mentioned in the article, please let me know.

If you could take one last second to rate this article or even leave a comment, it would be much appreciated.

Thanks for reading!

Credits

History

  • 1.01 - June 30, 2006
    • Initial release.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Shaun Harrington


Member
16yrs of GUI programming experience gained at: (most recent first) BlackBall, Veritas, Seagate Software, Arcada, Stac, Mountain, and Emerald Systems.

Languages/Scripting: C, C++, JAVA, BASIC, JAVASCRIPT, HTML, XML, PHP, and SQL

Tools: MS Visual Studio, MS Visual SourceSafe, CVS, PVCS, Bounds Checker, VMWare, ToDoList, InstallShield, and Office Applications

Libraries and API: RTL, STL, WIN32, MFC, ATL, .NET, ActiveX, DirectX, COM, DCOM, Shell Extensions, and Shell Namespaces

Strengths: Honest, communicative, keen eye for usability, good at estimating workload and completion dates, ready to take on grunt work, team player, experienced working with QA, localization, Tech Pubs, Sales, and Marketing teams.

Occupation: Web Developer
Location: United States United States

Other popular Applications & Tools articles:

 
Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 3 of 3 (Total in Forum: 3) (Refresh)FirstPrevNext
Generalemail notification Pinmembersquilliam14:33 16 Mar '10  
GeneralHow about making it into generic system load class... PinmemberDefenestration20:04 6 Sep '06  
GeneralRe: How about making it into generic system load class... PinmemberShaun Harrington6:23 7 Sep '06  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+PgUp/PgDown to switch pages.

PermaLink | Privacy | Terms of Use
Last Updated: 21 Aug 2006
Editor: Smitha Vijayan
Copyright 2006 by Shaun Harrington
Everything else Copyright © CodeProject, 1999-2010
Web20 | Advertise on the Code Project