Last updated July 1999. Covers Help Screen up to issue 156.
What is this?
Submitting questions, updates & tips
Credits & copyright
Disclaimer
About PC Plus
Alternative desktops
Bigger DOS boxes
Cardfile exports
Closing crash
Customise File Manager's toolbar
DLL troubles
Exploiting Recorder
General Protection Faults
Getting help
GID files
Group limit in Win3.x
How to edit INI files
How to make your own help file
Install a RAM drive
Maximising windows of applications opened from Program Manager
Mice in DOS boxes
Minesweeper & Solitaire cheats
Network security
No cursor blinking
Printing PRN files
Program Manager tips
Protecting directories
Protecting Windows
Quick directory access
Random wallpaper
Replace Program Manager with File Manager
Restore the standard icons
Running out of resources
Screen printing
Screen savers
SmartMon doesn't work
TCP/IP for Windows for Workgroups
Temporary files
The last resort
The stack overflow error
The swap file
The undefined dynalink error
Y2K fix for File Manager
Win32s
Windows' memory limit
Windows off-screen
Write tips
For nearly 13 years PC Plus has been one of the UK's leading PC magazines. It is published by Future Publishing:
Future Publishing
30 Monmouth St.,
BATH
BA1 2BW
United Kingdom
+44 (0)1225 442244 (main switchboard)
+44 (0)1225 822511 (subscriptions), e-mail subs@futurenet.co.uk
Each month PC Plus carries news, reviews, tutorials and a cover-mounted CD (the SuperCD) containing hundreds of megabytes of software. The SuperCD usually has fully working commercial software, free for you to use. Past releases have included Delphi, C++ Builder, dBase for Windows, Paradox, Lotus SmartSuite, several 3D rendering packages, Outlook 98, SuSE Linux... the list is HUGE! Visit PC Plus on the Web at http://www.pcplus.co.uk.
Help Screen has long been one of the most popular features in PC Plus. It answers technical questions from readers and publishes tips and advice on hardware and popular software.
Many of the commonly asked questions about Windows 3.x have been tackled in Help Screen at some time, but it is difficult to find the answer in your pile of back issues even if you have the relevant one. And with Win95/98 dominating my mailbag, Win3 users may be feeling left out in the cold. This help file redresses the balance by collecting together all the material published about Win3 in recent issues. It will be updated as more information is published.
Ian Sharpe
PC Plus
Future Publishing
30 Monmouth St.,
BATH
BA1 2BW
United Kingdom
Fax: +44 (0)1225 732295
Please read the next section before contacting Help Screen...
We're always happy to receive questions, tips, and follow-ups to material already published. These may be sent by e-mail, post or fax, but we cannot accept phone calls. As a strict rule we cannot offer help and advice on a personal basis. Publishing one of the UK's leading computer magazines is no small task each month, and we haven't the time or resources to be a help line as well. The only way we reply is via the pages of the magazine, but please note that we don't have room to publish everything sent to us. Submissions are mainly chosen on the basis of length, solvability, and interest to other readers.
If your question is critical or urgent, it is best put to the relevant manufacturer or supplier. If that is inappropriate or does not bring a result, a message posted to an Internet newsgroup or a forum within commercial on-line services such as CompuServe, AOL or CIX may bring useful advice. The newsgroup search engine at http://www.dejanews.com is the best place to look.
As a last resort in desperate cases, you should seek local professional advice.
If your question relates to a problem with the SuperCD, our hotline will try to help with installation difficulties or similar problems (though not teach you how to operate the software, DOS or Windows). The e-mail address is support@futurenet.co.uk or phone 01225 442244. It operates Monday to Friday, 9.30am to 5.30pm.
Queries regarding subscriptions, back issues and Future mail order should be sent to subs@futurenet.co.uk or phone 01225 822511 during office hours.
General comments about PC Plus should be sent to pcplus@futurenet.co.uk.
Copyright to this file is held by Ian Sharpe. Parts of the text, indicated as direct quotes, are copyright the named authors. You have permission to use this file for personal, not-for-profit purposes, at home or at work. Permission to use all or part of it on an Internet site or in a commercial product such as a book is specifically forbidden, except when granted by me. The information in this file comes from many sources and I am particularly grateful to PC Plus readers too numerous to name for supplying information or prompting me to go and look for it.
I try to get it right but I'm human and I do make mistakes sometimes. This file is provided without warranty and on the understanding that you have no claim against PC Plus, me or any of the other contributors, should using the information herein disadvantage you in any way.
Windows 95/98 have a nice feature whereby different users can log on to a machine and have their own desktops. Win3 does not support this, but it can be simulated. Two of the many situations where this can be useful are to present a customised set of Program Manager groups for particular users – your children, for example – or to have your own desktop with a lower level of security options than the usual configuration.
The file PROGMAN.INI contains a list of groups on the desktop, and also the security settings detailed in the previous section. Make a subdirectory in which you make a copies of PROGMAN.INI, one for each user. Each file will have its own name – for example JANET.INI, JOHN.INI, THEKIDS.INI. Edit each copy to set the appropriate level of restrictions and tailor the list of groups. Any group deleted must have its number eliminated from the [Order] section, too. Additional groups must have their numbers inserted under [Order].
You now need a way to copy the required version of PROGMAN.INI into the WINDOWS directory before Windows starts up. The easiest way is to rename WIN.COM – the program which starts Windows – to RUNWIN.COM and provide a batch file called WIN.BAT. When the WIN command is executed from the DOS command line, the batch file will be run instead of WIN.COM. The renamed WIN.COM is run as the final command in WIN.BAT. Your copy commands come before that.
If no command line parameter is typed, WIN.BAT copies the default version of PROGMAN.INI – probably the one with the greatest level of security. If provided with a command line parameter, the batch file will copy the version of PROGMAN.INI assigned to that parameter. Here is a sample which you can modify and extend to suit your own system.:
@echo off
if %1""=="" goto default
if %1==pmtest goto pmtest
if %1==PMTEST goto pmtest
REM More IF tests here
goto default
:pmtest
copy c:\windows\proginis\pmtest.ini c:\windows\progman.ini > nul
goto runwin
Rem More sections here
:default
copy c:\windows\proginis\progman.ini c:\windows\progman.ini > nul
:runwin
runwin
Edit the SYSTEM.INI file. In the [NonWindowsApp] section insert:
ScreenLines=nn
where nn is the number of lines of text you want to display in a DOS box, for example 50. Remember that not all applications will make use of more than the default 25 lines. You need to restart Windows for this to take effect. See How to edit INI files.
If you want to export data from Cardfile to a text file, install the Generic/Text Only printer driver. Set it to print to file, then print your database. Don't forget to revert to your original printer driver immediately afterwards.
Many people experience a crash when they close down Windows. The PC just locks up. When that happens you need to go through a checklist of potential causes:
The things you should try in order to fix the problem are:
It is quite easy to customise the Windows for Workgroups File Manager toolbar (this will not work in standard Win3). Just double-click a blank area of the toolbar, and a dialog box will appear. Buttons and separator gaps may be removed, added and reordered. The available buttons are restricted to options available through the menus.
One of the commonest sources of trouble is DLL files. Their main purpose is to act as libraries of program code and data used by more than one application. Suppose a programmer writes two applications which have spelling checkers. To avoid duplicating the part of the program which handles the spelling check, it is put into a DLL file. Both applications can then run the programs in the DLL. And so, applications which use DLLs are smaller on average than those that don't. DLLs also bring a degree of standardisation to applications. For example the program routines which draw windows on the screen are in DLL files. All programs use them, so all windows follow the style set by Microsoft.
One of the problems with DLLs is that a popular one, by definition, is used by a lot of applications. Each of these will have installed a copy of the DLL, possibly overwriting one that was there previously. There may not be a problem if more than one version of the DLL exists, but it is quite possible that differences between versions will cause some applications to begin misbehaving. The DLL may not contain the expected program routines or data, or an older version may have more bugs. If you install a program and other apps suddenly go wonky, suspect a DLL incompatibility.
Another problem with DLLs arises from the fact that they are often placed in \WINDOWS or \WINDOWS\SYSTEM, rather than the application's own directory. If you delete the application, the DLLs it installed will still be occupying space. If other applications use those DLLs, they need to remain. If nobody else is using them, they are wasting space and should be removed. The problem is to decide which ones you need to keep.
Both these problems and related ones which I haven't room to mention make it a good idea to keep track of what's happening to DLLs when new software is installed. When a DLL file is needed by a program, normally Windows 3 will search for it in the following directories and in this order:
1 The working directory, as specified in the File, Properties dialog for the icon in Program Manager;
2 \WINDOWS;
3 \WINDOWS\SYSTEM;
4 Every directory named in the path, from left to right, as specified in AUTOEXEC.BAT;
5 The current directory, which by default will be the one the application's EXE file was loaded from.
The exception to this is when a program has been hard-wired to look for a DLL in a particular place.
Suppose a newly installed program is unhappy with a previously installed DLL which is not the correct version, or that existing applications don't work with the version of a DLL installed by a newcomer. Ideally, all programs would use the same version of the DLL and only one copy would exist. You can try having one of the available versions of the DLL in \WINDOWS or \WINDOWS\SYSTEM, and it may suit all applications. If not, the version which pleases most of them goes with Windows, while the odd programs out have copies of their own placed in their working directories. That way the personal DLLs get picked up before Windows searches down the list of alternative locations.
You may like to adopt the following strategy so that you can watch new DLLs being added to the Windows directories and ensure that existing files don't get overwritten.
In your Windows directory create a subdirectory called DLLS. Add this to your PATH statement in AUTOEXEC.BAT. It is best to put it near the front. Restart the PC and, before you start Windows, move all the DLL files from \WINDOWS and \WINDOWS\SYSTEM into it.
Whenever you install a new program, you can look in \WINDOWS and \WINDOWS\SYSTEM for new DLL files. Check to see if files of those names already exist in the DLLS directory. If so, experiment with having only the later version present. If everything still works, leave things as they are. If applications fall over, try having only the older version. If there is still trouble, have the least troublesome DLL in the DLLS directory, and give other programs their own copies of the one they like.
When you have this system running smoothly, you should look for duplicate copies of DLLs. Program installers often leave DLL files in the application's own directory, either out of thoughtlessness – duplicate DLLs defeat the purpose of having them – or as a trouble-avoidance measure. Seek out duplicates and try having only a central copy in the DLL directory. The way to do this is simply to copy the extra DLL into a temporary directory not in the search path and delete the original. If the application still works, you can delete the moved copy – or move it on to floppy for safety. A lot of disk space can be saved this way.
So how do you locate duplicate DLLs? Many utilities exist to do this. One such is Space Hound which exists in 16- and 32-bit versions. An evaluation edition of the 16-bit Space Hound appeared on issue 131's SuperCD. This and the 32-bit version can also be obtained over the Internet from http://www.fineware.com/download.htm.
An especially troublesome DLL to watch for is CTL3D.DLL. It is one of the most common in circulation and contains the program code responsible for creating 3D dialog boxes. Early in its life Microsoft released the source code which every Tom, Dick and Harry then modified to make a version which suited their own program. Soon, a great many unique versions of CTL3D.DLL were at large. It may be that you have older applications which will only behave if given their own personalised version of CTL3D.DLL. Microsoft has since tried to re-establish a standard with CT3DV2.DLL.
The other main DLL-related problem you could encounter is an error message from Windows reporting Call to undefined dynalink. This happens when a program tries to run program code in another file, but the code does not exist or is corrupt. Although this error can result from problems with files other than DLLs, they are the most likely cause. While it is possible to troubleshoot such errors, the quickest and easiest way to solve the problem is often to reinstall the application.
The following came from Greg Chapman in response to the Maximising windows of applications opened from Program Manager item. Greg has a Windows Recorder home page at: http://www.win-recorder.freeserve.co.uk and runs a Recorder mailing list.
"As supplied, the WRITE.REC file (see Greg's Web site – Ed) can be used to run the Maximise Write macro with a double-click of the Write icon. This is because Recorder has a poorly documented function which allows you to run your macros automatically. The command line takes the form:
RECORDER -H <shortcut> <filename>
where <shortcut> represents the key combination to launch any macro saved in the Recorder file <filename>. Use ^ to represent [Ctrl], % to represent [Alt] and + for [Shift].
"So with WRITE.REC we could launch Write maximised with:
RECORDER -H ^+F16 WRITE.REC
entered as the Write Icon's properties.
"Recorder also avoids the initial Save As difficulty, with John Marsh's solution in issue 130, to the problem of how to get Write to start with personalised settings. Of course, if you really hate to use Recorder, another way of overcoming the initial save-as problem is to set the read-only attribute on the DEFAULT.WRI file (using File Manager). Then, when you try to save a document Write will inform you that the file is read-only and prompt you to save the file under a different name."
My comment: To maximise applications, readers have a choice between MAXWIN.EXE, which is very quick and easy to integrate into a program icon's properties, or the Recorder method which requires you to record a new macro for each application.
One of the most frequent problems with Windows has a large number of possible causes, and is consequently difficult to track down.
A General Protection Fault, or GPF, occurs when a program tries to access an area of memory which does not belong to it. The reason it tries to do this is usually because there's a bug in the program, or an external factor has caused the program to behave erratically. For example, there may be a bug in another program which the apparently faulty application is dealing with. The bug may be causing the application to receive erroneous data or commands, causing it to fail. Another scenario is a bugged program damaging Windows, but not badly enough to cause it to fail immediately. You close the faulty program, unaware of any problem, and start up another application which causes the instability to surface.
When you see a GPF, it is tempting to breathe fire at the vendor. But the fault could lie elsewhere, in which case the GPF is just a symptom. A favourite source of these difficulties is the video driver. If you get regular GPFs, one of the first things to try is to switch video driver to the standard VGA one supplied by Microsoft. If the GPFs vanish, you need an updated driver, not a fixed application.
But suppose that's not your problem. How do you pinpoint the source of frequent GPFs? Microsoft publishes a troubleshooting guide. It is document number Q95505 and can be obtained from the Knowledge Base, either online at http://support.microsoft.com/support/kb/articles/q95/5/05.asp or from the TechNet CD (see Getting Help). A shorter version is also printed in the Windows Resource Kit. The full guide in Q95505 is about the same length as a six-page feature in PC Plus, so it is not possible to summarise it here without omitting vital information. If you have issue 99 of PC Plus, there's a three-page guide in the Hands On section.
A reader responded to the above with: "Among the tips you have published in Help Screen regarding General Protection Faults (GPFs) in Windows 3.x, I have not seen you mention increasing the MaxBPs figure in the [386Enh] section of SYSTEM.INI. I am told that increasing the value to 768 will make the system more stable and perhaps cure a GPF problem entirely."
I’ve seen this tip quoted many times on the Internet, but with nobody saying that it worked for them. The wording is often almost the same, which makes me think that most people are just repeating it on trust. The only thing I’ve seen to substantiate it is a couple of entries in the Microsoft Knowledge Base. These refer to specific programs that require the MaxBPS setting to be increased to at least 400 – Microsoft C v7.0 and FoxPro for Windows v3.0. However, if you have a persistent GPF problem, it’s worth a go.
Edit SYSTEM.INI and, under [386En] look for a line that sets MaxBPs. Amend the number to 768. If the line does not exist (it doesn’t by default) add one like this:
MaxBPs=768
Save the file and re-start Windows. If this solves your problem, please drop me a line!
MaxBPs is a system-wide limit on the total number of breakpoints that may be used – a breakpoint being a rather technical feature of a program’s internal workings that I’m not going to bore you with. Suffice to say that breakpoints are a finite resource that can in theory be used up, causing GPFs. The default value is 200.
If you want help with Microsoft products, a good first place to look is the Knowledge Base – follow the Support links from http://www.microsoft.com. While you can be sure that the online Knowledge Base is always up to date, Web access can be slow and there's the telephone bill to consider. Furthermore, if you are in a tech support role, you may want access to the information in a more portable format. In that case you might like to consider a subscription to TechNet. This is a monthly set of CDs containing the Knowledge Base, drivers, patches, resource kits, service packs, additional documentation such as extracts from books, and a lot more. More details from the Microsoft subscription centre is on 0800 281221. TechNet is not really suitable for individuals (it costs several hundred pounds) but it is an invaluable resource for an organisation's in-house tech support team.
The next best source of information is Internet news groups. And the best place to search for previous postings on your problem is http://www.dejanews.com.
For more info on Win3-related matters, try The All Windows 3.x Information Page at http://www.plazaone.com/allwindows/win3x.htm even though it isn't being updated any more.
You may find files with the extension .GID and the hidden attribute set accumulating on your hard disk.
GID is short for global index and relates to help files under Windows 95/98 and NT4. They are also used under Windows 3 if you have Win32s installed, but I think that may only be true with Win32s after a certain revision number.
A GID contains the help file's contents list and topic index, so that Help can display the required part of the file quickly. GIDs also contain other information, such as the help window position.
If you delete a GID file, time will be spent recreating it on the next occasion you load the associated help file. The same thing happens if the help file has been updated since the GID file was generated. I don't know a way to prevent GID files being produced, and presumably the new help program would not work without them.
The trouble with GID files is that they can take up a lot of space. A quick check on my system using Win95/98's Find function to look for *.GID revealed over 9Mb of the things. I decided to delete mine and allow new ones to be created for the help files I actually use. It makes sense to clean up the hard disk occasionally, and killing all the GIDs could be part of the process.
In Windows 95/98 the files can be deleted from the Find dialog. Most of them are hidden so you have to make sure that Explorer has been set to display hidden files. Under Windows 3 you can use File Manager's File, Search function to do the same thing – select all the found files with File, Select Files.
The limit on the number of items in a program group is 50 in both Win3.0 and Win3.1. Win3.0 allowed an unlimited number of groups, while Win3.1 reduced the figure to 40. I'm afraid there's no way round this short of having spring clean of Program Manager to make room for new groups.
In several places in this help file I say that you should edit an INI file. It is always a good idea to back up INI files before changing them – a slip of the finger can bring Windows to its knees. If SYSTEM.INI or WIN.INI have to be changed, the quickest way is to go to File, Run and type SYSEDIT to run System Configuration Editor. This is also a quick way to get at CONFIG.SYS and AUTOEXEC.BAT. To edit other INI files, run Notepad and load them from there. In the Open dialog display the available files by entering *.INI in the File Name box. Many INI file settings only take effect after you have saved the file and restarted Windows, or at least restarted the program to which the INI file belongs.
Producing simple help files is not hard, but it is certainly fiddlier than knocking out an equivalent word processor document. The tedious bits are inserting codes which set up help file features like the links which the user clicks on to jump around the file and the keywords listed in the index. You can get programs designed to assist with authoring help files.
If you want a taste of help file authoring at its most basic, you need a word processor which can export documents in Rich Text Format (RTF), and which supports footnotes, hidden text, double-underlines, and enables you to insert page breaks. Almost any mainstream word processor should be suitable, but some produce RTF files which the help file compiler doesn't like. The other thing you need is a compiler program which converts the RTF file into HLP format, which is what the help engine uses. A help file compiler is often supplied with programming languages – it is included with VB4, for example.
Fortunately, the required program was included on the April 1997 SuperCD as part of Delphi 1. So install Delphi and copy the files \DELPHI1\BIN\HC31.EXE and HC31.ERR into the directory where you'll construct help files. You will also find a detailed tutorial on how to make a help file – it is \DELPHI1\BIN\CWH.HLP. After copying these files, you can uninstall Delphi.
Here is a quick run-through of the bare minimum you must do to create a help file. First, write the text in your word processor. Each topic must be on a page of its own, so insert a page break after each one. Topics must also have a unique label by which the help engine identifies them. These labels are used to set up links and must be inserted as footnotes to the topic pages – insert the footnote marker just behind the topic's title. The key points are that the marker symbol must be #, and that the footnote names must not include spaces, punctuation marks or symbols like '&' and '-'. The underscore character is OK, though.
In Word, for example, you'd put the insertion point at the start of the title, go to Insert, Footnote, define a Custom Mark of #, then click OK. You'd then be expected to type the bookmark text, which would be the topic's label – use whatever naming system you like.
Links are set up as follows. Select the text which is to be a link and format it with a double underline. Immediately follow it with the label of the target topic, omitting the #. Set the label text to hidden format You might want to make the first page of your file a contents page. There is nothing special about this – it is just a list of topics made into links.
Save the file in RTF (not RFT) format. You now need to write a project file which tells the help file compiler certain important information. There are many options you can put in here, but about the minimum you'd want are:
[OPTIONS]
TITLE=title
ERRORLOG=log_filename
[CONFIG]
BrowseButtons()
[FILES]
RTF_filename_1
Here, title is what goes in the help title bar while log_filename is the name of a file into which the compiler can report any problems it found. The inclusion of BrowseButtons() turns on the << and >> buttons which enable the user to page back and forth among topics. Finally comes the name of the RTF source file.
The project file should be saved as plain text in the same directory as the RTF file and given the extension .HPJ. The help file compiler, HC31.EXE (or one of similar name if you are not using the compiler supplied with Delphi 1) and HC31.ERR should be placed in the same directory as the RTF and HPJ files. Go to the DOS prompt and change into the working directory. Suppose you'd saved the project file as HELPTEST.HPJ. You'd now type:
HC31 HELPTEST
If the help compiler couldn't complete the job, you'll find an error log file whose name you specified, containing details. Otherwise you should have a .HLP file which you can double-click from File Manager or Explorer.
Having the browse buttons turned on is not enough to make them do anything. You must specify the sequence of topics among which the buttons move back and forth. This is done by adding further footnotes to the pages, using + as the identifying character, and inserting more codes. Keywords for the index are handled via the K and $ footnotes, all of which are explained in CWH.HLP.
If you decide to author help files with only your word processor and the compiler, it would be a good idea to have macros on buttons to insert page breaks and the various kinds of footnote.
For more help on Help files visit http://www.helpmaster.com/index.htm.
What do you do if you have 32Mb of memory installed, you are running Windows 3, and you think your applications are not causing Windows to use up all of the memory? Is there a way to allocate some of it to a function which gives you some benefit? Yes there is: install a RAM drive. This is an old trick which a lot of people used under DOS, but almost lost favour when Windows proved to be such a memory hog and free RAM was in short supply on most machines.
Nowadays, though, a great big wodge of RAM is affordable, and you can use some of it for luxuries like a RAM drive. This is an area of memory set aside and made to behave like a disk drive. Being located in memory, it is many times quicker to access than a normal disk.
Add the following line to CONFIG.SYS:
device=c:\windows\ramdrive.sys 2048 512 256 /E
Obviously, change the path if your Windows directory is called something different. If Windows didn't have its own version of RAMDRIVE.SYS, you will have to use the one in the DOS directory.
The /E puts the RAM drive in extended memory. The three figures are the disk size in kilobytes (giving 2Mb here – choose your own figure), the sector size in bytes (leave it as 512), and the number of directory entries allowed. 256 is an arbitrary amount – increase it if you have problems.
After rebooting the machine, you will be able to access an extra disk drive. Remember that being in memory, if you switch off, reboot or experience a crash, its contents are lost – don't go saving data files in there. So what use is it? With the RAM drive set up you can edit AUTOEXEC.BAT to include the following lines. They assume that the RAM drive is designated E:
md e:\temp
set temp=e:\temp
This means that temporary files are created in memory, making them quicker to work on. Since Windows spends a significant amount of time accessing temporary files, you should see a performance boost. You will need to reboot again before the new setting takes effect.
This tip could be useful on machines with as little as 16Mb if they are not too hard pushed. If you get nasty problems when printing files, it means that the print spool file was too big for the RAM drive . Increase the drive's size if this happens.
There is no setting to ensure a program always opens maximised. Some applications are hard-wired to open at a particular size while others open at the size they were when last closed down. It's a nuisance, so I have written a utility that you can use to always run an application maximised. It's MAXWIN.EXE on the SuperCD accompanying issue 135.
If you already have other programs written with VB4, all the required support files should be on your system. Copy MAXWIN.EXE to your Windows directory and try to run it. If it brings up its own dialog box saying it has nothing to do because you didn't supply a command line parameter, then you're OK. If Windows complains about missing files, you need to do a full installation. In that case run SETUP.EXE in the directory \HANDSON\HELPSCRN\MAXWIN on the SuperCD, and opt to install to your Windows directory. You can delete the MaxWin program group that's set up because you don't run MaxWin from its own icon – it's integrated into the icon properties of other programs.
Each program to be launched maximised should have its Program Manager icon edited as follows. Click the icon and go to File, Properties. Click Change Icon and make a note of the filename and icon shown in the dialog box. Click OK. Edit the Command Line box so that its present contents are preceded by MAXWIN.EXE. For example, Write has this command line:
WRITE.EXE
You would change it to:
MAXWIN.EXE WRITE.EXE
Click on Change Icon again. If the dialog box now specifies MAXWIN.EXE, change it back to what was there before. OK your way out. The application should now always launch the program maximised. MaxWin is slow the first time it is run during a session, because Windows has to find and open all the support DLLs. After that its operation is much quicker and may not cause noticeable delay.
Also see Exploiting Recorder.
If you want to use the mouse in a windowed DOS box in Windows 3.1, your mouse driver should be loaded from AUTOEXEC.BAT or CONFIG.SYS before Windows starts up. The driver must support a mouse in a DOS window – not all of them do. And needless to say, the application itself must support use of the mouse. There is a further requirement that you are using a Windows 3.1 video driver which supports the mouse in a DOS window. Most do, but a few systems may be using Windows 3.0 drivers that don't, in which case an updated driver is required. It's possible that the following modification to the SYSTEM.INI file in your Windows directory will enable the feature. In the [NonWindowsApp] section insert these lines:
MouseInDosBox=1
FontChangeEnable=1
Save the file and restart Windows.
In Windows 3.0 the addition of the MouseInDosBox=1 line is all that's needed.
Is your only real problem being unable to beat all comers at Minesweeper? It is not mine, because I cheat.
Minesweeper cheat mode 1 (Windows 3.x only): Run Minesweeper and minimise Program Manager. In Minesweeper type XYZZY then [Return] and then [Shift]. The pixel at the top left of the desktop will now turn white whenever you move the mouse pointer over an un-mined square.
Minesweeper cheat mode 2 (any version): Click any square to start the timer (if you're unlucky enough to hit a mine, start again). In another area of the field, hold down both mouse buttons; a nine-square area should be indented. Still holding down the mouse buttons, press [Esc]. This halts the timer.
Solitaire cheat mode: If you are playing three-draw Solitaire, hold down [Ctrl][Alt][Shift] while clicking on the deck. It'll turn one card at a time.
On one of the Windows for Workgroups disks there is a file ADMINCFG.EX_. Use the Expand utility to extract it. It is an application for implementing better security measures on your network.
To stop the cursor blinking completely go to the [windows] section in WIN.INI and set 'Cursorblinkrate' to equal 0.
If you print files to disk instead of directly to the printer, the output goes into a file with the extension PRN. Reprints can quickly be run off by copying the PRN file to the printer port in File Manager. This avoids having to load the file into the original application and going through its print dialog. The question now is, how do you wangle it so the PRN file is printed by double-clicking it rather than pressing [F8] and typing LPT1: as the destination?
Create a batch file in Notepad, and call it COPY2PRN.BAT. In here goes this command:
In File Manager, select Associate on the File menu. The 'File with Extension' box should be set to PRN. Click once in the 'Associate With' field and click Browse. Find COPY2PRN.BAT in the Browse dialog and double-click it. Click OK in the Associate dialog. You can now double-click a PRN file and have it automatically funnelled into the LPT1 port.
It isn't possible without some add-on software. To protect directories under Windows 95, 98, 3.x and DOS, you can try the shareware program Magic Folders available from http://www.pc-magic.com. You feed it a list of directories which it can then make invisible or visible. You have to enter a password to access the facility, and there's a hotkey to bring up the password dialog, so it's very easy to switch folders in and out of view. It's all or nothing – you can't toggle individual folders in the list.
Magic Folders doesn't appear to manipulate hidden/system attributes. If the user doesn't know Magic Folders is at work, hidden folders won't become visible by use of the DOS Attrib command or similar.
Magic Folders isn't compatible with 32-bit file access under Windows for Workgroups or NT, and it isn't for use on drives shared over a network. If you have a PC that's used by several people, up to 10 of them can have individual accounts with their own hide/unhide lists.
Since the program works with your system at a fundamental level, it is very important to back up important files before giving it a test run (though we haven't had any problems) and to read the documentation which contains important information.
You can buy some pretty potent software which will add the equivalent of chains and padlocks to Windows. But for everyday use, where you want just enough control to deter the ignorant for a short time, there are simpler measures you can take.
Program Manager has available several security features you can turn on by editing PROGMAN.INI. Add a new section heading:
[Restrictions]
Under here you may add the following settings:
norun=1
The Run command in the File menu becomes inaccessible
noclose=1
Disables the ability to exit from Windows with [Alt][F4] or File, Exit.
nosavesettings=1
Disables the ability to save changes to Program Manager settings.
nofilemenu=1
Disables the File menu in Program Manager.
editlevel=1
Disables creation, deletion or renaming of groups.
editlevel=2
As above, plus the user can't edit program item settings.
editlevel=3
As above, plus inability to change the command line entry in a program's properties setting.
editlevel=4
Everything on levels 1-3, plus no changes at all to an item's properties.
Save PROGMAN.INI and restart Windows to bring the changes into effect.
It is possible to limit the icons which show in Control Panel. In CONTROL.INI add a new section:
[don't load]
Under here put the names of icons you want to be excluded form Control Panel. Follow each one with an = sign and then some non-blank character, for instance:
Fonts=x
Printers=x
Even with this lot switched on, a moderately skilled user can side-step the restrictions and it is still possible to do things with Control Panel, File Manager and the DOS prompt. You could remove the icons, of course, but that's still no protection against a simple reboot. Neither is there anything to stop somebody changing the INI file settings and restarting Windows. Specifying a password in the BIOS set-up screen can help, and you can make AUTOEXEC.BAT fairly immune to interruption, but what if somebody tries to start from a floppy disk? Again, a BIOS setting can often be made to disable booting from floppy disk.
It is impossible to totally secure a PC without preventing legitimate users from doing legitimate things. You can only apply a level of protection that is an acceptable compromise between security and productivity.
If you want to restrict access to individual programs, there is a further step. On issue 131's SuperCD was a program called PASSWORD.EXE. It should be placed in \WINDOWS along with VBRUN300.DLL.
Use Program Manager's File, Run command to execute this command line:
PASSWORD.EXE /S
This brings up a dialog box which enables you to change the password from its default setting of dropthebird. One password applies to every program you want to protect.
For each program to which you want to restrict access, select its icon and bring up its Properties dialog. Click Change Icon and make a note of the filename in the box. Go back to the Properties dialog. Suppose the existing command line is this:
C:\MYDIR\PROGNAME.EXE /T
Change it to:
PASSWORD C:\MYDIR\PROGNAME.EXE /T
Click Change Icon again and restore the filename to the one you noted earlier. OK you way back to Program Manager. From now on, whenever you double-click the program's icon, you will be asked for the password before being allowed further.
Also see Protecting directories.
If you regularly need to return to a particular directory in File Manager, assign it to a new drive letter using the SUBST command. The letter will then appear on the File Manager drive bar for instant access. For example if drive letter G is free, you could put this line near the end of AUTOEXC.BAT:
SUBST G: C:\PROJECTS\BIGONE\
This needs to be done after any lines which themselves assign drives to letters, such as MSCDEX.
This tip has a potential drawback. Some programs don't like drives created with SUBST. In particular, 32-bit file access is incompatible with it. Also, you may need to insert or amend the LASTDRIVE letter in CONFIG.SYS:
LASTDRIVE=x
Where 'x' represents the last valid drive letter DOS will recognise. Don't fiddle with this setting if SUBST works OK.
Reader Greg Chapman submitted the following alternative solution:
"First you need to be aware that you can have large numbers of directory windows created, whether minimised, maximised or open. Go ahead and create them for all your favourite directories. Next you need to be aware that exactly the same facilities exist in File Manager as in Program Manager for arranging and tiling windows.
"What you do next will depend on how you use File Manager, but this is a good starting point. Minimise all the directory windows that you have created. Open each window in turn and then go to the Windows menu and select Tile (either of the tile options in Windows v3.11). This will force it to fill the File Manager window except for the row of other minimised directory icons. Minimise each directory before moving on to the next.
"I always have just two windows open, for ease of dragging files between directories, and use a pair of tiled windows. I use Win3.11 and have also customised my toolbar with one of the tile icons, so if a pair of windows does restore on top of another it's just a single click to sort them out.
"To ensure that all the same windows are available in the same positions next time you run File Manager, you must save your settings. The best way to do this is to use the same trick that has been published for Program Manager... hold down [Ctrl] and [Shift] when clicking on Exit on the File menu. The program doesn't close but all the settings are written to WINFILE.INI.
"If your screen resolution is low you may find that the tiling method makes the directory windows too small. However, you will find that all the directory windows will appear on the list at the bottom of the Windows menu. So, at worst, they are just two clicks away from anything you are doing."
If you want different wallpaper every time you start the PC, copy the program code below into a text file called RANDWALL.BAS, placed in your Windows directory. At the bottom of the file are three lines each beginning with a number, then DATA. Lines 240 and 250 list BMP files to be used as random wallpaper. Change the names to suit yourself. The only constraint is that the final data item must be 'nomore', without the quotes. Line 150 will need changing if your Windows directory is not \WINDOWS. Save the modified file.
Insert the following line in AUTOEXEC.BAT after the PATH statement:
QBASIC /RUN C:\WINDOWS\RANDWALL.BAS
Go back to the Windows directory and make a copy of one of the BMP files, naming it TODAY.BMP. Go into Control Panel and name TODAY.BMP as the wallpaper file.
Henceforth, RANDWALL.BAS will be invoked from AUTOEXEC.BAT on start-up. It will pick one of the wallpaper files at random and copy it to TODAY.BMP. You must, of course, have QBASIC.EXE in a directory named in the PATH statement in AUTOEXEC.BAT. RANDWALL.BAS is not the last word in wallpaper randomisers, but it works and you can modify it if you don't mind a spot of Basic programming.
10 ' *** Randomise the Windows wallpaper on each boot-up ***
20 ' Windows must be set up to use a wallpaper file called TODAY.BMP
30 ' Edit the final few lines of this file to incoporate the names
40 ' of graphics files that you want to become wallpaper
45 DIM I$(200)
50 RANDOMIZE TIMER
60 I = 1: READ I$(I)
70 WHILE I$(I) <> "nomore"
80 I = I + 1
90 READ I$(I)
100 WEND
110 IF I = 1 THEN PRINT "No data to read": SYSTEM
120 R = 1 + INT(RND * (I - 1))
130 ' If your bitmap files are not in \WINDOWS, change the 2 references
140 ' in the next line to name the correct directory
150 COPY$ = "copy \windows\" + I$(R) + " \windows\today.bmp"
160 PRINT COPY$
170 SHELL COPY$
180 SYSTEM
190 ' Change the next lines to the names of your own files
200 ' Have as many DATA items/lines as you like but the final
210 ' item MUST be 'nomore' (lower case) to mark the end of
220 ' the list. Don't forget the comma between items on the
230 ' same line.
240 DATA ARCADE.BMP,ARGYLE.BMP,CASTLE.BMP,EGYPT.BMP,HONEY.BMP
250 DATA REDBRICK.BMP,RIVETS.BMP,SQUARES.BMP,ZIGZAG.BMP
251 ' Add more lines if you like, as long as they are numbered
252 ' greater than 252 and less than 500.
500 DATA nomore
shell=progman.exe
to read...
shell=fileman.exe
(or some other application).
Restart Windows and the named program will replace Program Manager.
If you have accidentally deleted some of Program Manager's icons then go to File, Run and enter:
setup /p
to restore the original ones. It is easier to delete the duplicates than recreate the missing ones.
Windows 3 sets aside three areas of memory, called heaps, to store things like data associated with open windows, and graphical objects such as icons, cursors and fonts. Each heap is limited to 64K in size, no matter how much RAM is fitted. If one or more of the heaps fills up, you will get errors such as programs crashing and out-of-memory reports. Ploughing on after the warning message just makes matters worse, because every program consumes resources, and a GPF or other failure is inevitable if there are none left.
You can check heap capacity from the Help, About dialog box in many programs, such as Program Manager and File Manager. The percentage free figure refers to whichever heap has the least free space. On my system it is about 85 per cent immediately after boot-up. I expect it is lower on yours.
Upgrading to DOS 6 won't make more space in your resource heaps. This is purely a Windows problem. Upgrading to Win98 would increase capacity, because this was such a common difficulty that Microsoft took the opportunity to make bigger heaps.
You are not forced to upgrade to Win98 to find a fix, though. You can do some housekeeping and take precautions which will make more room:
Utilities exist which make it easy to take a snapshot of the screen for immediate printing or for inclusion as a graphic in a document. However, Win3 has its own method which is fine for occasional use. Press the [Print Screen] key (to the right of [F12] on most keyboards). This copies the screen to the clipboard. [Alt]+[Print Screen] copies just the current window.
Start up a bitmap graphics editor such as Paintbrush in the Accessories group, and press [Ctrl]+[V] to paste it in. You can now save and print as required.
If using Paintbrush, a couple of points need attention. First, make sure that the image size is not smaller than your screen size (Options, Image Attributes. Set the units to 'pels'. Enter the correct height and width). Also, before pasting, zoom right out with [Ctrl]+[O]. When you paste, cross-hatching will appear. Click outside this area to fix the pasted image in place.
You can start up a screen saver at the touch of a key, for example to hide the screen at a moment's notice, perhaps with password protection. Edit WIN.INI and add SCR to the PROGRAMS= line in the [Windows] section. Save the file and restart Windows. SCR files can now be run like other programs – double-clicking them in File Manager, for example. You can now set up Program Manager icons for individual savers, complete with hotkeys.
If SmartMon does not work, I guess you have 32-bit file access enabled. The software module which implements 32-bit file access uses its own cache program, VCACHE.386. With this running, SmartDrive only works with floppies and, with SmartDrive v5.0 onwards, CD-ROM drives, so you won't see any results in the Cache Hit Rate diagram. You can confirm this by starting Windows for Workgroups with 32-bit file access disabled – run it with WIN /D:C and SmartMon should now work.
If you want to use TCP/IP as your local area network (LAN) protocol, it is not included on the Windows for Workgroups disks but it can be downloaded as an add-on from http://support.microsoft.com/download/support/mslfiles/TCP32B.EXE.
The EXE file is a self-extracting Zip. With the files unpacked, you can go into Network Setup and click on Drivers, then Add Protocol (assuming the network card is already installed here) and then on Unlisted or Updated Protocol.
After directing the Setup routine to the folder where you unpacked the TCP/IP files, you can click the Setup button and enter the IP address (such as 10.0.0.3 on machine two, as suggested in the Help Screen feature on networking in the December 1998 issue) and a subnet mask of 255.255.255.0. Remove any other protocols that may have been installed, and restart Windows.
Applications commonly create temporary files, and normally they live in a directory specified in an environment variable called TEMP. You will find the definition in AUTOEXEC.BAT in a line like this:
set temp=c:\temp
The default setting for TEMP under DOS 6.22 is the DOS directory but it is a good idea to se up a dedicated TEMP directory, as in the line above.
When an application is shut down, it should delete its temporary files. This doesn't always happen, however, and files are left occupying disk space. They serve no purpose when Widows is not running and the applications which created the files won't be looking for them next time. They will create new files when required. So any temporary files you can see before Widows loads can be deleted.
It is easy to spot temporary files if you have set up a directory specifically for them. They have the file extension .TMP, and on some machines there are dozens of the things. Make sure your TEMP variable points at a directory dedicated to temporary files. You could then insert the following command in AUTOEXEC.BAT:
DEL %TEMP%\*.tmp
This would be placed after the SET TEMP= line and before the WIN command, if it is present. Your temporary directory will be cleaned out every time the PC starts up. As reader John Barnett pointed out, though, the trouble is that some applications set up subdirectories within the temporary one, and the above command will not clear those. The following will, however:
if not exist %temp%\*.* goto carryon
deltree /y %temp% > nul
md %temp%
:carryon
It is vital that the temporary directory does not contain files you want to keep, because the above will wipe everything.
The most common cause of undeleted temporary files is crashed applications, and switching off the machine without closing everything down.
Many of the problems I've talked about can take an age to solve – GPFs and crashing on close-down, for instance. Even after following a troubleshooting guide you might be no better off. Whenever you have an intractable problem which could be due to a conflict between pieces of software, or between software and hardware, reinstalling Windows and your drivers and applications often effects a cure.
On a PC which is not too loaded down, this can be quicker than working your way through a troubleshooting guide. I had a PC which invariably crashed when I closed down Windows. I lived with it for months because nothing I tried worked. Eventually I reinstalled everything and the problem went away. It took an hour or two, but that was far less time than I'd wasted previously.
Don't be tempted to restore the system from a backup. You'll be restoring the problem too. Install everything from the original floppies or CDs. I recommend a fresh DOS installation while you are at it. Also, don't reinstall over the original software. Wipe the disk and start from scratch. Before you do that, make doubly sure that documents, templates, macros and other data files have been saved, and also that you have all the necessary drivers for CD-ROMs, video, sound and so on. Even though you don't intend to restore from a backup, it is a good idea to have one just in case you find something important is missing from the fresh installation.
This topic deals with a message from Windows along the lines of: 'Windows Protection Error. You need to restart your computer. An Internal stack overflow has caused this session to be halted. Change the stacks setting in your CONFIG.SYS file and then try again'. This is actually the Win95/98 version of the message, but Win3 can suffer from the same fault.
If there is not a STACKS line in CONFIG.SYS, you need to edit one in. It should be in the form:
STACKS = x, y
Try 18, 256 for x and y. Reboot the PC. If you still get the message, try higher values of x. If you get unexplained crashes, try bigger y values.
When a piece of hardware generates an interrupt to tell the processor that it needs to convey information, the currently executing program pauses while the hardware delivers its data into memory. Normally this goes on to the currently active stack. As I explained in issue 129, a stack is an area of memory a program can use as temporary storage – something like an array, but which can grow or shrink according to the amount of data which has to be stored.
The hardware makes use of the stack being belonging to the currently executing program. This is quicker than setting up a stack especially for the hardware interrupt because switching between stacks takes time. The downside is that the space inside which a stack can grow is limited. If the hardware tries to shove a lot of data on to a stack which the program had nearly filled, it will overflow. This is a potentially fatal error, so if Windows spots it happening before disaster strikes, it'll warn you.
Values other than 0,0 in the STACKS line force a new stack to be created and switched into place for hardware interrupts. The consequential loss of performance can cause difficulties if the hardware generating the interrupt relies on high-speed communications, but it seems that you have no option but to give it a try.
When Windows runs out of physical memory it can overflow on to the hard disk. A file known as the swap file is set up specially to hold the overflow. Although the swap file is included in the amount of memory Windows reports, it does not work in the same way as physical memory and the processor cannot access it directly.
When a program tries to read or write data which it thinks is in memory but which in reality has been put into the swap file, Windows has to copy the contents of some other chunk of physical memory on to the disk. It then reloads the data the program wants to access into physical memory. This slows the program down. Windows will appear to be very slow if it is using the swap file a lot, and although there are ways to tune Windows for increased speed, nothing beats fitting extra memory. It is so cheap these days that 16Mb is a realistic minimum to fit to most PCs running Win3, while 32Mb is a lot better and should be affordable.
Disk space masquerading as RAM is known as virtual memory. There are two kinds of swap file, permanent and temporary. If you don't have a permanent swap file installed, Windows will automatically create a temporary one. A permanent swap file is a hidden file called 386SPART.PAR. Do not delete this, even if Windows is not running.
People often ask whether a permanent or temporary swap file is best. A permanent swap file is by far the more desirable because it is quicker to access and so enables Windows to operate much faster when swapping memory to and from disk. There are two main reasons why you would opt for a temporary swap file:
On PCs with a lot of memory – say 20Mb or more – it may be beneficial to run Windows without any kind of swap file. Even when it hasn't run out of RAM, Windows will read and write the file. Eliminating the file will cut that out. However, you risk data loss if Windows does run out of memory. Windows is actually less efficient in its use of physical memory when there is no swap file available, so the point at which memory becomes exhausted comes sooner.
You can set the type of swap file from the Enhanced section of Control Panel. Click the Virtual Memory button and then on Change. Windows will recommend a size which is a multiple of the physical RAM fitted, so it can amount to a substantial proportion of the hard disk on a well-specified machine. In such a case cut the size to 20Mb, say, and see how it goes.
The permanent swap file needs to be on unfragmented disk space, so run your disk defragmenter before setting one up. Swap files are of no benefit to DOS programs run from within Windows, other than to enable Windows to make enough memory free to run the program in the first place.
A dynalink is simply a program trying to run a bit of program code resident in different file. Typically the called-up code would be in a dynamic link library (DLL). One of the main ideas behind DLLs is that programmers can avoid duplicating program code in different applications by putting it in one of these library files.
If the library code does not exist or it is corrupt, Windows will give you the 'undefined dynalink' message, and the application will close down. Typical causes of this problem are deleting a DLL or program file, renaming it, damaging it, or overwriting it with an old version which doesn't have the required portion of code. Note that not all dynalinks are from an EXE file to a DLL, and that DLL problems can result in errors other than the dynalink message.
Reinstalling Windows is often a quick solution to weird problems. That is not to say the problem might not be solved with more finesse, but it could take longer. Knowing what you now do about dynalinks, there are a few ways you might diagnose the problem and devise a less brutal solution.
The best way is to use a utility that logs which files are being accessed. You would then try to start the program giving the error and see the name of the file causing the message. We put such a utility, Win-eXpose-I/O, on issue 121's SuperCD. It can also be obtained from http://www.shetef.com.
With luck, once you have identified the missing or damaged file, you can reinstate it from your Windows installation disks and everything will be back to normal.
The word from Microsoft is that File Manager will celebrate the new millenium by showing scrambled dates. You can obtain an updated Y2K-compliant version of the program via http://support.microsoft.com/support/kb/articles/q85/5/57.asp. There is a similar problem if you are one of those hardy souls using File Manager in Win95. The update for that is explained at http://support.microsoft.com/support/kb/articles/q172/7/07.asp.
What is it, what good does it do, and where do I get it? These are frequent questions. Windows 3 is a 16-bit operating system. This means Windows and the programs which run on it are built from program instructions which don't take full advantage of the power of the processors in modern PCs. Windows 95/98 and NT are 32-bit operating systems which do make full use of modern processors. 32-bit programs are potentially faster and can handle memory more efficiently than 16-bit ones.
Although you can run 16-bit programs on Win95/98/NT, you can't normally run 32-bit ones on Windows 3. However, if you install the Win32s add-on, you can run some 32-bit programs but not all of them. Any software which requires Win32s should include it. Installing Win32s confers no benefit on 16-bit software and has nothing to do with 32-bit disk and file access.
With, say, 32Mb of memory it ought to be possible to run 16-bit software on Windows 3.11 without a swap file unless you are manipulating exceptionally large amounts of data or running several big applications simultaneously.
Removing the swap file saves disk space, of course, but Windows runs faster too. This is because even when it is not having to write big chunks of memory to disk, with a swap file available Windows does spend time fiddling around with it.
However, after reading through some of Microsoft's technical information, it seems that Win32s programs either demand or work more efficiently with a swap file, although you may get away with a setting of only 2048K. I'd try that and gradually work upwards if you encounter problems.
As long as the processor is 386 or above, Windows is being run in Enhanced Mode, and the version of HIMEM.SYS being used is 3.07 or greater, then Windows 3.1 can access 256Mb total physical and virtual memory (the swap file). The 16Mb limit is a popular misconception. Windows 3.0 was limited to 16Mb, and Win3.1 can follow suit under certain circumstances such as when running on a 286 computer or using an old version of HIMEM.SYS or on a few problematical machines.
If a window's title bar has somehow strayed off the screen, the easiest way to bring it home is to make it the active window and press [Alt] plus the spacebar. This will bring down its control menu. Press [M] for move and the cursor should turn into a four-headed arrow. Use the arrow keys to relocate the window and then press [Return]. An alternative is to bring up Task Manager – press [Ctrl][Esc] – then click on the hidden window's title and press Cascade.
1 If you want to convert text files downloaded from the Internet into reformattable documents, Write can handle this as long as the end of each paragraph has a unique feature, such as a double carriage return. The plan is to replace all the double returns with a sequence of characters that doesn't appear elsewhere in the text.
This keeps the paragraph end markers safe during the next step, which is to replace all the remaining carriage returns with a blank, or with a space, depending on whether line-ends already have spaces. Next, replace the unique character strings with double carriage returns, or with a carriage return plus tab, whichever style you prefer.
You can enter special characters in Write's Find and Replace dialogs by entering special codes. These are listed in the help file. To save you the trouble of looking them up, here they are:
^d Page break inserted in file with [Ctrl][Enter]
^p Paragraph mark (carriage return)
^t Tab character
^w Space character
? Wildcard – any character or string of characters
After replacing the paragraph marks, it is not a bad idea to do a repeated search and replace, changing two spaces into one. Most word processors enable you to perform a similar trick, though the codes could be different.
2 If you want Write to start up with your own letter head and settings for ruler, font etc, create a blank document called DEFAULT.WRI which contains all these features. Save it in your Windows directory, Edit the Write icon properties to load DEFAULT.WRI – make the icon's command line:
WRITE.EXE DEFAULT.WRI
The only thing to watch out for is that when you save a document based on this file, that you use Save As instead of save, or you will overwrite DEFAULT.WRI. To avoid that, you could write-protect DEFAULT.WRI to prevent it being overwritten.
3 From Greg Chapman: "[Ctrl], [Shift] and [Ctrl][Shift] versions of the standard navigation keys, [Pg Up], [Pg Dn], [Home] and [End], exist. Also, press [5] on the numeric keypad (Num Lock must be turned off) and then one of the following:
[Right Arrow] Next sentence
[Left Arrow] Previous sentence
[Down Arrow] Next paragraph
[Up Arrow] Previous paragraph
[Pg Down] Next page
[Pg Up] Previous page
"The [Shift][5] versions of these select text, though I found, on my keyboard, they can be sensitive to which [Shift] key is used!"