Category Archives: Windows

Hack Your Start Button

written by Sarah Lane on Wednesday, July 21, 2004

I’ve gotten so many requests on how to change the Windows XP Start button, I’m going to teach you how to hack it to pieces manually.
Before you get started, you might want to print out this page for easy reference.

Change the Start text

1. First of all, make sure you download Resource Hacker. You’ll need this puppy to edit resources inside your Windows shell.

2. Locate explorer.exe in your c:\Windows directory. Make a copy of the file in the same directory and rename it explorer.bak.

3. Now launch Resource Hacker. In the File menu, open explorer.exe. You’ll now see a bunch of collapsed folders.

4. Expand the String Table folder and then find folder No. 37 (folder No. 38 if you’re in Windows Classic mode).

5. Click on resource 1033 and locate the text that says “Start.” This is your Start button, and now you’ve got control over what it says! Change the “Start” text to your text of choice. You don’t have a character limit, but the text takes up valuable taskbar space, so don’t make it too long.

6. Click on the button labeled Compile Script. This updates the settings for your Start button. But nothing will happen until you complete through step #20, so keep going!

Change your hover text

7. While you’re here, why not also change the text that pops up when your mouse hovers over your Start button?

8. Right now it says “Click here to begin.” Well, duh! We already know that’s where to begin!

9. Open folder No. 34 and click on resource 1033.

10. Find the text that says “Click here to begin” and change it to something cooler. Might I suggest “Click here for a good time, baby.”

11. Click on the Compile Script button to update this resource.

Customize your Start icon

12. For an added bonus, you can also change the Windows icon to the left of the text, too.

13. Collapse the String Table folder and expand the Bitmap folder at the top of your folder list.

14. Click on folder No. 143 and click on resource 1033. You should see that familiar Windows icon.

15. Go to the Action Menu and select “Replace bitmap.” Select “Open file with new bitmap”, and locate the replacement image on your machine. Note: The image must have a .bmp extension and a size of 25 pixels by 20 pixels. Then click the Replace button.

Here’s the image I’ve been using instead of the Windows icon, in case you want to use it.

16. Now that you’ve made your changes, save the file in your Windows folder with another name, such as newstartbutton.exe. Don’t name it Explorer.exe, because that file is already being used by your system. Close all open programs and restart your system.

17. Boot into Safe Mode With Command Prompt by pressing F8 on startup. Then choose Safe Mode in the command prompt.

18. Log on as administrator and enter your password.

19. When the command prompt comes up, make sure you’re in the right directory by typing “cd c:\windows” (without the quotes).

20. Now type “copy c:\windows\newstartbutton.exe c:\windows\explorer.exe” (no quotes). Type “yes” (no quotes) to overwrite the existing file, then restart your system by typing “shutdown -r” (no quotes).

When Windows relaunches, you’ll see your new Start button in all its glory!

What is the Registry?

What is the Registry?
The Registry is a database used to store settings and options for the 32 bit versions of Microsoft Windows including Windows 95, 98, ME and NT/2000. It contains information and settings for all the hardware, software, users, and preferences of the PC. Whenever a user makes changes to a Control Panel settings, or File Associations, System Policies, or installed software, the changes are reflected and stored in the Registry.

The physical files that make up the registry are stored differently depending on your version of Windows; under Windows 95 & 98 it is contained in two hidden files in your Windows directory, called USER.DAT and SYSTEM.DAT, for Windows Me there is an additional CLASSES.DAT file, while under Windows NT/2000 the files are contained seperately in the %SystemRoot%\System32\Config directory. You can not edit these files directly, you must use a tool commonly known as a “Registry Editor” to make any changes (using registry editors will be discussed later in the article).

The Structure of The Registry
The Registry has a hierarchal structure, although it looks complicated the structure is similar to the directory structure on your hard disk, with Regedit being similar to Windows Explorer.

Each main branch (denoted by a folder icon in the Registry Editor, see left) is called a Hive, and Hives contains Keys. Each key can contain other keys (sometimes referred to as sub-keys), as well as Values. The values contain the actual information stored in the Registry. There are three types of values; String, Binary, and DWORD – the use of these depends upon the context.

There are six main branches, each containing a specific portion of the information stored in the Registry. They are as follows:

* HKEY_CLASSES_ROOT – This branch contains all of your file association mappings to support the drag-and-drop feature, OLE information, Windows shortcuts, and core aspects of the Windows user interface.
* HKEY_CURRENT_USER – This branch links to the section of HKEY_USERS appropriate for the user currently logged onto the PC and contains information such as logon names, desktop settings, and Start menu settings.
* HKEY_LOCAL_MACHINE – This branch contains computer specific information about the type of hardware, software, and other preferences on a given PC, this information is used for all users who log onto this computer.
* HKEY_USERS – This branch contains individual preferences for each user of the computer, each user is represented by a SID sub-key located under the main branch.
* HKEY_CURRENT_CONFIG – This branch links to the section of HKEY_LOCAL_MACHINE appropriate for the current hardware configuration.
* HKEY_DYN_DATA – This branch points to the part of HKEY_LOCAL_MACHINE, for use with the Plug-&-Play features of Windows, this section is dymanic and will change as devices are added and removed from the system.

Each registry value is stored as one of five main data types:

* REG_BINARY – This type stores the value as raw binary data. Most hardware component information is stored as binary data, and can be displayed in an editor in hexadecimal format.
* REG_DWORD – This type represents the data by a four byte number and is commonly used for boolean values, such as “0″ is disabled and “1″ is enabled. Additionally many parameters for device driver and services are this type, and can be displayed in REGEDT32 in binary, hexadecimal and decimal format, or in REGEDIT in hexadecimal and decimal format.
* REG_EXPAND_SZ – This type is an expandable data string that is string containing a variable to be replaced when called by an application. For example, for the following value, the string “%SystemRoot%” will replaced by the actual location of the directory containing the Windows NT system files. (This type is only available using an advanced registry editor such as REGEDT32)
* REG_MULTI_SZ – This type is a multiple string used to represent values that contain lists or multiple values, each entry is separated by a NULL character. (This type is only available using an advanced registry editor such as REGEDT32)
* REG_SZ – This type is a standard string, used to represent human readable text values.

Other data types not available through the standard registry editors include:

* REG_DWORD_LITTLE_ENDIAN – A 32-bit number in little-endian format.
* REG_DWORD_BIG_ENDIAN – A 32-bit number in big-endian format.
* REG_LINK – A Unicode symbolic link. Used internally; applications should not use this type.
* REG_NONE – No defined value type.
* REG_QWORD – A 64-bit number.
* REG_QWORD_LITTLE_ENDIAN – A 64-bit number in little-endian format.
* REG_RESOURCE_LIST – A device-driver resource list.

Editing The Registry

The Registry Editor (REGEDIT.EXE) is included with most version of Windows (although you won’t find it on the Start Menu) it enables you to view, search and edit the data within the Registry. There are several methods for starting the Registry Editor, the simplest is to click on the Start button, then select Run, and in the Open box type “regedit”, and if the Registry Editor is installed it should now open and look like the image below.

An alternative Registry Editor (REGEDT32.EXE) is available for use with Windows NT/2000, it includes some additional features not found in the standard version, including; the ability to view and modify security permissions, and being able to create and modify the extended string values REG_EXPAND_SZ & REG_MULTI_SZ.

Create a Shortcut to Regedit
This can be done by simply right-clicking on a blank area of your desktop, selecting New, then Shortcut, then in the Command line box enter “regedit.exe” and click Next, enter a friendly name (e.g. ‘Registry Editor’) then click Finish and now you can double click on the new icon to launch the Registry Editor.

Using Regedit to modify your Registry
Once you have started the Regedit you will notice that on the left side there is a tree with folders, and on the right the contents (values) of the currently selected folder.

Like Windows explorer, to expand a certain branch (see the structure of the registry section), click on the plus sign [+] to the left of any folder, or just double-click on the folder. To display the contents of a key (folder), just click the desired key, and look at the values listed on the right side. You can add a new key or value by selecting New from the Edit menu, or by right-clicking your mouse. And you can rename any value and almost any key with the same method used to rename files; right-click on an object and click rename, or click on it twice (slowly), or just press F2 on the keyboard. Lastly, you can delete a key or value by clicking on it, and pressing Delete on the keyboard, or by right-clicking on it, and choosing Delete.

Note: it is always a good idea to backup your registry before making any changes to it. It can be intimidating to a new user, and there is always the possibility of changing or deleting a critical setting causing you to have to reinstall the whole operating system. It’s much better to be safe than sorry!

Importing and Exporting Registry Settings

A great feature of the Registry Editor is it’s ability to import and export registry settings to a text file, this text file, identified by the .REG extension, can then be saved or shared with other people to easily modify local registry settings. You can see the layout of these text files by simply exporting a key to a file and opening it in Notepad, to do this using the Registry Editor select a key, then from the “Registry” menu choose “Export Registry File…”, choose a filename and save. If you open this file in notepad you will see a file similar to the example below:

Quote:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\Setup]
“SetupType”=dword:00000000
“CmdLine”=”setup -newsetup”
“SystemPrefix”=hex:c5,0b,00,00,00,40,36,02

The layout is quite simple, REGEDIT4 indicated the file type and version, [HKEY_LOCAL_MACHINE\SYSTEM\Setup] indicated the key the values are from, “SetupType”=dword:00000000 are the values themselves the portion after the “=” will vary depending on the type of value they are; DWORD, String or Binary.

So by simply editing this file to make the changes you want, it can then be easily distributed and all that need to be done is to double-click, or choose “Import” from the Registry menu, for the settings to be added to the system Registry.

Deleting keys or values using a REG file
It is also possible to delete keys and values using REG files. To delete a key start by using the same format as the the REG file above, but place a “-” symbol in front of the key name you want to delete. For example to delete the [HKEY_LOCAL_MACHINE\SYSTEM\Setup] key the reg file would look like this:

Quote:

REGEDIT4

[-HKEY_LOCAL_MACHINE\SYSTEM\Setup]

The format used to delete individual values is similar, but instead of a minus sign in front of the whole key, place it after the equal sign of the value. For example, to delete the value “SetupType” the file would look like:

Quote:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\Setup]
“SetupType”=-

Use this feature with care, as deleting the wrong key or value could cause major problems within the registry, so remember to always make a backup first.

Regedit Command Line Options
Regedit has a number of command line options to help automate it’s use in either batch files or from the command prompt. Listed below are some of the options, please note the some of the functions are operating system specific.

* regedit.exe [options] [filename] [regpath]
* [filename] Import .reg file into the registry
* /s [filename] Silent import, i.e. hide confirmation box when importing files
* /e [filename] [regpath] Export the registry to [filename] starting at [regpath]
e.g. regedit /e file.reg HKEY_USERS\.DEFAULT
* /L:system Specify the location of the system.dat to use
* /R:user Specify the location of the user.dat to use
* /C [filename] Compress (Windows 98)
* /D [regpath] Delete the specified key (Windows 98)

Maintaining the Registry

How can you backup and restore the Registry?

Windows 95
Microsoft included a utility on the Windows 95 CD-ROM that lets you create backups of the Registry on your computer. The Microsoft Configuration Backup program, CFGBACK.EXE, can be found in the \Other\Misc\Cfgback directory on the Windows 95 CD-ROM. This utility lets you create up to nine different backup copies of the Registry, which it stores, with the extension RBK, in your \Windows directory. If your system is set up for multiple users, CFGBACK.EXE won’t back up the USER.DAT file.

After you have backed up your Registry, you can copy the RBK file onto a floppy disk for safekeeping. However, to restore from a backup, the RBK file must reside in the \Windows directory. Windows 95 stores the backups in compressed form, which you can then restore only by using the CFGBACK.EXE utility.

Windows 98
Microsoft Windows 98 automatically creates a backup copy of the registry every time Windows starts, in addition to this you can manually create a backup using the Registry Checker utility by running SCANREGW.EXE from Start | Run menu.

What to do if you get a Corrupted Registry
Windows 95, 98 and NT all have a simple registry backup mechanism that is quite reliable, although you should never simply rely on it, remember to always make a backup first!

Windows 95
In the Windows directory there are several hidden files, four of these will be SYSTEM.DAT & USER.DAT, your current registry, and SYSTEM.DA0 & USER.DA0, a backup of your registry. Windows 9x has a nice reature in that every time it appears to start successfully it will copy the registry over these backup files, so just in case something goes wrong can can restore it to a known good state. To restore the registry follow these instruction:
[list=1]
* Click the Start button, and then click Shut Down.

* Click Restart The Computer In MS-DOS Mode, then click Yes.

* Change to your Windows directory. For example, if your Windows directory is c:\windows, you would type the following:

cd c:\windows

* Type the following commands, pressing ENTER after each one. (Note that SYSTEM.DA0 and USER.DA0 contain the number zero.)

attrib -h -r -s system.dat
attrib -h -r -s system.da0
copy system.da0 system.dat
attrib -h -r -s user.dat
attrib -h -r -s user.da0
copy user.da0 user.dat

* Restart your computer.

Following this procedure will restore your registry to its state when you last successfully started your computer.

If all else fails, there is a file on your hard disk named SYSTEM.1ST that was created when Windows 95 was first successfully installed. If necessary you could also change the file attributes of this file from read-only and hidden to archive to copy the file to C:\WINDOWS\SYSTEM.DAT.

Windows NT
On Windows NT you can use either the “Last Known Good” option or RDISK to restore to registry to a stable working configuration.

How can I clean out old data from the Registry?
Although it’s possible to manually go through the Registry and delete unwanted entries, Microsoft provides a tool to automate the process, the program is called RegClean. RegClean analyzes Windows Registry keys stored in a common location in the Windows Registry. It finds keys that contain erroneous values, it removes them from the Windows Registry after having recording those entries in the Undo.Reg file.

Virtual Memory

Tutorial Objective

This tutorial talks about anything about the virtual memory and how much virtual memory you need for your system.

Tutorial Introduction & Background

Today application is getting bigger and bigger. Therefore, it requires a bigger system memory in order for the system to hold the application data, instruction, and thread and to load it. The system needs to copy the application data from the HDD into the system memory in order for it to process and execute the data. Once the memory gets filled up with data, the system will stop loading the program. In this case, users need to add more memory onto their system to support that intense application. However, adding more system memory costs the money and the normal user only needs to run the the intense application that requires the memory only for one or two days. Therefore, virtual memory is introduced to solve that type of problem.

Terminology & Explanation

There are two types of memory, which are as follows:

* System Memory is a memory that is used to store the application data and instruction in order for the system to process and execute that application data and instruction. When you install the memory sticks to increase the system RAM, you are adding more system memory. System Memory can be known as either the physical memory or the main memory.

* Virtual Memory is a memory that uses a portion of HDD space as the memory to store the application data and instruction that the system deemed it doesn’t need to process for now. Virtual Memory can be known as the logical memory, and it controls by the Operating System, which is Microsoft Windows. Adding the Virtual Memory can be done in system configuration.

Tutorial Information & Facts or Implementation

Virtual Memory is a HDD space that uses some portion of it as the memory. It is used to store application data and instruction that is currently not needed to be process by the system.

During the program loading process, the system will copy the application data and its instruction from the HDD into the main memory (system memory). Therefore the system can use its resources such as CPU to process and execute it. Once the system memory gets filled up, the system will start moving some of the data and instruction that don’t need to process anymore into the Virtual Memory until those data and instruction need to process again. So the system can call the next application data and instruction and copy it into the main memory in order for the system to process the rest and load the program. When the data and instruction that is in the Virtual Memory needs to process again, the system will first check the main memory for its space. If there is space, it will simply swap those into the main memory. If there are not any space left for the main memory, the system will first check the main memory and move any data and instructions that doesn’t need to be process into the Virtual Memory. And then swap the data and instruction that need to be process by the system from the Virtual Memory into the main memory.

Having too low of Virtual Memory size or large Virtual Memory size (meaning the size that is above double of the system memory) is not a good idea. If you set the Virtual Memory too low, then the OS will keep issuing an error message that states either Not enough memory or Virtual too low. This is because some portion of the system memory are used to store the OS Kernel, and it requires to be remain in the main memory all the time. Therefore the system needs to have a space to store the not currently needed process data and instruction when the main memory get filled up. If you set the Virtual Memory size too large to support the intensive application, it is also not a good idea. Because it will create the performance lagging, and even it will take the HDD free space. The system needs to transfer the application data and instruction back and forth between the Virtual Memory and the System Memory. Therefore, that is not a good idea. The ideal size for the Virtual Memory is the default size of Virtual Memory, and it should not be exceed the value of the triple size of system memory.

To determine how much virtual memory you need, since the user’s system contains the different amount of RAM, it is based on the system. By default, the OS will set the appropriate size for Virtual Memory. The default and appropriate size of Virtual Memory is:

CODE
* 1.5 =
.

For example, if your system contains 256 MB of RAM, you should set 384 MB for Virtual Memory.

CODE
256 MB of RAM (Main Memory) * 1.5 = 384 MB for Virtual Memory

If you would like to determine how much the Virtual Memory is for your system and/or would like to configure and add more virtual memory, follow the procedure that is shown below. The following procedure is based on windows XP Professional.

1-1) Go to right-click My Computer and choose Properties

1-2) In the System Properties dialog box, go to Advanced tab

1-3) Click Settings button that is from the Performance frame

1-4) Once the Performance Options shows up on the screen, go to Advanced tab

1-5) Under the Advanced tab, click the Change button from the Virtual Memory frame to access to the Virtual Memory setting

Then the Virtual Memory dialog box appears on the screen. In there, you are able to check how much the Virtual Memory you set. If you would like to modify the size of Virtual Memory, follow the procedure that is shown below.

2-1) In there, select the drive letter that is used to install the Operating System

2-2) Choose the option that says, “Custom Size:”

Once you choose that option, the setting for Initial Size and Maximum Size become available for you to set. Initial Size (MB) means the actual size of Virtual Memory, and Maximum Size (MB) means the maximum size of Virtual Memory that is allowed to use.

Let’s say if your system contains 512 MB of RAM, then the ideal setting for the Virtual Memory is as follows:

CODE

Initial Size (MB): 768
Maximum Size (MB): 1500

Once you are happy with that Virtual Memory size, click the Set button from Paging file size for selected drive to apply the setting for the Virtual Memory size. Then click the OK button to apply the setting.

That’s where you can manage and configure for the size of Virtual Memory.

Additional Information

* To maintain the good overall system performance, you should be using the default size of actual size for Virtual Memory and the triple the value of the size of the main memory for the maximum size of Virtual Memory. If you find that main memory plus virtual memory is not big enough to load the intensive application, then you will need to add more main memory onto your system.

Search Keyword

virtual memory