ECC2-109 GUI
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 to run). Screen Shots
License/Disclaimer
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 credit me.
Download
Click to download the latest version:
Windows Binary: ecc2GUI v0.91 (511 KB)
Previous version:
Windows Binary: ecc2GUI v0.8 (505 KB)
If you are using NT4, you will need to download an older version:
Windows Binary: ecc2GUI v0.7 (493 KB)
Recent History
Contributions Jonathan Walton (phaserlogic [@] hotmail.com) - Code cleanup of time display - Added CreateProcess code to launch DF client hidden without need for any external programs Jamilla - Testing hide/unhide on Win9x Akkermans - Testing the AutoStop on Battery feature SWfreak - Code for checking process list
Usage
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" folder button 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 correct spot.
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 progress.
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 mode, you 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 not running.
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 ecc2GUI.ini are Refresh Rate, Start Options, Custom Start Settings, GUI Total Time, AutoStart, Start in Tray, ECC2 Client Path, Client Installed as Service, Use Windows Text Colour Setting, Resizeable Window, Write Bench Every Refresh, Restart Inactive Client, 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 dfGUI.
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.
Running Hidden 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 box.
Hide/Unhide 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.
Auto Starting 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 it will automatically start the ECC2 client if it is not already active.
Auto Stopping 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 hours) 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 Status every" checkbox. Fill in the amount of time (in 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.
Bugs/Contact
If you would like to report any bugs or contact me related to the software you can reach me via e-mail at: