Command Post 3.3 -- A Windows Menu Application Copyright 1988, Morrie Wilson Command Post is a MS Windows application designed to allow users to easily personalize the MS-DOS Executive control window. Command Post allows users to easily add Menu and Submenu items to the main MS-DOS Executive menu bar, and to execute desired applications when a menu item is selected. Table of Contents Licensing and Duplication Information Duplication Restrictions....................... 4 General Licensing Information.................. 5 Shareware Licensing Information................ 6 Shareware Update Information................... 7 Commercial Licensing Information............... 8 Command Post An Introduction................................ 9 Installing Command Post....................... 10 Using Command Post Getting Started with Command Post............. 11 Command Post Commands......................... 12 The Windows directory menuitem............. 12 The CmdPost menuitem....................... 13 The Option Selection Dialog Box............ 14 System Menu Extensions........................ 15 Command Post HotKey........................... 15 Command Post Menus Making Your Own Menus......................... 16 A Simple Sample Menu.......................... 18 Command Post Keyboard Interface............... 20 Command Post 3.3 2 Notes Notes - Program Not in Path................... 22 Notes - Reloading Menus....................... 23 Notes - Automagic Directory Updates........... 24 Notes - MS-DOS View Menu selections........... 25 Appendices Appendix A - Special Thanks................... 26 Appendix B - Command Post Version Information. 27 Appendix C - Other Window Applications........ 28 Command Post 3.3 3 Licensing and Duplication Information Duplication Restrictions Command Post is a shareware product. It may be freely copied and distributed for evaluation as long as four basic rules are followed. These rules are: 1) The program and this documentation may not be modified in any way. 2) A copy of this documentation is provided with the program. 3) No charge, other than a media and handling charge, (not to exceed $5.00) is made. 4) Users of the program are encouraged to purchase a license for its use. If a copy of this program is retained, an obligation to purchase a license for its use is incurred. A license for use of this program costs only $15.00. Command Post 3.3 4 General Licensing Information Command Post may be either licensed as a shareware or as a commercial program. The shareware option is for general use by private individuals and most businesses. The commercial option is available to businesses whose accounting systems cannot adapt to the shareware software distribution method. A purchase of a shareware license assumes that a copy of the software has already been obtained, and that the user wishes to retain the copy for future use. Licensed shareware users may purchase an update at any time for a $5.00 handling fee. If you wish to purchase a share- ware license and do not have a copy of this program, be sure to purchase an update at the same time. With the purchase of each commercial license, a copy of the software and documentation will be shipped to any U.S destination. Command Post 3.3 5 Shareware Licensing Information In order to purchase a shareware license, enclose the following items in an envelope and mail to the address given below: Enclose: 1) A check for $15.00 2) The serial number of the copy of Command Post being used (See the About... display from the CmdPost menuitem for this information) 3) Name and address Mail to: Wilson WindowWare 3377 59th SW Seattle WA 98116 One license per usable copy of Command Post is required. Archive and backup copies do not count. Please note that no copy of the software will be sent to you. If you want or need the latest copy of Command Post, be sure to also purchase an update as explained later on. Please note that if you purchased a disk containing this software from a public domain/shareware software distributor you have paid the media and handling charges as permitted in the "Duplication Restriction" section. You have not purchased a license. A canceled check made out to Wilson WindowWare is the standard proof of a paid license. The accuracy of the information supplied here and the fitness of the Command Post program for any purpose may change without notice, and should not be construed as any kind of a commitment. No responsibility is assumed for any errors or problems that may be encountered with use of this product. There are no warranties whatsoever associated with this product. Command Post 3.3 6 Shareware Update Information In order to purchase an update to Command Post, (assuming you have a shareware license) enclose the following items in an envelope and mail to the address given below: Enclose: 1) A check for $5.00 2) The serial number of the copy of Command Post being used (See the About... display from the CmdPost menuitem for this information) 3) Name and address Mail to: Wilson WindowWare 3377 59th SW Seattle WA 98116 The following materials will be shipped within 15 days: 1) The Command Post software on a 5 1/4" DD diskette. (3 1/2" versions are not yet available, however you may copy the program to 3 1/2" diskettes if desired.) Command Post 3.3 7 Commercial Licensing Information In order to purchase the commercial versions of this package, enclose the following items in an envelope and mail the the address given below: Enclose: 1) A check for $40.00 2) Company name and shipping address Mail to: Wilson WindowWare 3377 59th SW Seattle WA 98116 The following materials will be shipped within 15 days: 1) The Command Post software on a 5 1/4" DD diskette. (3 1/2" versions are not yet available, however you may copy the program to 3 1/2" diskettes if desired.) 2) Printed copy of applicable documentation, with softcover binder. 3) Shipping paperwork identifying contents of package. One license per usable copy of Command Post is required. Archive and backup copies do not count. The accuracy of the information supplied here and the fitness of the Command Post program for any purpose may change without notice, and should not be construed as any kind of a commitment. No responsibility is assumed for any errors or problems that may be encountered with use of this product. There are no warranties whatsoever associated with this product. Command Post 3.3 8 Command Post An Introduction Command Post is a Microsoft Windows application designed to allow users to easily personalize the MS-DOS Executive control window. Command Post allows users to easily add Menu and Submenu items to the main MS-DOS Executive menu bar, and to execute desired applications when the added menuitems are selected. The MS-DOS Executive window may continue to be used as always, it just has a few new menuitems on it now. With Command Post you may add any number of new menuitems, and each of these menuitems are only a single mouse click away! Command Post Menuitems are also accessible via keyboard commands just like any other menuitem in Microsoft Windows. Command Post can be instructed to prompt you for parameters for your applications. You can supply the prompting question, and even a default answer if you choose. Command Post menus are created using the Notepad Editor, or with any other text editor that can save a plain ASCII file. Special menu editors are not required. The Command Post menu file has an easy and straightforward syntax, and can be re-loaded into Command Post after modification. Command Post 3.3 9 Installing Command Post Command post is easily installed. Simply copy the three files, CMDPOST.EXE, CMDLIB.EXE and CMDPOST.MNU, to your windows directory. CMDPOST.EXE is the Command Post application file. When it is invoked, as discussed in a following section, it attempts to locate and load the Command Post menu file, CMDPOST.MNU. CMDLIB.EXE is not meant to be executed by the user. It contains window library routines that are invoked by CMDPOST.EXE. The sample CMDPOST.MNU file supplied with Command Post will get you started defining you very own Command Post menus. Command Post 3.3 10 Using Command Post Getting Started with Command Post Command Post may be invoked with any of the methods that follow: 1) Via the MS-DOS menu in Windows. If Command Post is invoked this way, it will take over the MS-DOS Executive window, modify the menu bar, installing your personalized menuitems, and then allow you to proceed. 2) You may modify your WIN.INI file, adding CMDPOST.EXE to either the RUN= or the LOAD= sections. This will automatically start Command Post whenever you start Windows. Special Note: When started this way, the sense of the LOAD= and RUN= selections are reversed. If CMDPOST.EXE is specified on the RUN= line, then it will be loaded as an icon, whileas if it is specified on the LOAD= line, it will be loaded as a window. 3) You may also type WIN CMDPOST at the MS-DOS prompt. Command Post will be started as an icon. Initially, when you start Command Post you will see a simple extension to the MS-DOS Executive window, as defined by the CMDPOST.MNU file that is shipped with Command Post. This simple menu allows you access to the desktop accessories and other applications shipped with the standard version of MIcrosoft Windows. After reading the section on defining your own menus, you can edit CMDPOST.MNU to add you own menuitems. You may have up to four Command Post windows at one time, (although I can't see any reason for more than two). Each Command Post Window will have its number in the window title bar (e.g. <#1 Command Post> ). Command Post 3.3 11 Command Post Commands Command Post installs two of its own menu items onto the normal set of MS-DOS menuitems. These menuitems are Windows and CmdPost. The Windows directory menuitem The Windows directory menuitem, when selected, will popup a submenu filled with the windows names of the various applications that are currently running. By merely selecting one of the window names, Command Post will immediately transfer you to that window. This command is particularly handy for handling overlapped windows because a small window can easily get lost beneath a multitude of other windows and become difficult to find. Command Post 3.3 12 The CmdPost menuitem The CmdPost menuitem has four submenu items, as discussed below: Confirm Command Post Selections - This item is a toggle. If it is checked, then any selection from your personalized menu will appear in a dialog box prior to execution. You may modify any of the fields and then run it. An option to cancel is also present. If confirm is on, the window title bar will so indicate. Option Selections... - Selection of this menuitem will cause an option selection dialog box to be displayed. See the section on the Option Selection Dialog box below. Reload Command Post Menus - Selection of this item will cause the Command Post menu to be rebuilt from the current contents of the CMDPOST.MNU file. This command is used to reload the Command Post menu after you make modifications to the menu file with an editor. If you use more than one Command Post window, please see the Notes section below. About Command Post... - Selection of this item will cause a display of the Command Post copyright notice and additional information. Command Post 3.3 13 The Option Selection Dialog Box The Option Selection Dialog box allows you to specify the three Command Post options. These are: 1) The automatic directory display update. When this menu box is checked, the MS-DOS directory display will be updated as soon as a selected Command Post window becomes active. If this box is not checked, the user must select one of the Disk Drive icons on the display in order to update the directory display. 2) The Start User Menu on New Line. When this box is checked, the user definable menu items will be displayed on a new menu line. If this box is not checked, the user menu items will simply be a continuation of the main MS-DOS and Command Post menu line. Users with only a few menu items may prefer to have a single menu line. 3) Return to original directory. When this box is checked, changing directories and starting up an application will not change the current directory displayed in the MS-DOS/Command Post window. If this box is not checked, the directory display will be the same as the directory specified in the Command Post menu, as long as it is on the current drive (as highlighted at the top of the window). All the Command Post options are Global. This means that the option selections apply to all Command Post windows, not just the current window. If an option is enabled or disabled for one Command Post window, it is also enabled or disabled for ALL of them. Command Post 3.3 14 System Menu Extensions One item has been added to the system (ALT-SPACEBAR) menu. It is the "End Windows Session" command. The "End Windows Session" menuitem is identical the the END SESSION menuitem in the MS-DOS Executive SPECIAL menu. They both first ask you to confirm that you really want to exit windows, and if you do, then all running applications are queried as to whether or not this is a good idea. E.G. Editors with unsaved data may ask you whether or not you wish to save your data, discard it, or perhaps even cancel the END SESSION process. Command Post HotKey The Command Post HotKey, CONTROL-SHIFT-ESCAPE, will transfer control to Command Post from any other application window. If you are running multiple Command Post windows, control will be transferred to the lowest numbered Command Post available. Command Post 3.3 15 Command Post Menus Making Your Own Menus Command Post uses a file called CMDPOST.MNU to build your personalized menus. The CMDPOST.MNU file normally resides in your \WINDOWS directory next to the CMDPOST.EXE file. In order to add to the default menu shipped with Command Post, or to modify your menu as your needs change, simply edit the CMDPOST.MNU file with the Notepad editor (or any other plain ASCII editor). Take a moment to examine the contents of CMDPOST.MNU. Its structure is actually very simple. There are only 4 types of entries. These types are: 1) Comments. Blank lines and any line with a single quote mark in the first column (column 1) is considered a comment and is ignored by Command Post. 2) The Main Menu Titles. Main menu titles are the menu headings displayed on the menu bar. These main menu titles MUST start in the first column (column 1). Although Command Post allows these main menu titles to be rather long, you are advised, for aesthetic reasons, to keep the main menu titles short. One or two words should be sufficient. 3) The Popup Menu Titles. Popup menu titles comprise the menus that popup every time a main menu title is selected. The popup menu titles MUST start in the second column (column 2) and may be long, although, for aesthetic reasons again, should be limited to about 30 characters or less. Please note that for popup menu titles, the first character of the line MUST be a space, with the first letter of the popup menu title starting in column 2. Command Post 3.3 16 4) The menu action lines. For each popup menu title, there are a pair of menu action lines. The first line of the pair specifies the initial directory (or path), and the second line specifies the application and any parameters that may be required. These two lines MUST BE PRECEDED BY AT LEAST TWO SPACES, or a TAB character. (All these spaces, or lack of them, are used by Command Post to tell these various kinds of lines apart.) Initial Directory Specification: The first line of the pair specifies the initial directory, and may be preceded by a disk drive identifier. If you desire to use the currently logged directory, use a period "." for the directory specification. Application Specification: The second line of the pair is used to specify the desired application, and any parameters that may be desired. This line can get pretty fancy, but we will keep it simple for a bit more. One thing to remember though, is that your applications name MUST include the three letter suffix (.EXE, .COM, or .BAT). Command Post 3.3 17 A Simple Sample Menu Now that we got the basic menu formats defined, lets look at a sample menu to see what all these specifications really mean. Examine the simple menu below: Desktop Get Windows Clock . clock.exe Get Calendar . calendar.exe Word Processing Get Notepad Editor . notepad.exe Get Windows Write . write.exe This simple menu has two main menu headings, "Desktop" and "Word Processing". If the user selects the "Desktop" menu heading, a popup menu containing two items "Get Windows Clock" and "Get Calendar" will appear. On the other hand, if the user selects "Word Processing" instead, a different popup menu containing "Get Notepad Editor" and "Get Windows Write" appears instead. If the user were to select the "Get Notepad Editor" entry, Command Post would go to work. Since the subdirectory line consists solely of a period, this indicates to Command Post that the current subdirectory is to be used and no change of subdirectories is to occur. The application line has the filename of the Notepad Editor application, NOTEPAD.EXE, with no parameters. Command Post will issue the commands to load and execute the NOTEPAD.EXE file. In a few seconds, the Notepad Editor appears on the screen. Command Post 3.3 18 An Ample Sample Menu Now that we have seen the basic structure of a Command Post menu, let's explore them some more. In this example we will just use a single main menu heading, but fully flesh out the subdirectory and parameter possibilities Edit Various Things Edit Command Post Menu c:\windows notepad.exe cmdpost.mnu Write a letter to Home c:\letters write.exe ?Who the letter is for?Mom The first of the popup menu options above shows a simple way to add in a command to allow easy editing of the Command Post menu file. First of all, the initial directory is set to C:\WINDOWS, which is the suggested home for the CMDPOST.MNU file, and then the Notepad Editor is invoked to edit the menu file. The second example shows an example of a Command Post Prompter. You will be prompted with a dialog box which states: Please Enter: Who the letter is for And is followed by an input box with the suggested default answer already set to "Mom". Command Post 3.3 19 Command Post Keyboard Interface If a keyboard interface (i.e. the underlined characters Windows uses to assist those without mice) to the menus is desired, it is quite simple to add. Just put an ampersand (&) in front of the letter in your menu name that you would like to use for your keyboard interfaces. These letters will appear in the menus as underlined characters, and thus you may use ALT key combinations to access your menuitems. In order to keep things simple, try (very hard) not to have duplicate underlined letters in your main Bar Menu. In addition, also try not to have duplicate underlined letters within a Submenu. (If you have duplicate letters identifying menuitems, then Windows will toggle between them, and Enter must be hit in order to select the desired one) P.S. In your Bar Menu, do not use F, V, S, W, or C as your keyboard interface characters, as those letters are used either by the MS-DOS executive or by Command Post itself. Below is a sample menu with the keyboard interface defined: &Desktop Get Windows Cloc&k . clock.exe Get &Calendar . calendar.exe &Word Processing Get &Notepad Editor . notepad.exe Get Windows &Write . write.exe Command Post 3.3 20 Command Post Prompter Details The Command Post Prompter becomes activated if the first character of the parameter string is a question mark "?". Everything following the question mark, up to the next question mark, if any, is assumed to be part of the question. If a second question mark is found, everything after the second question mark is used for the default answer. If there is nothing after the first question mark, a stock question is used. See below for examples of all the possibilities and the results they provide. Prompt String : ? Question : Please Enter: : Parameters for selected application Default : Prompt String : ?? Question : Please Enter: : Parameters for selected application Default : Prompt String : ?Info for this application Question : Please Enter: : Info for this application Default : Prompt String : ?Data for the other application?1 2 3 4 5 Question : Please Enter: : Data for the other application Default : 1 2 3 4 5 Prompt String : ??Jack and Jill Question : Please Enter: : Parameters for selected application Default : Jack and Jill Command Post 3.3 21 Notes Notes - Program Not in Path. The examples so far have assumed that the selected application can be found either in the initially selected subdirectory, or someplace defined in the MS-DOS PATH statement. Although this does tend to make things easier, it is not required. The application may be preceded with the complete path specification to it if desired. E.G. &Run Various Things Run &Obscure Program Not In Path \set\desired\path c:\obscure\subdir\obscure.exe assorted parameters Command Post 3.3 22 Notes - Reloading Menus. A modified CMDPOST.MNU may be reloaded by simply selecting the Reload menuitem in the Command Post submenu. All Command Post windows use the same menu. If you have several Command Post windows active, and you select the Reload menuitem on one of them to reload the menu, the menu on the current Command Post window will change immediately. The menus on the other Command Post windows will not change immediately, but will update when you activate the window (e.g. mouse click). This may be disconcerting at first, but really is not too bad because: 1) Your menus will stabilize after a while and you will not need to reload them very often 2) You can just Click (or Alt-Tab) each Command Post window after reloading the menu. Command Post 3.3 23 Notes - Automagic Directory Updates. Command Post has an automatic directory display update feature that allows the directory display to be updated anytime the Command Post menu is selected. The standard MS-DOS Executive window directory display does not update until you select one of the disk drive icons in the upper left of the window. If a file is added or deleted outside of the MS-DOS window (e.g. Notepad adds a file), this fact is not displayed on the MS-DOS window until the disk drive icon is selected. Command Post will, if the Automatic Update Directory Display option has been selected, update the directory display any time the Command Post window is selected. This causes a "blink" after the selection of the Command Post window. If this is overfly disconcerting, the feature may be turned off. Command Post 3.3 24 Notes - MS-DOS View Menu selections. Command Post will will notice and save any selections made to the MS-DOS View submenu. If, for example, you prefer that the directory display only display executable files (i.e .EXE, .COM, .BAT, and maybe .PIF) you would select the "Programs" View menu subitem. However, you previously had to perform this operation every time that you started MS-DOS. With Command Post, you do not have to be concerned about it. Command Post will reset the MS-DOS submenu items to the previous state whenever you start Command Post. Command Post 3.3 25 Appendices Appendix A - Special Thanks The home base of Command Post, and all Wilson WindowWare software, is the Compuserve Microsoft MSSYS forum. A multitude of individuals on the forum have given hints, comments and suggestions that have helped make Command Post the powerful and unique Windows application that it is. The SYSOPS of the MSSYS forum have, as a group, been extremely helpful in pointing out possible approaches to solving a number of problems that were encountered in the development of this program. I am especially grateful for the assistance given by Noel Bergman, who has patiently pointed out various bugs, particularly in the LIM 4.0 environment, and has detailed fixes required to make Command Post a fully functional Windows 2.0 application. Special thanks go to the licensees of Wilson WindowWare software, as they are the people who are footing the bill for the continuing development of new and existing WindowWare applications. If you have not yet send in your money, please, please do so now, and help make Windows shareware a reality. Command Post 3.3 26 Appendix B - Command Post Version Information Version Information for Command Post 3.3 Immediately below is a list of differences that this version of Command Post has when compared to major previous releases of Command Post. This is generally only of interest when updating to a new version of Command Post from a previous release. Version 3.3 - Added several new features 1) CmdPost HotKey. Pulls up Command Post from almost anywhere (CTRL-SHIFT-ESC) 2) Windows menuitem, allowing immediate access to any window. 3) User menubar newline/sameline option 4) Automatic directory update switch. 5) Return to original directory switch. 6) MS-DOS View menuitem state restore. CmdPost will remember the MS-DOS View setting, and restore them when you start Command Post. Version 2.2 - Fixed a keyboard interface problem with the More Info dialog box. Version 2.1 - Windows/386 and LIM 4.0 compatible release. Added ability to switch automatic directory display update on and off. Version 2.0 - Windows 2.0 compatible release Command Post 3.3 27 Appendix C - Other Window Applications Currently (4/24/88) Wilson WindowWare has two shareware applications as listed below. For more information on these applications send a SASE to: Wilson WindowWare 3377 59th SW Seattle WA 98116 Browser 2.1 Browser is a MS Windows application designed to allow users to browse files in a MS Windows environment. In addition to the browse capability, it supports printing, clipboarding, and a hex dump display. Browser also features the new and unusual Hide & Seek information extraction technique. Command Post 3.3 Command Post is a MS Windows application designed to allow users to easily personalize the MS-DOS Executive control window. Command Post allows users to easily add Menu and Submenu items to the main MS-DOS Executive menu bar, and to execute desired applications when a menu item is selected. Command Post 3.3 28