Description: This framework is designed to allow programs or processes that
need only minor interaction to be running at all times.

Uses hot-keys and plugin architecture.

Four examples are presented:
- Background Creator: Randomizes the background for single or multi-monitor
  systems at a set interval.
- Url Grabber: Cut/Copy a url, and it will remove white-space/special
  characters, and start IE with the new URL.
- Multi-monitor: (Still in development) Quick application to turn off, and restore secondary monitors.
	Will handle profiles of monitor settings for testing environments.
- ShowDesktopIcons: Enumerates all the icons on the desktop and allows you to quick start any of them.
(---------------------------------------------------------------------------------------
This is a small Framework I created to run programs in the System Tray of the Start Bar.

The Problem Domain is simple. I wanted a way to run small "interface-less" program that
would run in the tray, and allow me to forget about them. Two samples are the background
creator/randomizer for multiple monitors (works for single monitors, as well, but that's
not as impressive) and a program designed to grab a URL from the clipboard, eleminate 
wrapping and start the URL in a new instance of IE. By using a single icon for multiple 
programs, you can avoid the clutter of the System Tray.

The implementation is simple, you create a smal executable the extends ITrayProgram and has
an attribute of [TrayProgram("Program Name", "Icon Name") You can either run this as a
standalone program, or run it as a plgin in the main TrayRunner class (at which point
you can add hot keys to the menu item) 
 - Caveats to note under implementation
   - The menu items must point to public members, otherwise it can't deserialize
     across the app domain boundaries.
 
There's currently a dead code branch that would reload the entire program if one app
domain changed. Turned out to not be as important as I first thought.

I haven't figured out how to start it up at install, so start it from the Programs->Startup menu.
---------------------------------------------------------------------------------------
Current plugins:
BackgroundCreator: Creates a random background image. Can be used to create them at random
at a specified interval. Can also create an image for a multimonitor system
so that each monitor displays a different image.

DataGrabber: Very simple program that grabs the item on the clipboard, and if it's a
url string of any format (http, ftp, telnet, etc), it will start up a new instance of IE
to load the url in. Very useful for word-wrap or quoted urls in messages.

Upgraded to handle media player blogging plugin with message box to show current song, or 
pushes it into the keyboard queue.

This last version was added to display the plugin directories. Put the executables in a new 
directory, and add a new plugin. Or just put them into the main plugin directory that already
exists.