DXClock.exe by David Turner.
Documentation and FancyClock by Philip Powell <pjpowell@clara.co.uk>. 

Here are some basic instructions:

First unzip the Clock-release file to a directory of your choice.

Run the clock executable (this sends the messages to the clock objects)

A sample clock has been included for you to play with, thanks to Philip 
Powell.  You can use this as a model if you are making your own; the 
documentation below describes how it works.

Each clock object needs some custom messages to be added to it. Basically, 
the clock program broadcasts a message to all objects within DesktopX.  
Any objects with the correct messages set up can respond to this. Each 
object has messages for a certain digit of the clock.  In this way you
could actually set another object (not part of the clock) to trigger every
half hour (ie every time the first minute digit changes to 3).

You would have 6 objects for a clock with HH:MM:SS plus one or two for the :

Starting from the right hand side :

The seconds are made of two objects. The first will be the first digit and
the second will be the second digit.
For the first digit you need 6 messages because seconds only go up to 60

You would add a message numbered 10270 and set the image to be of a 0
You would add a message numbered 10271 and set the image to be of a 1
...
You would add a message numbered 10275 and set the image to be of a 5

For the second object you need all 10 because it can go from 0-9

You would add a message numbered 10240 and set the image to be of a 0
You would add a message numbered 10241 and set the image to be of a 1
...
You would add a message numbered 10249 and set the image to be of a 5

The minutes and hours are similar but the first digit of the hours only need
a 0,1,2

The full list of signals is:
10240-10249: Sent when the last digit of the second changes.  
10250-10259: Sent when the last digit of the minute changes.
10260-10269: Sent when the last digit of the minute changes.
10270-10275: Sent when the first digit of the second changes.
10276-10281: Sent when the first digit of the minute changes.
10282-10284: Sent when the first digit of the hour changes.

One thing to watch out for is that if you edit the objects in any way and
apply it they will revert to the normal image.  They will only change again
when a message is sent to them which will be when the specific part of the
time changes.  ie you would have to wait until the hour changed before 
the hour part gets updated. The other way is to close the clock program by presing Ctrl-C in its window and restart it. 

I have set the first (far left) digit up as the trigger for the clock
program to start.  You will need to set the program shortcut to the location
of the clock program on your computer.