DOS PHANTOM V2.9 from P2 Enterprises ********************************************************************** ** See the CHANGES IN V2.9 section of this file for new features. ** ********************************************************************** DOS Phantom is a keystroke record-and-playback utility. Recordings can be of any length and can be edited after recording. Recordings can be played back at high speed or with delays. Playback can be scheduled for a time in the future or invoked with a hot key. A powerful script language is provided which incorporates file I/O, looping and branching, waiting for screen text, branching on program exit status, file I/O, pop-up windows and menus, and more. _______ ____|__ | (tm) --| | |------------------- | ____|__ | Association of | | |_| Shareware |__| o | Professionals -----| | |--------------------- |___|___| MEMBER INSTALLATION: Create a directory and unzip the PTM229.ZIP file into it. Example: C:\> MKDIR PHANTOM C:\> CD PHANTOM C:\PHANTOM> PKUNZIP ..\PTM229 If you have the PTM.EXE self-extracting archive file, do this instead: C:\> MKDIR PHANTOM C:\> CD PHANTOM C:\PHANTOM> ..\PTM DEMONSTRATION: Make sure you are in the directory containing the PHANTOM2.EXE and DEMO files. Then, type PHANTOM2 DEMO to run the demonstration. Now read the section in the PHANTOM.DOC file entitled "Before You Start" for more installation information. REGISTRATION: When you register, P2 Enterprises will send you a free DOS Phantom Quick Reference booklet. This booklet contains just about every- thing you need to use DOS Phantom without cracking the manual! You can register using Visa or MasterCard if you wish. See the file ORDER.FRM in this kit. DOS Phantom is: - A task automation tool - A tool for application integration (the process of making a group of different applications work together automatically) - A tool for creating self-executing demos (with looping and timeout features) - A software testing tool (including screen and print capture) - A substitute for .BAT files - A keystroke macro utility DOS Phantom recordings can be edited to include: - Pop-up text windows - Pop-up menus - Pauses for user input - Branching based on: - menu selection - program exit status - appearance of a text string on the screen - String variables - Commands to find, read, and write text files - Looping - Play music DOS Phantom recordings can be scheduled for playback - daily - weekly - once only DOS Phantom recordings can also be played back using hot keys. The included Scraper utility allows you to take output displayed by one program and play it into another program as if it were being typed at the keyboard. And the use of Scraper can be recorded like any other keyboard activity. DOS Phantom provides facilities similar to the scripting languages of popular communications programs such as Procomm and CrossTalk, but applied instead to *your* computer rather than the one you are connected to over the phone line. You can even use DOS Phantom to control a Procomm session instead of using Procomm's scripting facility. A demonstration recording and complete Users Guide are included. DOS Phantom is shareware. The registration fee is $40.00. All features are present and active in the shareware version. CHANGES FROM PREVIOUS VERSIONS Version 2.1 of DOS Phantom fixes a bug introduced in V2.0 which prevented ALT and CTRL keys from playing back correctly into some application programs, including CIM (CompuServe Information Manager). Version 2.2 is a redistribution of V2.1 which corrects the fact that obsolete versions of the TXT2PTM and PTM2TXT programs were included in PTM221.ZIP. Version 2.3 adds support for the PHANTOMDIR environment variable, and support for scheduled playback and hot-key initiated playback with the programs SCHEDULE and HOTFILE. Version 2.4 fixes two bugs reported just after version 2.3 was released. Version 2.4 of PTM2TXT fixed a bug which caused the timings of certain keystrokes (those with scan codes under 10h) to be set to zero. Version 2.4 of PHANTOM2 fixes a problem where keystrokes were missed during auto-repeat with typematic rates set above 15. Minor changes were made to the documentation. V2.4 also introduces the MAKEPTM program for producing DOS Phantom recordings from plain ASCII text files. V2.5 fixes a bug in MAKEPTM which prevented processing files without at least a 1 second line delay and incorporates changes to allow chaining to another recording during playback. V2.6 adds support for the F11 and F12 keys and their SHFT, CTRL, and ALT variants and fixes a bug which caused the schedule to be corrupted when the default RECORDNG.PTM file was used for recording. V2.8 replaces the keyboard NumLock, ScrollLock, CapsLock, and Insert keys to their pre-playback state when recording terminates unless the $RetainKybdFlags directive is contained in the playback file. (The $RetainKybdFlags directive has no arguments and may be placed anywhere in the playback file.) V2.8 also fixes a bug which caused scheduled playbacks with days or dates specified other than the first in the list to be ignored. V2.8A of PHANTOM2.EXE correctly reports errors when invalid hot key combinations are specified. V2.8B of PHANTOM2.EXE correctly processes unused extended keyboard codes (actually used by some products) which previously caused erroneous directive processing to occur. V2.8C fixes a bug in which the use of ALT and CTRL hot keys with HOTFILE caused keyboard to appear dead when playback completed. V2.8A of TXT2PTM.EXE correctly processes delays specified as MM:SS.CCC. V2.8 incorrectly processed time delays of over approximately 5 minutes. V2.8A PTM2TXT.EXE correctly processes unused extended key codes and their translation as . CHANGES IN V2.9 V2.9 adds support for the $DisableCtrlAltDel, $EnableCtrlAltDel, and $Reboot directives which allow you to reboot the computer from a Phantom playback and prevent Ctrl-Alt-Del from rebooting the computer during critical sections of a playback. The $DisableKybd directive disables all keyboard input. $Enablekybd re-enables keyboard input. An optional parameter of $DisableKybd is a single key which, when depressed, will re-enable the keyboard. Valid keys for the $DisableKybd parameter are letters and numbers only. This is to allow $DisableKybd to be used in situations it is desired to protect against inadvertant key depressions, but where it is necessary to re-enable the keyboard manually. The new $Sleep directive behaves just like the $Pause directive, except that the timer is not reset after each keystroke as it is with $Pause. $Sleep has one parameter, the number of seconds to sleep. The maximum number of seconds for all directives which accept seconds is 3600 (1 hr). The commands $MatchAt, $MatchTo, and $MatchFrom have been added. The syntax of the new Match commands is: $MatchAt r,c n text $MatchTo r,c n text $MatchFrom r,c n text where r,c is the row and column number (1,1 is the upper left corner) n is the timeout is seconds text is text to match $MatchAt only looks for the text at the row and column specified. The text must begin at that screen position for the match to succeed. $MatchAt accepts -1 as the timeout value. This results in a single test of the screen location (effectively a timeout of zero). A timeout of -1 may not be used with the other $Match directives. $MatchTo searches for the text anywhere before (up and left of) the row and column specified. $MatchFrom searches for the text anywhere after (down and to the right of) the row and column specified. V2.9 adds the F11 and F12 keys and their SHIFT, ALT, and CTRL variations as possible hot keys to the HOTFILE program. V2.9 fixes an unreported bug in which control characters were erroneously played back when references to uninitalized command line parameters ($1-$9) were made. V2.9 adds the command line switch /T, which allows you to specify a "trigger" value for recording file writes. Normally, DOS Phantom writes to the recording file after every 32 keystrokes. Using /T, you can specify any number of characters between 1 and 32 after which writes are to occur. For example, to cause the recording file to be updated after every character, you would include /T=1 on the DOS Phantom command line. Small trigger values may result in an undesirably large amount of disk activity. V2.9 increases the maximum number of scheduled playbacks from 16 to 32. In the case when two or more playbacks are scheduled for the same time (e.g., 08/12/93-16:00 and Thu-16:00), the one appearing first in the SCHEDULE LIST display is executed, and any other playbacks scheduled for that time are ignored. V2.9 adds the command line switch /N which places DOS Phantom in autonomous mode. When in autonomous mode, DOS Phantom ignores commands issued using the PHANTOM2.EXE program and hot keys defined using HOTFILE. Scheduled playbacks defined with SCHEDULE are honored if recording or playback is not in progress at the scheduled time. The following command line DOS Phantom in memory, disables the attention hot key, the mode display, and sounds, begins recording into file file KEYSTROK.LOG, and places DOS Phantom in autonomous mode. Once this is done, DOS Phantom may not be removed from memory using PHANTOM2 and recording cannot be stopped. C:\> PHANTOM2 /R/N/S/M/K=NONE/I KEYSTROK.LOG The P2FLUSH.EXE program, when executed, causes DOS Phantom to flush the record buffer to disk. P2FLUSH is effective even when DOS Phantom is operating in autonomous mode. V2.9 adds support for 9 string variables S1-S9. To include the contents of a string variable in playback, the string variable is prefixed with a dollar sign, similar to command line parameters. A number of directives are available for dealing with string variables: $Get Sn r,c len reads len chars from screen row r column c into string variable Sn. $Read Sn reads a line from file into string variable Sn. $Write Appends to . may contain string and command line variables, for example: "parm1=$1, string variable 3=$S3". (The quotation marks are not required syntax.) $Close Closes the file currently open for read, if any. Subsequent reads of the file will begin at the start of the file. $Assign Sn Assigns to string variable Sn. may contains string and command line variables. $IfEqual