Desktop Info
by Glenn Delahoy
(C) Copyright 2005-2007
All rights reserved

Description
-----------
This little application displays system information on your desktop in a
similar way to some other desktop information tools. Unlike others, this
application looks like wallpaper but stays resident in memory and continues 
to update the display in real time.  Uses less than 1MB of memory and nearly 
zero cpu. Perfect for quick identification and walk-by monitoring of 
production or test server farms. Info includes time, host, user, cpu usage, 
OS info, memory usage, network info, disk usage, event logs, terminal 
services, file updates and registry updates. Display items, position, fonts, 
sizes, colours, refresh times are customisable. Please note: this application 
will only work on Windows 2K/XP.

Usage
-----
Just run it. The only way to quit is to kill it from Task Manager.

Options
-------
No gui. Options are set by modifying the ini file. The desktopinfo.ini file is
optional, the application will use defaults if it's not found. The app will
automatically pick up changes to the ini file, you don't need to restart it.
The included ini file shows all the available options and is self explanatory.
If the font size is 0 the display will be adjusted so that all data neatly
fits on the screen. You can use any combination of formleft, formright, formtop
and formbottom to position the display on the desktop. If you have a dual
monitor display, you may need to specify negative values for any of these
depending on the display arrangement. If formright is present it overrides
formleft, if formbottom is present it overrides formtop.

Colours
-------
The colour is specified as a bgr (rgb) hexadecimal number. The first two
characters represent the level of blue, the second represent the level of
green, the third two represent the level of red. Each element has a range of
00-ff (0-255). ff0000 is blue, 00ff00 is green, 0000ff is red. ffffff is white
(all colour elements at maximum), 000000 is black (all colour elements are off).

Items
-----
The items section in the ini file controls the visible state of each info item.
A value of 0 is off, 1 is on. Some items such as network adapter and fixed disk
control all items of that class. For example if you switch on fixed disk, all
detected fixed disks are displayed.

Numbers
-------
Several of the entries show three numbers. For example, the physical ram might
show something like 528MB / 1024MB (51%).  The first number is the amount used,
the second is the total, the percent in brackets is the percentage used. So in
this case it shows 528MB used out of a total of 1024MB which equates to 51%. The
same is true for virtual memory, page file and fixed disks.

Fixed Disks
-----------
Fixed disks smaller than 3GB in size will be displayed as MB. This is primarily
to avoid the rounding error of going to gigabytes.

Intervals
---------
The intervals section in the ini file controls the refresh interval of each
info item.  The values are in seconds. A value of 0 means never refresh. Many
items will never change, such as cpu type, so there is no point updating them.

Files
-----
Desktop Info can monitor specific files for changes to size, write time or
version number. Create a new section in the Ini file called [files]. Each entry
consists of a monitor type and the file name. The four available types are text,
size, time and version. The text type will display the first line of the given
text file when the last write time changes, the size type will display the file
size when the size changes, the time type will display the last write and access
times when either changes and the version type will display the file version
string when the file changes.

Note: This is currently only working for local files. I'll be reworking it to
handle network files in the next release.

The text type might be useful for monitoring semaphore or progress files
created by batch processes. The following example displays the text in the
given file.

[files]
text=c:\semaphore.txt

Registry
--------
Desktop Info can monitor specific registry keys for changes. You can monitor a
single key or an entire tree. Create a new section in the Ini file called either
[registrykey] or [registrytree] depending on which monitor type you want. An
entry consists of "name=key". The following example will monitor the Run keys.

[registrytree]
regmachinerun=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
reguserrun=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Miscellaneous
-------------
No application uses zero cpu or it wouldn't be much of an application. What I
mean by zero cpu is the application is set to idle priority class which means
it will only take up cpu time when no other process requires it. If some other
application is going flat out 100% cpu, the desktop info may not update right
away.

The main CPU item shows percentage of all cpus in the system. This means it
will always show 0-100% regardless of how many cpus there are. The top process
cpu item shows the percentage per cpu. This means it may show more than 100%.

--------------------------------------------------------------

Release Notes

Version v0.10
-------------
Limited distribution test release.

Version v0.11
-------------
Change 1: Fixed the nasty flicker some systems were getting.

Change 2: Fixed the odd characters after the domain name.

Change 3: Less full refreshes means less cpu time.

Change 4: Fixed disk figures for very small drives.

Version v0.20
-------------
Change 1: Added time zone info.

Change 2: Some optimisations.

Change 3: Added refresh intervals.

Change 4: Added domain controller info.

Change 5: Added event logs.

Version v0.21
-------------
Change 1: Added terminal server session count.

Change 2: Fixed some stuff in event logs.

Version v0.22
-------------
Change 1: Added DirectX version.

Change 2: Adjusted domain controller. I can't directly test this one.

Change 3: Added network packet stats and rates.

Change 4: Added network connection count.

Change 5: Added double click refresh.

Version v0.30
-------------
Change 1: Fixed a bunch of memory issues.

Change 2: Fixed Terminal Services sessions and added session list.

Change 3: Added auto font size.

Change 4: Added 'missing ini' default values.

Change 5: Implemented proper ini file monitoring.

Change 6: Added screen info.

Change 7: Fixed display for 256 colour remote desktop.

Change 8: Added files monitor options.

Version v0.31
-------------
Change 1: Added Up Time.

Change 2: Added support for cpu times for Windows 2000.

Change 3: Fixed Domain Controller

Change 4: Fixed multiples of same file watch type bug.

Change 5: Fixed memory sizes over 2GB.

Version v0.40
-------------
Change 1: Added top process cpu time.

Change 2: Added top process memory usage.

Change 3: Added file version watch type.

Change 4: Added registry watch types.

Change 5: Added cpu count.

Change 6: Additional checking for terminal sessions.

Version v0.41
-------------
Change 1: Added unread mail.

Change 2: Added formright and formbottom options.

Version v0.42
-------------
Change 1: Increased fixed disks to eight.

Change 2: Added multiple ip addresses.

Change 3: Fixed problem with missing ini file.

Change 4: Split network gateway entries to separate lines.

Change 5: Added percentages to memory and disk displays.

--------------------------------------------------------------

Comments/suggestions to: support@delahoy.com
http://www.glenn.delahoy.com