running as a service with a tray icon is a more elegant solution than using a scheduled task for several reasons:
Thanks for the explanation. I think some of the GUI wrappers have scheduling, perhaps you can take a look at those (see the "contributed by other people" chapter on the JkDefrag homepage).