Windows Info
Home Consultancy Support Contracts Client History Downloads Links Contact Us

Return

Configuring Windows

Apart from all the standard things to check such as removing excess applications, fonts, printers, screen savers, wallpaper backgrounds, active desktop, channel bar, Office toolbar, sound schemes, power management, programs from Startup group etc. there are many others that can make a big difference to the performance of a PC running Windows 95 or 98.

With some of these settings a bare Windows 95 system on an old 486 DX4/100 runs a 4x speed SCSI CDWriter quite nicely with very few buffer under-run and failed CD burn problems.

CONFIG.SYS

Quite often in commercial systems that I see there are many entries in here that aren't needed hung over from old Windows versions - the one which causes the most problems being FILES=xx.  While Windows shouldn't be effected by these settings some applications, especially Lotus Notes, seems to be.  If it runs out of file handles you get some very odd exception errors, corrupted files, and Access Denied messages.  Under Windows 9x you can just remove both the FILES= or BUFFERS= entries but if you do want them there make them suitably high, eg:

FILES=220
BUFFERS=80

While in Config.sys also REM out any drivers for CD Drives, hard discs, Smart Drive, in fact generally anything other than a device command for display.sys and possibly a country command.

AUTOEXEC.BAT

Check that the TEMP and TMP variables are SET and point to a valid directory as they can produce really silly error messages if not, eg:

SET TEMP=C:\windows\temp

While there, sort this directory by date and delete anything older than today's date.

MSDOS.SYS

Once this file has had it's attributes changed from Hidden, System, Read Only it can be edited with a text editor then return the attributes to their previous settings.

Under the [Options] section the following options are valid:

  • BootDelay=0 removes the pause while "loading Windows 9x" is on screen. Default 2. 
  • BootKeys=0 removes system response to F5, F8 etc. to bypass CONFIG.SYS etc.
  • Network=1 enables the option "Safe mode with networking support"
  • BootSafe=1 makes Windows 9x boot into safe mode on next boot
  • Logo=0 removes the startup logo
  • BootGUI=0 makes Windows 9x boot to a command prompt.  Type WIN to load the Windows GUI itself.
  • BootMenu=1 makes the Normal / Safe Mode / Command Prompt menu appear every time Windows 9x is booted.
  • BootMenuDefault=1 sets which option in boot menu is default. 1=Normal, 3=Safe etc.
  • BootMenuDelay=10 sets delay before default option is chosen automatically
  • BootMulti=0 disables access to previous OS such as MS-DOS, "1" enables access.
  • BootWin=0 enables direct boot to previous OS rather than Windows 9x
  • BootWarn=0 will disable the warning when starting in Safe Mode
  • DBLSpace=0 stops \dblspace.bin loading & disables DOS 6 compressed drives
  • DRVSpace=0 stops \drvspace.bin loading & disables DOS 6.22 compressed drives

REGISTRY

Before changing a value in the registry, click on the last branch of the registry tree above and choose Export from the Registry menu to create a text file with all the settings in.

Registry settings to look at with REGEDIT.EXE:

HKey Local Machine (HKLM)\Software\Microsoft\Windows\CurrentVersion\Run
and HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices which contain a list of programs to run at Startup.  I always remove FINDFAST, LOADWC, and any other programs I don't want to run from here.

HKey Current User (HKCU)\Control Panel\Desktop\WindowMetrics should contain a String value MinAnimate with a value of 1.  This turns off the animation of windows as they appear so that they appear quicker!

HKCU\Control Panel\Desktop has another String entry for MenuShowDelay which should be set to 1 aswell.  With both of these configured the Start Menu is much more responsive.

HKCU\Software\Microsoft\Windows\Current Version\Policies\Explorer should contain a binary value called "NoStartBanner" with a value of 01.  This stops the "click here to begin" arrow which normally comes up the first time a user logins to Windows 9x.

WIN.INI

Sometimes old programs insert themselves into the WIN.INI file under the LOAD= and RUN= lines.  You can nearly always remove all entries from these lines.

SYSTEM.INI

Like WIN.INI, this file is still used in Windows 9x and can sometimes be configured to make Windows run faster.

If main memory is 128Mb or so you can add a line under the section [386Enh] to limit the amount of swap file that Windows uses - ConservativeSwapFileUsage=1.

Under the [vcache] section you can add lines for MinFileCache= and MaxFileCache= and set them both to 4096 which represents 4Mb for file caching.  If main memory is scarce then you can reduce these but it is much better to buy some more memory!

MEMORY

When I have 128Mb or more memory and the applications in use are not huge memory guzzlers I turn off Virtual Memory in the System area of the Control Panel which makes a huge difference when using time critical software such as CD Writing and Video editing.

Apparently if you change the role of the computer to "Network Server" in the File System area under Performance in the System Control Panel then File access can be quicker -- I can't say I have noticed this on systems I have used, however you also need to check the following two entries in the Registry under this key:

HKLM\Software\Microsoft\Windows\Current Version\FS Templates\Server

RAM

< 24Mb

> 24Mb

> 32Mb

NameCache

A9 0A 52 15 A4 2A

PathCache

40 00 80 00 00 01

The first two numbers against each entry should be the first two numbers shown above.

CDROM's AUTO RUNNING

I always turn this setting off, especially when I have a CDWriter involved as otherwise CD's autorun when inserted - especially annoying when you only want a driver from a Win9x or WinNT CD and it runs.

Open Control Panel, System, Device Manager, right click on the CD drive(s) choose Properties then Settings and make sure the "Auto Insert Notification" box is not ticked.

MISSING IDE DEVICES

When a new IDE device has been added or the configuration changed I turn on the DMA setting check box in the settings under each drive (in the Device section of Control Panel) as this can increase general PC performance dramatically.  Occasionally though the IDE controller will get a Yellow exclamation mark and the new IDE device will not appear.  After checking hardware settings and that the BIOS can see the new device other things to try are

  • Turn off DMA setting again
  • Remove IDE controllers & devices and let them be re-detected
  • Check the registry key HKLM\System\Current Control Set\Services\VxD\IOS for an entry NoIDE and delete it if there is one then reboot to redetect

WINDOWS KEY SHORTCUTS

Shortcut key

Function

R Open the Run dialog box  (or Start Button, R)
E Open an Explorer window
BREAK Opens System Properties  (or Right click My Computer, Properties)
F Opens Find Files dialog box  (or Start Button, F, F)
CTRL F Opens Find Computer dialog box
M Minimises all open windows
SHIFT M Reverts above minimised windows  (or right click toolbar, Undo Minimise All)
D Show Desktop  (Minimises / maximises all open windows)
Opens Start Menu  (Same as clicking on Start Button)
U Open Utility Manager (Magnifier / Narrator / On Screen Keyboard etc.)
TAB Switch between open windows
F1 Open Windows Help
ALT TAB Switch betwen open applications (with SHIFT in reverse order)
CONTROL T Switch between open document windows within an application (with SHIFT in reverse order)
CONTROL ESCAPE Opens Start Menu
CONTROL SHIFT E Opens Task Manager
ALT 0xxx Insert character xxx from user code page into open document
ALT xxx insert character xxx from system code page into open document
ALT PRINTSCRN Copy image of current window to clipboard  (ideal for documenting installations)
PRINTSCRN Copy image of whole screen to clipboard
ALT ESCAPE Cycles through programs in recently used order

TERMINAL SERVICES / REMOTE DESKTOP (RDP) shortcut keys

Below is a list of shortcut keys that can be used on a Terminal Server Client taken from Microsoft article Q186624

RDP Keypress Windows Equivalent Function
CTRL+ALT+END CTRL+ALT+DELETE Start Security dialog
ALT+PAGE UP ALT+TAB Switch between open windows
ALT+PAGE DOWN ALT+SHIFT+TAB Switch between open windows in reverse order
ALT+INSERT ALT+ESCAPE Cycles through programs in recently used order
ALT+HOME CONTROL+ESCAPE Display start menu
CTRL+ALT+BREAK   Switches between full screen and window
ALT+DELETE   Shows windows menu ?
CTRL+ALT+MINUS
(on keypad)
ALT PRINTSCRN Snapshot of current window on remote machine's clipboard
CTRL+ALT+PLUS
(on keypad)
PRINTSCRN Snapshot of whole screen on remote machine's clipboard

CONNECTING TO SHARES WITHOUT LOGGING IN 

If you add any shares which are requiring access by not-logged-in users or LocalSystem accounts on other WinNT / W2K PC's or servers to this key then they can accessed in the same way that NETLOGON can:

HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\ParametersValue:NullSessionShares

REMOVING REGISTRY KEY WITH '.REG' FILE

Add a minus sign before the key in a .REG file to remove the entire key (use with caution!)

e.g.
[-HKEY_CURRENT_USER\Software\MyApp]

DOS BATCH FILE TRICKS 

If you add the lines CLS and EXIT as the last two lines of a batch file it automatically closes the DOS window in Windows 9x without it going "Finished" and the user having to close it manually.

To get the current date when the OS might not be just Nt or 2000 I normally use a program such as Auto-It, a custom QuickBasic program or  PUTINENV but if I need to to it purely using a batch file then it is messy and you have to take into account the way different OS's report the date, e.g.:

@echo.|date|find /i "current">xyz.bat
@rem For Win 9x
@echo set currdate=%%4> current.bat
@echo set currday=%%3>> current.bat
@rem For Win NT/2K
@echo set currdate=%%5> the.bat
@echo set currday=%%4>> the.bat
@call xyz.bat

Save this as "getdate.bat".  This creates a batch file called xyz.bat with the output of the DATE command which is either "The current date is" for NT or "Current date is " for Win9x.  When xyz.bat is run then effectively runs either "current" or "the" which are created which runs two SET commands to add the variables CURRDATE and CURRDAY to the current session's environment.

To identify the OS version running without using a custom executable program similar techniques can be used with something like:

@ver > xyz.bat
@rem For Win NT/2K
@echo set OS=%%1 %%2> microsoft.bat
@rem For Win 95
@echo set OS=%%0 %%1> windows.bat
@call xyz.bat

Alternatively you could use some of the existing environment variables to check if you are on Windows 9x or Windows NT/2000 which works fairly reliably, e.g.:

If "%OS%" == "Windows_NT" goto WinNT2K
If NOT "%WINBOOTDIR%" == "" goto Win9x
:WinNT2K
  REM NT Stuff here
goto end
:Win9x
  REM Win9x Stuff here
goto end
:End

When you need to wait a small period of time with a batch file paused try this command.  Just add the no. of seconds to the command line and the program will pause for that many seconds or until a key is pressed.  The (very) simple source code is also available below:

REM Wait 5 minutes
waitsecs 300
REM carry on with batch file
WAITSECS.EXE	WAITSECS.BAS

AOL MAIL SETTINGS

imap.uk.aol.com (port 143, or 993 for SSL)
smtp.uk.aol.com (port 587, or 465 for SSL)

Use screen name normalised (remove any spaces) as username. Email address must be username@aol.com to use these servers otherwise use the SMTP proxy service on port 25.

LOG file using Notepad

Enter .LOG as the first line in a Notepad file, save, and close the file.  Then every time the file is saved it is date and time stamped in the text!

Windows 200x / XP command line

Some of the additional functions available on the Windows 2000 command line include:

  • &&    Command following only runs if previous command was successful
  • ||    Command following only runs if previous command fails
  • &    Separates multiple commands on one line
  • ( )    Combines multiple commands, e.g. to add multiple commands over several lines to an IF command
  • ^    Escape character to escape symbols such as &, <, > | etc. as text, e.g. 
          FOR /F %%A in ('type x.txt ^| find "xyz"') do echo %%A
  • >    Redirect to file
  • >>  Append to file
  • |   Pipe into next command
  • 2> Redirect errors to file
  • 1> Redirect normal output to file
  • 2>> Append errors to file
  • 1>> Append normal output to file
  • TITLE xxxx sets command prompt window title

Here I have started to write down information which I have picked up over the years from personal experience, articles in the computer press, internet sources, technet etc.  It is is not intended to be a full list of what to change in a Windows system nor is it likely that every item mentioned will make any difference on every machine.  I will expand this section as I get time.

Text links: Return ]