How does the delay work?
Last updated: 20-Dec-04
Perhaps one of the confusing aspects of the program is, “just how does the delay work?”
Well... It’s actually fairly simple.
You start the computer (or Login)
The Delayed Startup Program loads
That’s the easy part... now the Delayed Startup program does the following:
- Open up the user’s file, retrieving the delayed items, and main delay
- Sorts the delayed items based on wait time (shortest-longest)
- Waits for X seconds (where X is the time that you enter or 30 by default)
- Waits for Y seconds (where Y is the delay amount for the first program)
- Executes program
- Waits for Z seconds (where Z is the delay amount for the second program)
- Executes second program
- and so on until all programs are executed
A bit confusing still? Well, below is an example with times listed for an actual run of the program:
2:25:49 PM Waiting for 30 seconds.
2:26:19 PM Main wait over.
2:26:19 PM Waiting for 5 seconds
2:26:24 PM Executing “C:\WINDOWS\system32\ctfmon.exe”
2:26:24 PM Waiting for 20 seconds
2:26:44 PM Executing “C:\Program Files\MSN Messenger\MsnMsgr.Exe /background”
So now you’re probably wondering how you can control the order of the programs being delayed. Well, it’s just a matter of selecting the delay.
If a program has a delay of 5 seconds, and another 6, the delay of 5 will go first, then the 6. So. The first program you want to run, give the smallest delay, and so on.
But what if you don’t want a large delay in between executions? After all, each delay is added to itself. Well, you can specify decimals in the delay. For example:
0.0, 0.1, 0.2, 0.3
1.0, 1.1, 1.2, 1.3
You can even go so far as:
0.001, 0.002, 0.003
So as far as you can tell, there’s practically no wait, but it’d be sorted and executed the way you want.
Of course, there’s still the compounding delay (first delay + second delay before program 2 is run) and the delay has to be the same for all of the items for it to work. So if you have 2 programs to run in a specific order, but have a 30 second wait for the first… you’ll have to put >30 second wait for the second.
However, you can “cheat” this depending on your circumstance. For example, let’s say you have 4 programs, 2 you really don’t care when they run (as long as they startup), the other 2 you need to run in an order – BUT you want them to run 1 minute after the program starts, and almost immediately after one another.
It is possible!
Alter the main program’s delay to 60. Then have the two programs have a 0.0 sec, 0.1sec, or 0 sec and 1 sec delay.
The program's delay time is considered an advanced property. You find it in the "Program Groups" menu, or by
clicking the properties button.