|
|
|
The Tweak UI (tweak the User Interface) applet began life as one of several applets included in the free Power Toys file download on the Microsoft web site. It offers many Windows customization features andperhaps due to its popularityis now included on the Windows 98 CD-ROM disc. Since Tweak UI is such a convenient means to demonstrate the Windows Registry in action, the following sections describe the edits made as each of its feature is enabled or disabled by the user. Although most such edits could be made by directly editing the Registry, it is certainly easier to let Tweak UI do the work instead. These edits should serve as typical examples of the relationship between almost any Windows application and the Windows Registry, and by following along with the descriptions given here, the user may get a better idea of general Registry editing procedures. To do so, open the Registry Editor and locate the key cited in the descriptions which follow. Note the current value of the appropriate item in the Contents pane, leave the Registry Editor window open and make a change from within Tweak UI. Click on the applet's Apply button, then open the Registry Editor's View menu and select the Refresh option (or simply press Function key F5). The change should be immediately noted in the Contents pane. In a few cases it may be necessary to close and reopen the Registry Editor for the change to take effect. Tweak UI Installation The first step is to locate the required files, as described here for both versions of Windows. Windows 95 Files. Windows 95 users can download the complete PowerToys suiteor just Tweak UIfrom the Microsoft web site. Those who lack the patience to penetrate Microsoft's electronic labyrinth may find it much faster to get there via the Windows Magazine web site (http://www.winmag.com), which tries its best to maintain unbroken links to this and other free downloads. Download the file (current name is W95TWEAKUI.EXE), move it into a C:\TEMP folder or other convenient location, double-click on it to extract the TWEAKUI files and then refer to the Installation Procedure section below to continue. Windows 98 Files. The Tweak UI files are conveniently located on the Windows 98 CD-ROM disc, in the \tools\reskit\powertoy folder which, despite its name, does not contain any other applets from the original PowerToys suite. Presumably these will remain available at the Microsoft web site, but are not discussed here. [Refer to Additional Information if you can't find the files on your CD-ROM disc.] Installation Procedure. The following files will be found in one of the locations cited above.
To install the applet, open the TWEAKUI.INF file's context menu and select the Install option to copy the files into the destination folders listed above. The installation procedure places a Tweak UI icon in the Control Panel window, which can be dragged to the Windows Desktop to create a shortcut to it. It also adds a Registry entry which permits Tweak UI to perform various user-specified actions on startup. Additional details are given in the Tweak UI at Startup section which appears at the end of this Appendix, after the actions themselves have been introduced and described. The Windows 98 Install procedure pauses at the Introducing Tweak UI step to display the About Tweak UI window shown in Figure A-1, and you must close the window to proceed. Although this is no major problem for a one-time installation, it might be worthwhile to copy the \powertoy folder to a diskette if you need to do multiple unattended installations. Then clear the TWEAKUI.INF file's read-only attribute, open it in NotePad, find the [TweakUI.Add.Reg] section header and put a semi-colon in front of the last line in that section, as shown by the first two lines below:
[TweakUI.Add.Reg] The %SMWCV% segment in the HKLM line (abbreviated above) is a pointer to an entry in the [Strings] section shown by the last two lines above. In other words, the complete Registry key structure is HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce. By disabling this line, the help-screen pause during the Install procedure is eliminated.
Tweak UI Applet TabsThe following sections describe the relationship between the Windows Registry and the various options available via Tweak UI's tabs. Since its purpose is to show how a typical application or applet writes data into the Registry, tab option descriptions are limited to whatever is needed to follow along. Although most options are self-explanatory, some additional information is available via the Tips button on the Mouse tab, and the Help (question mark) button and What's This? pop-up help. Note however that the quality of this help varies from reasonably-informative to worse-than-useless. The tabs are listed here in alphabetical order, although they don't appear that way in either of the Tweak UI applets. In Windows 95, they appear in two horizontal rows, while in Windows 98, there is a single horizontal row with a pair of arrow buttons at the end. Click on the appropriate button to scroll the tabs in either direction. The figures in the sections which follow illustrate both styles. Unless otherwise noted, entries in the Data column in the accompanying tables indicate the default value for that item, or the value if that item alone is enabled. Note that the manner in which data is recorded varies from one Tweak UI tab to another, and even within a single tab. As typical examples, the status of seven options in the Windows 98 General tab's Effects section is determined by seven binary flags within a single UserPreferenceMask entry (see Table A-4). By contrast, the status of the nine options in the IE4 tab's Settings section is written into nine different entries of four bytes each (see Table A-5), even though only one bit is required to record each option's current status. In many cases a lengthy key structure abbreviated in the text (HKCU\ \CurrentVersion, for example) appears in full within the appropriate table.
The text at the top of this tab notes that The following software can be automatically removed by Windows and although the statement is certainly true, it does not apply to this tab. Instead, if a listed application is highlighted and the Remove button clicked, that application disappears from the list in Control Panel's Add/Remove Programs applet, which was shown in Figure 7-14. Tweak UI accomplishes this by removing the associated Registry entry (also shown in the same figure) while leaving the application itself and its other Registry entries undisturbed. As a result, the application continues to function normally, but can no longer be uninstalled via the Add/Remove Programs applet. This feature can be convenient in preventing unauthorized helpers from removing applications by accident or on purpose, but it does make things difficult if you eventually decide the application should indeed be removed. Therefore, you may want to export a copy of the associated Registry key to diskette before clicking the Remove button. By so doing, you can import it back into the Registry later on if it becomes necessary to do a full uninstall. The feature is also helpful if an application has been removed, but its listing on the Add/Remove list remains. In this case, Tweak UI's Remove button is the fastest way to delete the listing too. Although the Edit button can be used to edit any Uninstall subkey, note that the nomenclature differs from that seen in the Registry Editor window, as shown here:
Although this tab has no effect on the Registry, its functions are briefly listed here for the sake of completeness. As each option is modified, the Windows MSDOS.SYS startup file is edited as shown in Table A-1 The edit takes effect when the Apply button is clicked. To restore the MSDOS.SYS file to its original post-setup configuration, click on the Restore Factory Settings button.
In the Windows 98 Tweak UI, the former Function keys available for x seconds (with x adjustable by the user), is replaced by just Function keys available because the option to vary the BootDelay time is no longer supported. Although a BootDelay=2 line still appears in the Windows 98 MSDOS.SYS file, changing the delay from 2 (seconds) to some other value has no effect. Restore Factory Settings. This button restores the MSDOS.SYS file lines to the original factory settings listed in Table A-1. It does not however affect default settings not shown on the Boot tab.
The Control Panel tab is yet more proof that the INI file is still with us. For example, if you use the Windows System Policy Editor (see Chapter 4) to restrict access to Control Panel's Network applet, the Network icon remains in place, but if you double-click on it, a message advises that Your system administrator disabled the Network control panel. But if the Tweak UI Control Panel tab's netcpl.cpl check box is cleared, then the Network icon itself disappears from Control Panel. The Policy Editor writes its instructions into the Registry; Tweak UI doesn't (at least, not in this case). Instead, it adds a netcpl.cpl=no line in the [don't load] section of CONTROL.INI. But whether it's the Registry or the INI file, neither restriction will permanently stop the knowledgeable hacker from defeating it. However, the complete absence of the Network icon may deter the casual visitor from accidentally messing up your system.
This tab displays a list of Special desktop icons, even though a few of them are conventional object icons that appear by default on most Windows Desktops. A typical list is given in Table A-2, along with the associated CLSID number for each object.
Context Menu Options. If any object on the Desktop tab's Special desktop icons list is highlighted, its Context menu displays the options described below. If an option is disabled (see Table), it is not supported by that object. Show on Desktop. If a check mark appears next to this option, the box to the left of the object is also checked (and vice versa), the CLSID key name shown in the Table appears as a subkey under the HKLM\ \NameSpace key structure, and the object's icon appears on the Desktop. If the checkbox is cleared, the associated CLSID subkey under the NameSpace key is deleted and the icon is removed from the Desktop. Create as File. This Context menu option duplicates the action of clicking the Create As File button near the bottom of the Desktop tab. In either case, a zero-byte file is created at the location specified by the userusually C:\Windows\Desktopand its name takes the format shown by the first two examples under the DOS Filename section of Table A-2. Note that the extension is the CLSID number associated with the object, and that this extension does not appear under the object icon at the specified location. Control Panel and Printers. As an exception to the just-described file-creation examples, if the Create As File option is selected for either of these objects, a folder with that name is created instead, as shown by the last two examples under the DOS Filename section of Table A-2. Once a file or folder has been created, it may be dragged to any convenient location, such as the Windows Desktop or elsewhere. To remove the object icon later on, simply highlight it in Explorer and delete it. As a convenient means of finding all such items, open Explorer's View menu, select Options (Folder Options in IE4), then review the View tab options to make sure no file extensions are hidden. Now open any folder in Explorer view and click the Size button so that zero-byte files appear immediately below the list of folders. Any filename that still does not display an extension was probably created as described above, and may be deleted if no longer needed. Rename. If this option needs an explanation, it's time to turn the computer off and take a break. Network Neighborhood Icon. As one exception to the Desktop tab list described above, the Network Neighborhood checkbox does not place a CLSID subkey under the NameSpace key. Instead, if this checkbox is cleared, Tweak UI edits the Registry as described in the Remove Network Neighborhood section of Chapter 6. But first, the following message appears when the Apply button is clicked after clearing the Checkbox: Removing the Network Neighborhood from the desktop has additional consequences which are not obvious. Would you like to see additional information about this? The additional information points out that hiding the Network Neighborhood icon will prevent Explorer from accessing resources via UNCs. The unexplained UNC (Universal Naming Convention) format identifies a network resource in the following manner: \\network computer name\sharename\path\filename However, anyone who takes the trouble to hide the Network Neighborhood should not be surprised to find that network resources are hidden. The additional information screen also notes incorrectly that In order to access network resources from Explorer, you need to map them to a drive letter. To access any network resource, simply select Explorer's Network Neighborhood folder and search for the desired resource. A Network folder may of course be mapped to a local drive letter, but this is an optional step.
This tab displays the selection of radio buttons and checkboxes shown in Figure A-2 and described in the following sections. Shortcut overlay. Under default conditions, a shortcut icon is identified by a small boxed arrow overlay in the lower left-hand corner of the icon and the Arrow radio button in the Explorer tab's Shortcut overlay section is enabled. If some other radio button in this section is clicked, that information is written into a subkey beneath the HKLM\ \CurrentVersion key, as shown in the Shortcut overlay section of Table A-3. The number (29) in the Name column is associated with the shortcut icon overlay, and the Data column identifies the new icon that now takes the place of the default overlay icon. The None icon is transparent, and therefore invisible. If the Custom radio button is selected, a Change Icon window allows the user to select the desired icon, such as the large arrow overlay that was available in the Windows 95 SHELL32.DLL file (but not present in the Windows 98 SHELL32.DLL file). Since this change takes place in the HKLM section of the Registry it affects all users, as indicated by a Note in the Shortcut overlay section of the Explorer tab. For more details on the Shell Icons Registry key, refer to The Shell Icons Key, and to Table 6-5 in Chapter 6. Startup. When the Windows GUI opens, a Welcome Screen displays a Did you know tip and a moving Click here to begin banner slides across the Taskbar toward the Start button. Each of these features is controlled by a subkey entry under the HKCU\ \CurrentVersion Registry key structure shown in the Startup Section of Table A-3. In both examples, the default data entry is shown, and if the associated checkbox is cleared, the first byte (default state shown underlined) changes from 00 to 01, or vice versa. Note the inconsistency between the two settings: in the first example, the animated banner is not disabled (00 00 00 00), which might have been better written as StartBanner 01 00 00 00, to follow the style (and common-sense logic) of the second example. Settings. The checkboxes in this section write entries into the various subkeys listed in the Settings Section of Table A-3. The Link entry is written into the Explorer subkey if the Prefix checkbox is cleared; if the box is checked, the entire entry is deleted. The NoSaveSettings example is another of those Microsoft double-negatives; if Save window settings is enabled (checked), then NoSaveSettings is not enabled, as indicated by the Data string of zeroes. As in the Startup examples in the Startup Section of the Table, the underlined byte changes from 00 to 01 if the checkbox is cleared.
Restore Factory Settings. This button restores the Shortcut overlay to the default small arrow icon, puts a check in each box and rewrites the Registry entries as required to do so.
This tab displays the check boxes and other features illustrated in Figure A-3 and described here. Effects. The checkboxes in this section write entries into the Registry under the subkeys listed in Table A-4, all of which appear under various HKCU\ key structures, as shown in that Table.
Effects Help.Refer to the Animated Window section of Chapter 6 for additional details about Window animation, and use the popup Help feature for information on Smooth scrolling and Beep on errors in Windows 95. In Windows 98, the Help button reports that help is not available for any item in the Effects section, but that's not correct. Left-click on any item to display the What's This? pop-up, then click on it to display a reasonably-detailed help screen. Special Folders. The popup Help text states that the location of certain special folders can be changed, which may suggest this option moves a folder from one location to another. But that's not quite what happens. Instead, the Folder box lists one of these special folders, and the grayed Location box beneath it indicates the source of the objects currently associated with that folder. The following examples show how this feature works. By default, Windows displays various objects on the Desktop, including those found in Explorer's C:\Windows\Desktop folder, such as; Briefcase, Online Services, and the user's own Desktop shortcuts and other objects. The default location of this Desktop folder appears in the HKCU\ \Shell Folders subkey, as shown by the first line in the Special Folders section of Table A-4. However, if the Desktop folder is selected in the General tab's Special Folders section and the Change Location button is clicked, then some other folder can be selected instead. This information is written into the HKCU\ \User Shell Folders key shown by the second line in the Special Folders section of Table A-4, and all objects (folders and files) in the new user-specified location will now appear on the Desktop in place of those in the C:\Windows\Desktop folder. In other words, information written into the User Shell Folders key takes precedence over similar information in the Shell Folders key. As one more example, a new C:\Windows\Start Menu\Programs\StartUp2 folder might be created, with an alternate group of Startup shortcuts in it. Now select the Startup folder and change its location to the new StartUp2 folder. The next time Windows starts, the applications specified in that folder will be executed instead of those in the default StartUp folder. As in the previous example, the new Startup entry is written into the HKCU\ \User Shell Folders key. Internet Explorer 3.0 (Windows 95), Internet Explorer (Windows 98). If you type ? keyword in the Internet Explorer's Address bar, the search engine specified here is used to search for the keyword you typed. The Registry records the appropriate information, as shown by the example in the Internet Explorer section of Table A-4. Restore Factory Settings (Windows 95 only). The button, which does not appear in the Windows 98 Tweak UI, restores the Effects and Internet Explorer sections to their original settings, but has no effect on any changes made within the Special Folders section. If you need assistance restoring a default folder location, refer to the Tweak UI Troubleshooting section of Chapter 7.
This tab contains the single section described here. Settings. In keeping with current events, most of the tweaks listed in this section have nothing to do with you-know-what. To cite one example, there's a checkbox for Show Documents on Start Menu which really means Show Documents option on Start Menu. The documents themselves show up on a cascading menu if this option is selected, but there is no known connection between this tweak and Internet Explorer. The checkboxes in this section write entries into the Registry under the HKCU\ \CurrentVersion subkeys listed in Table A-5.
The controls on this tab do not duplicate those available via Control Panel's Mouse applet, but instead add a few supplementary features which are briefly described here and listed in Table A-6. The Windows 98 version of Tweak UI displays a mouse wheel section that is disabled (grayed) unless a Microsoft Intellimouse (or similar, with mouse wheel) is installed. For comparison purposes, the Mouse tab in the Windows 95 and Windows 98 Tweak UI applets are shown in Figure A-4 and Figure A-5.
Menu Speed. This slider varies the Registry's MenuShowDelay setting, which is described in the Cascading Menus section of Chapter 6. Mouse sensitivity. The two options listed here affect mouse movement as follows: Double-click. The setting determines how far the mouse pointer may move between two clicks, which will still be considered as a double-click action. Although the displayed Double-click range is 1-32 pixels, in one-pixel increments, Table A-6 shows that this data is written in half-pixel increments (x = 2-64). Drag. If an object is selected and the primary mouse button held down, the mouse pointer must be moved the specified distance before the selected object is dragged. You may want to increase the value if an object is dragged accidentally when you click on it. Unlike the Double-click option described above, Drag data is written in one-pixel increments. Use mouse wheel for scrolling (Windows 98 with mouse-wheel device only). The effect of these settings on the Registry is shown in Table A-6. Refer to the pop-up What's This? help for further details. Check Box: Activation follows mouse (X-Mouse). If you wonder what this means, the What's This? help offers the following unhelpful information: The Activation follows mouse check-box enables X-Mouse style window activation. Or to put it another way, if you enable X-Mouse activation, then X-Mouse activation is enabled. If that's not sufficiently informative, just think of it as a Mouse pointer activates window option. If enabled (checked) and the mouse is moved across several open windows, the window under its pointer becomes active until the pointer moves beyond its boundaries. Note that this option shares the UserPreferenceMask entry line with the Effects options described in the General Tab section earlier in this Appendix. Tips. In lieu of the conventional Help Menu found on most Windows applications, Tweak UI's help is accessible via a Tips button that appears on the Mouse tab only. When the button is clicked, it leads to the expected Contents, Index and Find tabs found on most other help screens. There may be a good reason for making help available via the Mouse tab only, and for calling it Tips instead of Help. But then again, there may not. Other help is available via the Help (question mark) button in the upper right-hand corner of the Tweak UI window and also the What's This? button, subject to the quirks cited in some of the other sections of this Appendix. Restore Factory Settings. The options are reset to the factory values shown in Table A-6.
This tab displays a list of drives A-Z, with a check box next to each one, as shown in Figure A-6. If a check box is cleared, that drive letter (if present on the system) will not be shown in the My Computer or Explorer windows, with the exception of drive C which will continue to be displayed in any Explorer window. The list of disabled drive letters is written into the following Registry key: HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer If selected drive letters are disabled via the My Computer tab, the data is written into the subkey's Contents pane as shown by the first line below.
To verify the removed drive letters, reverse the data bytes (only in the Tweak UI example), convert them to their binary equivalents and label each bit with a drive letter, in the reverse sequence shown here.
In the first example, the check boxes next to drives B, I, L, Q, R and U-X were cleared via Tweak UI's My Computer tab. For comparison purposes, the second line shows the effect of using the System Policy Editor's Hide Drives option to restrict access to all drives, as previously described in the System Policy Editor section of Chapter 4. If that option were in fact used, then Tweak UI's My Computer tab would show that all drive letter check boxes were cleared. As one more bit of Windows trivia, note that Tweak UI writes its data in binary format, while the System Policy Editor does it as a DWORD. The data is converted from one format to the other according to the most recent means of access.
This tab contains the single section described immediately below. Logon. This feature may be convenient on a PC configured for a password prompt at startup, but only if one person uses the system in a low-security environment. If so, put a check in the Log on automatically at system startup box, enter the user name and password and click on the Apply button. The next time the opening password prompt window appears, Tweak UI will enter this information automatically and the Windows GUI will open without a pause for user input. In Windows 98, the Clear last user option (see Paranoia Tab below) must be cleared in order for the automatic logon to function. Note that if this feature is enabled, the user's password is written into the Registry in unencrypted format, as shown in Figure A-7, where it can be viewed by anyone who has just finished reading this sentence. You may therefore want to delete this key if the system is to be left unattended and snoopers are in the neighborhood.
This tab can be used to create or remove a ShellNew subkey under one of the HKCR key's Filename-Extension subkeys. For example, if an HTM file residing on the Desktop (or elsewhere) is dragged into the New tab's checkbox area, a ShellNew subkey will be created under the HKCR\.htm key, and its Contents pane will display a FileName entry which cites the name of that HTM file. In addition, an Internet Document (HTML) or Netscape Hyptertext Document (or similar) entry will appear in the checkbox list and also as an option on the Desktop Context menu's cascading New option, as shown in Figure A-8. If a checkbox is cleared, a minus sign is appended to the associated ShellNew subkey name (for example, HKCR\.htm\ShellNew-), thus disabling that key until the box is subsequently re-checked. If instead the object is highlighted and the Remove button is clicked, the associated ShellNew key is deleted from the Registry. However, the Remove button is disabled if that key's Contents pane contains a Command entry. Refer to The ShellNew Key in Chapter 2 for additional details about this key.
If everyone picks on you, then this is definitely your tab and you'll find it here in Figure A-9. Covering Your Tracks. In Chapter 4, the INF File as a Registry Editor and the Automated List Removal sections described how (and why) to delete various history lists. The check boxes in this section of Tweak UI make the task a bit easier, by writing data into one of the Registry keys listed in the Table. Depending on the specific checked box, the Contents pane entry with the uninformative Name of "1" shows one of the Data entries listed in Table A-7, where the Binary Equivalent column indicates the flag that is set for that Data entry. If more than one box is checkedand thus more than one flag is setthen the Data entry changes accordingly.
Clear Selected Items Now. Click the button with this name at any time to perform the desired Clear operations, which otherwise take place only at logon. Things That Happen Behind Your Back. Perhaps so-named in keeping with the Paranoia theme, the features within this section require that Auto-Insert notification is enabled for your CD-ROM drive. To verify this, open Device Manager, select the specific drive, click on the Properties button and select the Settings tab. Put a check in the Auto insert notification box. Play audio CDs automatically. If this box is checked, the CD-audio applet (CDPLAYER.EXE) automatically plays an audio compact disc when it is inserted in the CD-ROM drive. The HKCR\Audio\shell Registry subkey determines the status of this function by editing the Contents pane data, as also shown in Table A-7. Play data CDs automatically. If this box is checked, a data CD-ROM disc will be recognized when it is inserted in the CD-ROM drive, provided it has an AUTORUN.INF file in its root directory. For further details, including a description of the associated Registry key and its Contents pane, refer to the Drive Media Icons section of Chapter 6. The action of checking the check box clears the CD-ROM bit (bit 5) described in that section. Illegal Operations. Application errors should be illegal even for those who don't suffer from paranoia. But until the appropriate laws are passed, it's possible to log these errors as they occur. Log application errors to FAULTLOG.TXT.The HKLM\ \Fault subkey is written into the Registry the first time this box is checked. If the box is subsequently cleared, the key remains in place, but the LogFile entry shown in Table A-7 is deleted.
Figure A-10 shows the five repair buttons that appear on this tab in Windows 95, while Windows 98 presents a drop-down menu with seven options on it. Each of these is briefly described here, although only the Repair Regedit button has much significance to the Registry. Repair Associations. The Windows 95 popup and Windows 98 Description section both advise that this button/option returns Explorer icons to their factory settings and restores the default associations for standard file types. But in fact, it seems to have no effect on Desktop icons. However, associations are restored to their default settings, and the opening Welcome Screen re-appears the next time Windows opens. Repair Font Folder. In order to function properly, the C:\Windows\fonts folder must contain a valid DESKTOP.INI file and the folder must have its system attribute set. If there seems to be a font-related problem, click this button to repair any damage that may have affected this folder. Rebuild Icons. Every now and then Windows gets a bit confused about the icons it's supposed to display, especially if the hidden shelliconcache file contains erroneous data. Depending on the nature of the problem, clicking on this button may resolve it. Refer to The ShellIconCache File in Chapter 6 for details about the purpose of this file. Repair Regedit. Under normal conditions, the Registry Editor's vertical Split Bar should be aligned so the Key Pane is clearly visible, and the Contents Pane Name and Data columns should likewise be visible. To fix a problem with any of these items, close the Registry Editor, open Tweak UI, select the Repair tab, click the Repair Regedit button, close Tweak UI and reopen the Registry Editor. Better yet, forget what you just read and make the adjustments manually. See Contents Pane Headings Missing in Chapter 7 for more details. Repair System Files. Some applications may replace a critical DLL or other file with another version, which could create a startup problem. Click this button to copy the correct versions of such files from the hidden C:\Windows\Sysbckup folder back to the C:\Windows\System folder. Repair Temporary Internet Files (Windows 98 only). This option is similar to the Repair URL History (see below), but it acts on the C:\Windows\Temporary Internet Files folder and the subfolders beneath it. Repair URL History (Windows 98 only). The Description section invites you to use this option when you find the URL History folder has lost its magic and is acting like a normal folder. The trained magician will know that there is no folder named URL Historyit really means the C:\Windows\History folder (however, the properties for this folder do describe it as a URL History Folder). This option may resolve minor problems with this folder, but it won't repair serious damage such as a missing {CLSID} key associated with the folder. Tweak UI at Startup Several Tweak UI options take effect as Windows opens, and if any of these are selected, the RUNDLL32.EXE file must execute the applet segment that tweaks the system into shape as specified by the selected option(s). To do so Tweak UI writes an entry into one or both subkeys listed in Table A-8.
|
BOOK ORDERING INFO | ||
---|---|---|
If you enjoyed this page (or even if you didn't, but want more information anyway) the following links go directly to various sites where my Registry books are sold. | ||
|