CronIco v0.92 - a WinCron add on (now open source!)

 Related Links
 WinCron  WinCron homepage  
 WinCron/LOG  manages your WinCron log files
(not supported anymore - download the source package!)

03.01.2003 WinCronShut - a shutdown utility for your WinCron program.


Due to stagnating interest in Win9x-systems, the development of CronIco is discontinued.
The support for both programs (WinCron and CronIco), however, is still maintained by me.
So do not hesitate to contact me regarding any problems with CronIco (or WinCron).

As a result of the discontinued web page of Will's WinCron, a "mirror" of this page
is now available on my side (just follow the above WinCron link).

Furthermore, I've decided to release the source code of CronIco for those who want
to continue the work on this program or just for code inspection or whatever.
You can download the full source code of CronIco here (1040kB zipped Delphi source code).

The CronIco web page was visited by 5500 users with more than 1500 downloads of CronIco.

10.04.2002 cydo

1. Introduction

I was in need of a simple task scheduler for win95, so I searched the internet for schedulers - and found several ones. Then I found WinCron. I really liked the idea of the flat schedule text file (and of course the freeware concept ;). But I disliked the missing function of minimizing it to the system tray. And so i've started to program this add on - and put much more features in it than just minimizing to the system tray.

2. How to...?

Launch (each) WinCron with the /hide option then launch CronIco

 cronico [/interval=x] [/port[=x]] [/tcpdelay=x] [/bind=x] [/dateformat=x] [/noflash] [/multiple]

  /interval=x      check for WinCron windows every x seconds, disable with x=0 (default x=900)
  /port[=x]        enable CronIco/TCP and listen on port 7059 or on port x (default=do not listen on any port)
  /tcpdelay=x      wait x seconds before allowing next tcp connect (default x=60)
  /bind=x          bind to a specific IP (default=do not bind to specific IP)
  /dateformat=x    use specified date format in tcp output (default
  /noflash         do not show a flashing icon if no WinCron is found (default=show a flashing icon)
  /multiple        allow multiple instances of CronIco (default=allow only one instance of CronIco)
CronIco checks for "WinCron" titled windows every specified interval. If no WinCron is found then the program's icon turns red (use /noflash for disabling the flashing icon). You can make all WinCrons visible or hide them, just press the right mouse button or double click over the CronIco icon in the system tray. Double click on the icon to hide/show the WinCron window - if there is more than one WinCron running, then a popup menu with all wincrons found will show up instead.

Check your WinCron status over the internet via TCP by enabling the TCP interface (see 4. CronIco/TCP interface)

3. Launch CronIco within your schedule file

WinCron 1.91 now supports the @launch command, so you can start CronIco with this line at the top of your schedule/crontab file:
@launch C:\wincron\cronico.exe /port /noflash
... your normal schedule lines, e.g.:
30 04 * * * C:\wincron\task1.bat

4. CronIco/TCP interface

With the TCP interface enabled you can now check your WinCron status via TCP/IP:
  /port[=x]        enable CronIco/TCP and listen on port 7059 or on port x (default=do not listen on any port)
  /bind=x          bind to a specific IP (default=do not bind to specific IP)
  /tcpdelay=x      wait x seconds before allowing next tcp connect (default x=60)
  /dateformat=x    use specified date format in tcp output (default
Use /dateformat=x to specify the date format in the tcp output. Valid date/time identifiers are: d,dd,m,mm,yy,yyy,h,hh,n,nn,ss
Note: Use "_" instead of a blank char!

 CronIco.exe /port /bind= /tcpdelay=120 /dateformat=m.dd.yyyy_hh:n:ss
Listens on for incoming connections. Use now the telnet command to connect to CronIco/TCP:
  telnet 7059
You will receive the following output:
200 CronIco/TCP v0.92 (w)2000 by
201 3.08.2000 14:1:07
202 89D6EDED15E0E140
205 1 WinCron running
300 WinCron OK At 16:26:41
301  [ ] /ContinueOnError
301  [+] /Log
301  [ ] /NoUpdate
301  Log file length:  8kB
301  Using: C:\wincron\schedule.txt
302 1,WinCron OK At 16:26:41,8,0,1,0,8kB,C:\wincron\schedule.txt
500 Closing connection
Explanation of line codes:
200: program information
201: system time (use /dateformat to change time format)
202: system time in 8 Byte Windows-OLE2 time format (in hex format)
205: number of Wincrons running ("x WinCron running")
300: WinCron status line (as displayed on the wincron mainform)
301: human readable WinCron options
302: computer readable WinCron options (WinCronNr, status, heartbeat, ContError, Log, NoUpdate, LogSize, crontabfile)
500: Closing connection

5. Registration

CronIco is inexpensive shareware. It costs only $100. You may register via credit card and... ah. hmm. ok. Hell no, CronIco is a quick and dirty addon so it's freeware as WinCron is (uhm, did i say that WinCron is a quick and dirty program, too? No! I didn't. Ok, so move on.)

6. Download (150kb) CronIco v0.92

7. WinCron compliance

CronIco was developed and tested with WinCron 1.91
CronIco is year 2000 compliant.
CronIco is freeware.

8. How to run WinCron as a Windows service

Step1: Download FireDaemon (FreeWare) from
Step2: Install FireDaemon and restart computer
Step3: type
      firedaemon -i wincron "C:\wincron" "C:\wincron\wincron.exe" "crontab.txt /Hide /Log"
Step4: type
      net start wincron
Step5: read FireDaemon documentation (... this should be step 1.5 - shame on me;)

9. Contact & Disclaimer (partly copied from WinCron.txt ;)

I hope that this program is useful to you. I can make no claim as to this software's stability or value. It is being offered as is. Use at your own risk. If you find it useful, all I ask is that you please email me at and if you didn't already done email to the author of WinCron at, too, just so we know that those tools are useful to someone. The Author reserves all copyrights. Permission is granted to any individual or institution to use, copy, or redistribute this executable so long as it is not modified and that it is not sold for profit. Also, feel free to email any suggestions for revisions to the program.

10. History
Version 0.92
  added /bind for binding to a specific IP on multihomed computers
  changed /interval=0 for disabling timer based update
  binary files compressed with UPX - The Ultimate Packer for eXecutables
  UPX homepage
Version 0.91
  added computer readable line code in TCP output (code 302) 
  added "heartbeat" TCP output (but function still disabled)
Version 0.9
  changed /port or /tcp activates now CronIco/TCP (with default port 7059)
  added /dateformat for user formatted tcp date output
  added /multiple (allow multiple instances of CronIco)
Version 0.8b
  changed "hide/show all" only when more than 1 wincron running
Version 0.8a
  added 'exit' in the pop up menu
Version 0.8
  added "heartbeat" function (but currently disabled: beta test mode)
  changed "ThunderRT" to "ThunderRT6" for VB6 wincron.exe 1.91
  changed TCP date format to " hh:mm:ss" (year 2000 compliant)
Version 0.7
  improved window/popupmenu handling
Version 0.6
  added flashing icon
  fixed wrong pop up window
  added all WinCron informations to CronIco/TCP output
  changed CronIco/TCP output (prepared for CronIco/Remote)
  CronIco/TCP port is now closed during tcp delay proc
  complete code rewrite
Version 0.5
  added hideOnMinimize (if you minimize an WinCron then it hides from the taskbar)
Version 0.4a
  better tcp delay proc performance
  found bug(WinNT): activating/hiding single cronwindows may not always work
  and may result in showing up the wrong cronwindow, so better use only the
  "show all"/"hide all" functions.
Version 0.4 
  improved parameter parser
Version 0.3
  added popup status
  added CronIco/TCP
Version 0.2
  added the "show all" and "hide all" popupmenu
Version 0.1
  added enumWindow & tray icon
  added tray hint
Last update 03.01.2003