Purpose:
This program is designed to run as a background process and start up programs
at set times. It is scriptable so that the programs being started can be
lightly automated with keypress information.
Programming:
Each day of the week is on a separate tab, and each day has an associated data
grid. The data grids are sectioned as follows:
EXE Name:
Full path and program name and command line parameters passed in.
(e.g. c:\windows\notepad.exe myfile.txt)
Window Text:
The exact window title of the program you want to run. This is used to see
if the program is already running. If it is, it won't be started up.
(e.g. NotePad)
Hour:
What hour (0 - 23) to start the program.
Min:
What min (0 - 59) to start the program.
You can prevent the auto-loading of any given program by setting either the
hour or minute to an illegal value (e.g. 72 minutes, 25 hours, etc.) Otherwise
the total reading is in 24 hour format; i.e. hour = 20 min = 30 is 8:30 pm.
Script:
A user controlled set of keypresses to execute automatically after a program
starts can be specified here. See "Script Detail / Notes" below.
Program Startup:
Programs that are started by this program are given a 3 second "head start" to
allow them to initialize prior to any script keypresses being sent.
Programs that are already started up will STILL get scripts sent to them. The
Window Title is used to locate these already running programs.
Changing Data:
Data changes can be made at any time; when done just click the SAVE DATA
button on the GENERAL tab. To erase an entry, simply delete the EXE NAME
portion of it.
As above, you can leave an entry intact but force it to not execute by
setting the hour or min settings to an illegal value (e.g.
25 hours, 87 minutes, etc.)
Keypress Script Details / Notes
Scripts use essentially the same syntax as the "sendkeys" function from
Microsoft's VBA, using either literal keypresses or "bracket" codes as
in the following tables. In addition the use of the SHIFT, ALT, and CTRL
keys is supported. Each keystroke typically is separated with ( ; )
semicolons:
e.g. {TAB};{TAB};{%H)
(Press tab twice then press ALT-H.)
The semicolon also is where any delays take place as specified by the "script
delay" spin box on the GENERAL tab. You can set this to anything from 0 - 3000
millisconds between keystrokes. Therefore if the above example was set to using
300 mSecs between keystrokes, this is what gets done:
(Press Tab, wait 300 mSce, press Tab, wait 300 mSec, Press ALT-H)
Note that you
shouldn't try sending a semicolon as a literal in a string. The only place the
semicolon should be used is AS THE DELIMITER/DELAY.
Note that it is not an absolute that the semicolon is used, nor is is absolute
that it is used strictly between keystrokes. The semicolon is used to signal
a delay. However, in actual practice you will want to separate the majority
of keystrokes this way as you don't want to overrun the keyboard buffer.
An example of this is calling DOS and renaming a file as a scheduled item.
The EXE Name might be
c:\command.com
and the script may look like
ren; ;xyz.txt; ;zulu.txt.
This would allow multiple keys
between delays yet still not flood the buffer.
Code Tables:
| Key | Code
| ENTER
| {enter} or ~
| ESC
| {escape} or {esc}
| TAB
| {tab}
| BACKSPACE
| {backspace} or {bs} or {bksp}
| BREAK
| {break}
| CAPS LOCK
| {capslock}
| DEL
| {delete} or {del}
| DOWN ARROW
| {down}
| END
| {end}
| HOME
| {home}
| INS
| {insert}
| LEFT ARROW
| {left}
| NUM LOCK
| {numlock}
| PAGE DOWN
| {pgdn}
| PAGE UP
| {pgup}
| RIGHT ARROW
| {right}
| UP ARROW
| {up}
| F1 - F16
| {F1}, {F2}, etc.
| |
| To combine with | Precede the key code by |
| SHIFT | + (plus sign) |
| ALT | % (percent sign) |
| CTRL | ^ (caret) |
For example, "%{enter}" sends the code for ALT+ENTER. You can group keys with parentheses and precede the group with the key code for a SHIFT, ALT, or CTRL key. For example, the code "+(alluppercase)" specifies ALLUPPERCASE (but you can also simply use the uppercase letters ALLUPPERCASE without using the plus sign). To send a plus sign (+), a percent sign (%), a caret (^), or a pound sign (#) as literal text, enclose the character in braces. For example, to send a plus sign, use the instruction "{+}". You can also use braces to send parentheses.
Note
When sending key combinations that include the ALT key, make it a rule to send lowercase characters. For example, to open the File menu (ALT, F), use "%f." Using "%F" is equivalent to pressing ALT+SHIFT+F.
Limitations:
Scripts should be held to 30 keystrokes or less if possible. There are up
to 25 program starts allowed on a given day in this version.
Scripts may not use the semilcolon ( ; ) or pipe ( | ) characters as these
are used as delimiters by this program.
Download SKED.ZIP (212 k)
Source Code
(Borland Delphi) is
available. Email
us for details.