by Jeff Gilchrist
The ECC2-109 GUI is a helper application for Windows that works with
the ECC2-109 client available at: http://ecompute.org/ecc2/
It allows you to see your current progress,
provides benchmarking information about your machine
and allows you to start and stop the client. It can even run the ECC2
client hidden. ecc2GUI uses almost no CPU
resources so it will not slow down your ECC2 production (but you can
close it and the ECC2 client will continue
This software is freeware and can be freely
distributed. Use at your own risk. I take no responsibility
for anything that happens to your equipment. Source code for this
program will also be available (at v1.0). If
you modify this software I would appreciate you letting me know what
feature(s) you have added so that I may include
them in the official distribution. If you are going to use any of this
source code in your own program, please
Click to download the latest version:
Windows Binary: ecc2GUI v0.91 (511
Windows Binary: ecc2GUI v0.8
If you are using NT4,
you will need to download an older version:
Windows Binary: ecc2GUI v0.7
(phaserlogic [@] hotmail.com)
- Code cleanup of time display
- Added CreateProcess code to launch DF client hidden without need for
any external programs
- Testing hide/unhide on Win9x
- Testing the AutoStop on Battery feature
- Code for checking process list
Extract the ZIP file to a directory on your
machine. This can also be your ECC2 client directory
(where your cliclient.exe file resides). Start ecc2GUI.
If your ECC2 client is located in another directory you should click on
the "Config" button
then click on the "ECC2 Client Directory"
and select the cliclient.exe program (or ecc2109c.exe if using the SWfreak client) in the correct
directory. ecc2GUI should now be configured to look in the
The time estimates and some benchmark information will not appear until
two new Distinguished Points (DPs) are
found by the ECC2 client. For the benchmark data to be more accurate,
you should let ecc2GUI run (with the ECC2
client active) for several hours. Note that you will need to
be using at lastest ECC2 Client or SWfreak version for it to work
properly with ecc2GUI. The GUI uses the file
ecc2-109.spd to get its information about the client
The OS/CPU information shows whatever the client can find in the
Windows Registry which differs from installation
to installation. Win2k/XP usually has MHz information and Win98
sometimes does. Any unknown information will show
up as ???.
You can enter text in the "Title Bar" edit box which
will display your text in the ecc2GUI title bar and on the system tray
when you mouse-over the icon. This is useful
if you have a multi-CPU or network machine and are running multiple
copies of ecc2GUI on the same machine to easily
distinguish between them.
Note: If you are
using the ECC2 client in Service
can use ecc2GUI to start/stop the client and monitor its progress. To
enable this ability, you need to check the
"Client Installed as Service" checkbox in ecc2GUI.
The components and options not available to the Service client will be
disabled in the GUI. If you are using the
SWfreak client as a service, you do not need to check this option as it
is handled automatically by the client.
The ecc2GUI program uses tray icons and when minimized it will hide in
the tray. Two colours are used to show the
status of the ECC2 client. A green icon in the tray
means that everthing is OK. A red icon in the tray
means the ECC2 client is NOT running.
The status bar in the GUI will also become red when the ECC2 client is
Showing Configuration Screen
The first time you load ecc2GUI, the configuration window will be shown
by default. To hide this window, just close
it by clicking on the X button in the top right corner of the window.
To show the configuration window again, click
on the "Config"
button at the bottom right corner
of the GUI.
Saving your Settings
When you exit ecc2GUI, it will write your current settings to a file ecc2GUI.ini so they
will be active the next time you
start. You can also click on the "Save
Config" button to save them immediately. The
settings that are currently saved in
Start Settings, GUI
Total Time, AutoStart, Start in Tray, ECC2 Client
Use Windows Text
Colour Setting, Resizeable Window, Write Bench Every
Stop Client and GUI, and Title
Bar. If you decide to modify your ecc2GUI.ini by hand and
make a mistake so the client
doesn't load properly, just delete the .ini file and reload
ECC2 Client Starting/Stopping
To start the ECC2 client if it isn't already running, click on the "Start Client" button. ecc2GUI will
then launch the ECC2
client in either regular or hidden mode depending on
what is selected. If you want to stop the ECC2 client, just click on
the "Stop Client"
button. This works with any Service
version but only version CE/WC or newer of the ECC2 Client
in non-service mode.
To start the ECC2 client hidden, click on the "Hidden"
radio button in the "ECC2 Client" box then click on
"Start Client". If
the ECC2 Client is already running
just click on the same "Hidden" button and the DF
Client window should no longer be visible. To make it unhide, click on
the "Visible" radio
button. Note: This will not work if
the ECC2 Client is running as a Windows service. If you
minimize ecc2GUI, only its tray icon will be there. If you don't want
the ecc2GUI tray icon to appear, close ecc2GUI
and the ECC2 client will keep running. You can load ecc2GUI again at
any point to see its current progress. If
you want the ecc2GUI client to start up in the tray without showing its
main window and having an entry in the
task bar, click on the "Start ecc2GUI in Tray" check
ecc2GUI gives you the ability to hide and unhide the ECC2 Client
window. This is controlled in the "ECC2 Client" box with the "Visible" and "Hidden" radio buttons. If you
start the ECC2 Client using ecc2GUI, it should always be able to hide
and unhide the DF Client window. If you start
the client in some other way (ie: by running cliclient.exe
from a command prompt or creating a shortcut to the cliclient.exe file),
ecc2GUI may have problems finding
the window to hide/unhide. ecc2GUI will look at all your running
applications for a window with the words "x86client"
or "cliclient" in
the title. If found, it will attempt
to hide/unhide that window. If you launch the ECC2 client using a
shortcut and want ecc2GUI to be able to hide/unhide
the client your shortcut name should include the word "cliclient"
somewhere in the name.
If you would like the ECC2 client to start automatically when you load
ecc2GUI, click on the "AutoStart ECC2 Client" checkbox. The next time you load ecc2GUI
automatically start the ECC2 client if it is not already active.
If you would like the ECC2 client to stop automatically when you exit
ecc2GUI, click on the "AutoStop on Close" checkbox.
Auto Stop on Battery
If you are using a laptop computer and would like the ECC2 client to
stop automatically when you go on battery
power (ie: to conserve energy), click on the "AutoStop
on Battery" checkbox. When ecc2GUI detects
you are on
battery power it will shut down the ECC2 client for you
automatically. When it detects AC power again, it will automatically
restart the ECC2 Client for you.
Restart Inactive Client
To re-start an inactive ECC2 client, click on the "Restart Inactive Client after"
checkbox. Fill in the amount of time (in
minutes) of inactivity before ecc2GUI restarts the client
(1 to 99). ecc2GUI looks at the last update time of the ecc2-109.spd file to
determine if the ECC2 Client has
been inactive (or crashed). Depending on your machine speed
and how much CPU time is being given to the ECC2 Client, these may
affect how often the ecc2-109.spd file is written to and you may have to
adjust the time accordingly.
Note: If you have the
restart feature active and
you load ecc2GUI
to an ECC2 client that has crashed or left its ecc2-109.spd file lying
around, ecc2GUI will take 30 seconds before
it will be seen on the screen. The GUI is double checking to make sure
that the client has actually crashed or
is not running before it attempts to restart the client to avoid having
multiple copies of the client running at
the same time.
Stop Client and GUI after X Hours
If you want the ECC2 Client to stop running after a certain number of
hours, click on the "Stop Client and GUI after" checkbox. Fill in the amount of time (in
you want until the ECC2 Client will be shut down and the GUI exits (1
to 99). When this feature is activated, a
countdown timer will appear in the benchmark area "Stop Client In (D:HH:MM:SS)". When
this counter reaches 0, the ECC2
Client will be stopped and ecc2GUI will exit automatically.
Make Window Resizeable
If you would like to make the GUI smaller, click on the "Make Window Resizable" checkbox.
This will allow you to change
the size of the window using your mouse. The window size
and scroll bar locations will be saved in the .ini file so that the GUI
will return to those settings the next
time it is loaded. To return the GUI back to its original state,
uncheck the box.
Logging GUI Status
If you would like to log the status of the GUI (ie: benchmark &
stats information) to the ecc2GUI.log
file, click on the "Log
every" checkbox. Fill in the amount of time
minutes) you want the log file to
be written each time (1 to 999). A date and time stamp is provided each
time the log file is written. The log file
will be located in your ecc2GUI directory.
Use Windows Text Colour in GUI
If you are using a Windows colour scheme where it is difficult to see
the data in ecc2GUI, you can click on the
"Use Windows Text Colour in GUI" checkbox. This will
change the colour of all the data boxes to be the setting you have
chosen for Windows Text in your colour scheme.
If you would like to report any bugs or
contact me related to the software you can reach me via