Description

-----------

SCRNDISK is a memory resident screen snapshot utility. You can use SCRNDISK to capture the contents of a 40 or 80 character wide text screen to disk. Each time SCRNDISK's hotkey combination is pressed, SCRNDISK will append the image of the current screen to the file that you have selected. SCRNDISK works with text-modes only, it will not capture graphics-mode screen images. ANSI graphics, however, since they are displayed in text-mode, can be captured with SCRNDISK.

Just before making itself resident, SCRNDISK requests the name of the file to which you want it to write the screen snapshots. Any valid DOS filename may be used, in the standard format for file identifiers, "drive:path\name.ext". Specification of the "drive" and "path" is optional, but recommended. The maximum permitted length of the filespec is 64 characters. Examples of valid filespecs follow:

C:\PROJECT\DOCUMENT\SCREENS.IMG

\PROJECT\DOCUMENT\SCREENS.IMG

DOCUMENT\SCREENS.IMG

SCREENS.IMG

The last example would create and append to the file named SCREENS.IMG in the current working directory, whatever that happens to be each time that SCRNDISK is invoked. The first example would cause SCRNDISK to always append to the file named SCREENS.IMG in the subdirectory \PROJECT\DOCUMENT on drive C, no matter what the current working directory happens to be each time SCRNDISK is invoked. This "complete" form of the file specifier is recommended, to avoid ending up with lots of files scattered among your various disks and subdirectories.

Note that if the file does not yet exist when SCRNDISK is invoked, it will be created automatically. SCRNDISK will append each snapshot to the end of the file, so a single file will, in general, contain images of more than one screen; each image occupies 25 lines of the file. If the "End-of-Screen" mark facility is active (see description of the /MarkOn switch, below), an additional 3-line marker will be appended after each screen image. If the file to which you are writing screen images is erased, moved, or renamed, SCRNDISK will simply create it again when the next snapshot is requested.

Installing SCRNDISK

-------------------

At its simplest, installation may be accomplished by merely typing "SCRNDISK /INSTALL" (without the quotes) at the DOS prompt. If you choose this method of installation, SCRNDISK will display its banner and ask you to enter the name of the screen image file.

If only a filename, without drive and path identifiers, is given, the screen image file will be created in the current drive and subdirectory. In fact, if you simply press the <Enter> key without typing any filename at all, the default filename, SCREEN.IMG, will be used, and the file will be created in your current working directory. I recommend that you specify a full pathname so that you may change your current drive and working directory freely, while always writing to the same file. This will avoid littering your subdirectories with screen image files.

Although SCRNDISK does not accept a filename from its command line, input can be redirected from a file. You may create a response" file containing only the filespec of the file you want SCRNDISK to use. Type the filespec into your response file exactly as you would if entering it at the "File:" prompt that SCRNDISK normally displays upon installation. Then, when you install SCRNDISK, use DOS' ability to redirect input so that your file is used in place of keyboard input.

For example, suppose you want to automatically load SCRNDISK when you start your computer, and you want the file to which SCRNDISK writes to be named SCREEN.IMG in the \PROJECTS subdirectory of your hard drive. In other words, the file that is to receive your screen snapshots will be named C:\PROJECTS\SCREEN.IMG. To accomplish this, you can create a small, plaintext file, containing the single line, C:\PROJECTS\SCREEN.IMG. This "response" file can be given any name you wish. If you name it SCRNDISK.INI ("INI" for "initialization") and put in the C:\UTIL subdirectory, along with SCRNDISK.COM, you may then include in your AUTOEXEC.BAT file the line:

C:\UTIL\SCRNDISK /INSTALL < C:\UTIL\SCRNDISK.INI

This will cause the pathname contained in SCRNDISK.INI to be accepted by SCRNDISK at the time it makes itself resident.

Enabling and Disabling SCRNDISK

-------------------------------

When resident, SCRNDISK may be in one of two possible states, "Enabled" or "Disabled". When enabled, SCRNDISK will copy the current screen image to the specified file, each time that its special hotkey combination has been pressed. In the disabled state, SCRNDISK ignores its hotkey combination, and is essentially dormant. By default, SCRNDISK installs itself in the enabled state.

If you prefer, you can override the default by specifying on the command line that SCRNDISK should start in the disabled state. For example, if place the command

SCRNDISK /INSTALL /DISABLE < C:\UTIL\SCRNDISK.INI

in your AUTOEXEC.BAT file, you may leave SCRNDISK disabled until you want to start using it, at which time you can enable SCRNDISK by typing "SCRNDISK /ENABLE" at the DOS prompt.

By the way, each of SCRNDISK's command switches may be abbreviated to their minimum recognizable length, which is usually just the first letter of the command. You may, for example, shorten "/ENABLE" to "/E", "/DISABLE" to "/D", and so on. In fact, either "/" or "-" may be used, and the case, upper or lower, of the switch is ignored, so "/E", "/e", "-E", and "-e" are all equivalent forms of the "/ENABLE" command. Thus the following command is equivalent to the previous example:

C:\UTIL\SCRNDISK /I /D < C:\UTIL\SCRNDISK.INI

Another command switch that you might find useful during installation (or after, for that matter), is the /KEYS command. By default, SCRNDISK's hotkey combination is the three-key chord, "Ctrl-LeftShift-RightShift". You may prefer a different hotkey combination. Any two or more of the keys {Alt, Ctrl, LeftShift, RightShift} may be used to invoke a screen dump. To change SCRNDISK's hotkey combination, specify the first letters of each of the desired keys after the /KEYS switch; be sure to leave a space, however, between /KEYS and the list of keys. To expand upon our previous example, one can install SCRNDISK in the enabled state with the hotkey combination Ctrl-LeftShift, by the following statement in AUTOEXEC.BAT:

C:\UTIL\SCRNDISK /INSTALL /KEYS CL < C:\UTIL\SCRNDISK.INI

--

^

|__ The "CL" means

"Ctrl-LeftShift"

(Note: "CL" not "C L")

or, this could be shortened to

C:\UTIL\SCRNDISK /I /K CL < C:\UTIL\SCRNDISK.INI

which happens to be my own, personal, unbiased recommendation.

Command Options

---------------

SCRNDISK recognizes the following switches:

/Install - This causes SCRNDISK to load itself into	memory and remain resident, awaiting your further commands. You may specify other command switches as well at the same time.

/Uninstall - SCRNDISK will restore interrupt vectors 09H,	13H, and 28H (these are the interrupts that it monitors) and remove itself from memory. To avoid leaving "holes" in memory (such memory will be unavailable to DOS until you reboot your computer, an undesirable state of events indeed),it is recommended that you un-install memory resident software in the reverse of the order in which you loaded it. If you load program ONE then program TWO and then program THREE, you should (if you want to uninstall ONE, for example) first uninstall THREE, then TWO, then ONE.

If SCRNDISK finds that any of its three interrupts have been "stolen" from it, it will tell you so, and abandon its attempt to uninstall itself, but will leave itself in the Disabled state. This may happen if, after you load SCRNDISK, another program is loaded which points those interrupts to itself, but doesn't restore them when it is uninstalled, or if you try to uninstall SCRNDISK before uninstalling the other

program first. SCRNDISK will still be resident in such a case, and will continue to accept commands as usual. To uninstall it,however, the program(s) that were installed after SCRNDISK must first be removed, then the command "SCRNDISK /UNINSTALL" may be re-issued.

/Enable - Pressing SCRNDISK's hotkey combination, when	SCRNDISK is in the Enabled state, will cause the contents of the current screen to be copied to the screen image file.

/Disable - When in the Disabled state, SCRNDISK will	remain installed, but will ignore its hotkey combination. It may be re-enabled, by issuing the command "SCRNDISK /ENABLE" from the DOS prompt.

/MarkOn - An End-of-Screen marker will be automatically	appended to each screen image as it is captured, to permit easy identification of individual screens when reviewing the screen image file later.

/MarkOff - Each screen image will be immediately	appended to the previous one, with no additional text in between. This is useful for capturing screens that contain text that is intended to be continuous, for example, successive screens of a single spreadsheet.

/Keys {ACLR} - This can be used to change SCRNDISK's hotkey	combination to any two, three, or four of the special shift keys, Alt, Ctrl, LeftShift, RightShift. The space after the "/Keys" is required (don't type the curly braces).

The initial defaults are /Enable /MarkOn /Keys CLR.

How SCRNDISK Works

------------------

SCRNDISK points the BIOS interrupt 9H vector to itself so that it can intercept all keyboard activity. When a key is pressed, SCRNDISK checks whether a screen dump is being requested (i.e., was SCRNDISK's hotkey combination pressed). If so, SCRNDISK stores the text presently on the screen in a buffer, appends a carriage return and linefeed to each line of text, and then writes the contents of the buffer to disk. If keys other than SCRNDISK's hotkey combination were pressed, SCRNDISK simply passes the interrupt on to the original BIOS keyboard handler.

SCRNDISK will work only for 40 or 80 character wide video text modes. It is designed to work properly with MDA, CGA, EGA, and VGA. SCRNDISK is reasonably well-behaved, and should coexist peacably with most other well-behaved programs. If there is a hotkey conflict between SCRNDISK and another memory-resident program, try changing SCRNDISK's hotkey combination using the /KEYS command switch.

Before installing itself, SCRNDISK checks whether it is already resident. It will not install more than a single copy of itself in memory.

For Batch File Writers Only

---------------------------

If you'll be invoking SCRNDISK from a batch file, you can check the result of your command(s) by testing the special variable, ERRORLEVEL, which is set by SCRNDISK to indicate the result (success, failure, or current status) of the command. SCRNDISK interprets your intentions differently, depending on whether or not any arguments (command switches) were entered on the command line. If SCRNDISK is invoked (at the DOS prompt) with no arguments, it is interpreted as a "status request". If SCRNDISK is invoked with one or more command line arguments, it is taken to be a request for action, e.g., Install, change status to Disabled or to Enabled, turn the End-of-Screen mark facility on or off, or change the hotkey combination.

Assuming that SCRNDISK succeeded in carrying out your request, the environment variable ERRORLEVEL is set to one of three possible values:

1 = SCRNDISK is not currently installed.

2 = SCRNDISK is installed and DISABLED.

3 = SCRNDISK is installed and ENABLED.

There are two values of ERRORLEVEL that indicate that SCRNDISK encountered problems during processing:

100 = Bad command line arguments.

120 = Disk I/O error (creating or opening the screen image file).

If one of the above errors occurs, SCRNDISK will exit without taking further action.

Note that requests to INSTALL when SCRNDISK is already resident, or to UNINSTALL when SCRNDISK is not resident, are treated as instances of an improperly formed command line, as are requests for "incompatible" options, namely, INSTALL+UNINSTALL, ENABLE+DISABLE, ENABLE+UNINSTALL, and KEYS+UNINSTALL. In each of these cases, SCRNDISK will exit with ERRORLEVEL=100.

Licensing Agreement

-------------------

SCRNDISK is being distributed as a way of requesting people to remember those who are in need of assistance. It is copyrighted. Individuals who use SCRNDISK for their own personal projects are not required to register. Corporate, governmental, and educational institutions must register to comply with the licensing agreement.

Registered users will be informed of any major upgrades to the program.

Please note the version number in any correspondence. The current version is 1.21, as of July 30, 1991. You can find SCRNDISK's version number in the banner it displays when you invoke it from the DOS command line. Note that merely typing SCRNDISK at the DOS prompt will cause SCRNDISK to display it's banner, as well as whether it is currently installed, enabled or disabled, whether the End-of-Screen mark facility is on or off, and the name of the file to which it will write when a screen snapshot is requested.

SCRNDISK may be distributed FREE of all charges via BBS upload or any other method. It may not, however, be sold or rented without my express written permission. In other words, no fees may be imposed or collected for its distribution or use, other than those specified in this agreement. SCRNDISK is copyrighted! Please include this file, SCRNDISK.DOC, in all distributions.

Commercial Use License

----------------------

The commercial use fee is $5 per CPU, or $500 for unlimited use of SCRNDISK within your organization.

To register SCRNDISK for commercial use, send a contribution for the appropriate amount to one of the following organizations:

American Cancer Society

American Heart Fund

American Lung Association

Coalition for the Homeless

Multiple Sclerosis Society

Partnership for the Homeless

The United Way

I will register your copy of SCRNDISK upon receipt of either (a) a copy of your cancelled check, (b) a copy of your receipt from the beneficiary organization, or (c) a check made out to the beneficiary organization (not to me), which I will then forward to the beneficiary organization.

The Last Word

-------------

I appreciate comments, suggestions, and bug reports.

*****************************************************************

* *

* Ken Bell * 232 East Sixth Street * New York, NY 10003 *

* *

* (212) 475-4976 *

* *

*****************************************************************