[Toc][Index]

Using the Keystack


The Keystack overcomes two weaknesses of input redirection:  some programs 
ignore standard input and read the keyboard directly, and input 
redirection doesn't end until the program or command terminates.  You 
can't, for example, use redirection to send the opening commands to a 
program and then type the rest of the commands yourself.  But the Keystack 
lets you do exactly that. 
The Keystack sends keystrokes to an application program.  Once the 
Keystack is empty, the program will receive the rest of its input from the 
keyboard. The Keystack is useful when you want a program to take certain 
actions automatically when it starts.  It is most often used in batch 
files and aliases.  The Keystack is invoked with the KEYSTACK command. 
KEYSTACK depends on a program called KEYSTACK.EXE.  This file must be in 
the same directory as CMD.EXE.EXE, or in a directory listed in your PATH. 
 You don't have to take any special action to activate KEYSTACK.EXE; 
CMD.EXE will run it automatically when you use the KEYSTACK command.  If 
CMD.EXE cannot find KEYSTACK.EXE, the KEYSTACK command will display an 
error message. 
To place the letters, digits, and punctuation marks you would normally 
type for your program into the keystack, enclose them in double quotes: 


        [c:\] keystack "myfile"

Many other keys can be entered into the Keystack using their names.  This 
example puts the F1 key followed by the Enter key in the keystack: 


        [c:\] keystack F1 Enter

See Keys and Key Names for details on how key names are entered.  See the 
KEYSTACK command for information on using numeric key values along with or 
instead of key names, and other details about using the Keystack. 
The following command creates an alias that will run a FoxPro report 
called TIMEREP (it should be entered on one line): 


        [c:\] alias timerep `keystack "use times index times" Enter
              "report form timerep to print" Enter "quit" Enter & foxpro`

This command creates an alias called timerep which puts the following 
characters on the keystack: 
        the characters "use times index times" the Enter key's code the 
        characters "report form timerep to print" the Enter key's code the 
        characters "quit" and one more Enter key 
 The alias then runs the program FOXPRO which receives those characters 
 just as if you had typed them. 
 When you use the Keystack, remember that you must put the keystrokes into 
 the Keystack before you run the program that will receive them.  The 
 Keystack will hold the keystrokes until the program asks for them. 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs