Doing MS Windows

About code quality

1. Articles about Microsoft practices

2. Interface tips

2.1 Start menu

In Windows 7, there is a Start Menu item in C:\Users\username\ but it is just a shortcut and ‘Access is denied’. The real folder is in C:\Users\username\AppData\Roaming\Microsoft\Windows\. There is also a Start Menu item in C:\ProgramData\Microsoft\Windows\. I don't understand the relationship. Items that have been pinned to the Start Menu are found in C:\Users\username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu. Dragging a folder into this location doesn't accomplish anything. I was hoping to get something like the way the pinned Firefox item expands to multiple Tasks.

2.2 Clicks

Under certain circumstances (possibly related to the installation of IE 5), certain versions of Windows will emit a Click sound when Windows Explorer is used to open a new directory, or when a link is selected in IE, or when a Web-page frame is refreshed (perhaps repeatedly but invisibly). If this clicking irritates you, disable the Start Navigation sound under Start Settings Control Panel Sounds Windows Explorer.

2.3 Variable menus

In Windows 2000, by default, menus change their contents depending on which items you've used recently. This means that menus are unpredictable, and that it's more difficult to get at seldom-used features. Microsoft calls these ‘personalized’ menus and considers this to be an accessibility feature. To turn it off, go to Start Programs Accessories Accessibility Accessibility Wizard. Click on Next until you get to the Display Settings dialogue box. (You'll have to pass through a Text Size dialogue box which may go crazy for a while messing with your screen fonts.) Make sure the Disable Personalized Menus box is checked. Click on Next as often as necessary, ignoring a stupid No Options Selected warning.

That was for Windows itself. For Word, do Tools Customize Options and make sure the Always show full menus box is checked.

2.4 Accelerator-key underlining

Starting with Windows 2000, by default the underlining of keyboard accelerators is hidden until the Alt key is pressed. This behaviour can be controlled by going to Control Panel Display Appearance Effects and checking or unchecking the box labelled Hide underlined letters for keyboard navigation until I press the Alt key. This also applies to the visibility of focus rectangles. (References: details and comments; rationale)

2.5 Keyboard mapping

Editing value of Scancode Map It may be desirable to swap the Control key and the Caps Lock key, so the Control key (heavily used in Emacs, for example) is positioned to the left of the ‘A’ key and is easier to reach. You can make the swap by editing the Windows registry.

Note that editing the registry is very dangerous. Before editing it you should back it up by doing Registry Export registry file.

To edit the registry, do Start Run regedit. In regedit select the key HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ KeyBoard Layout. Do Edit New Binary Value, give it the name Scancode Map, then use Edit Modify and give it the value

    00 00 00 00 00 00 00 00
    03 00 00 00 1D 00 3A 00
    3A 00 1D 00 00 00 00 00
where the first 8 00's constitute a header, the number of map entries is 0000003 (including the final null entry), 001D is mapped to 003A, and 003A is mapped to 001D. The entries are in reverse byte order.

Reboot for the key swapping to take effect. Note that the swapping will apply to all users.

3. Installation tips

3.1 Large disks

When installing Windows NT on a machine with a large hard disk, only 8 GB of disk space will be recognized, even though the CMOS settings recognize more. Go ahead and install Windows with a system partition of 4 GB (the maximum). Once Service Pack 5 (or 4) has been installed, the system will recognize the whole disk, and Disk Manager can be used to define a partition (or partitions) for the rest of the disk.

3.2 Plain-text passwords

After a new Windows NT machine has been installed (or Windows NT has had to be re-installed on an existing machine), it is necessary to enable plaintext passwords, in order to permit access to Samba on Unix/Linux machines (e.g., Funsan and Fundus). This is done by using the Registry Editor to set the key
\SYSTEM\CurrentControlSet\Services\Rdr\Parameters to
EnablePlainTextPassword REG_DWORD 1 (See MS Support page.)

Under Windows 2000 this can be done by doing Start Settings Control Panel Administrative Tools Local Security Policy. In the Local Security Settings dialogue box, select Local Policies Security Options, double-click on Send unencrypted password to connect to third-party SMB servers and enable it. Apparently a reboot is then required. (Note that the instructions for finding Administrative Tools are incorrect on the relevant MS Support page: they say to use Programs rather than Settings Control Panel.)

3.3 Printers

Under Windows NT, to print using the network printers, HP Jet Admin software must be installed on each machine. It can be installed from \\milsum\download\system\hp\jetadmin\3.4\hpjanten.exe. Running the self-extracting executable (choose an appropriate destination directory rather than using the default) will create several directories called Diskn. In Disk1 run Setup.exe. Once it has been installed, add a printer by doing Start Programs HP JetAdmin Utilities Add HP JetDirect Printer . Use Easy setup and click Next as required. Protocol will be TCP/IP; use the Printer List and select printer 132.206.111.12 for the printer in the hall opposite room 311, and select the driver for HP LaserJet 4Si/4Si MX PS.

Under Windows 2000, HP Jet Admin is not required. (In fact I got an error message when I tried to install it, although it continued to install itself and pretended to work.) To gain access to a remote printer, do Start Settings Printers Add Printer. Specify that it will be a Local printer even though it won't, and make sure the check box Automatically detect and install my Plug and Play printer is not checked. Create a new port, of type Standard TCP/IP port, with the appropriate TCP/IP address. Specify the appropriate manufacturer and printer type.


R. Funnell
Last modified: 2011-07-03 08:25:01