NOTE: If you are facing problems while saving a file after editing in resource hacker, then make sure you have disabled WFP (Windows File Protection) service using "WFP Patcher" or use "Replacer" to replace the file. Both utilities can be found in our "Download" section.
Also if you are getting error "Can't create file...", that means you have edited and saved the same file in past and there is a backup file which need to be deleted before saving this file again. Go to the folder containing this file and you'll see a similar file having "_original" in its name. Delete it and try to save the file in resource hacker.

Resource Hacker is a small but excellent tool to modify system files like DLL, EXE, CPL, etc. You can even change Windows look by editing various Windows files and replacing their resources using Resource Hacker.
You can download it using following links:
Its a portable application, so you don't need to install it. Simply extract the ZIP file and run the extracted EXE file.
This tutorial will help you in understanding this tool and will teach you how to use it. For your convenience, we have divided this tutorial in 2 parts:
- PART 1: BASIC INFORMATION
- PART 2: ADVANCED INFORMATION
Part 1 provides basic details like viewing or replacing existing resources in a file, etc. Part 2 covers some advance information for geeks, like adding new resources, using scripts, etc.
PART1 : BASIC INFORMATION
[Using Resource Hacker]
When you open a file in Resource Hacker, it shows various directories in left-side pane, like:
- AVI - Contains AVI files
- Cursor - Contains Cursor files
- Bitmap - Contains BMP files
- Icon - Contains Icons
- Menu - Contains Menus
- Dialog - Contains Dialog boxes
- String Table - Contains Strings
- Accelerators - Contains Shortcut keys
- Version Info - Contains Version information of the file

[Viewing Resources]
You can view resource present in the file by expanding the directory given in left-side pane and clicking on the name of the resource. Each resource contains 3 important attributes:
- Resource Type
- Resource Name
- Resource Language
[Changing Resources]
For Icons / Cursors / Bitmaps:
1. First select the resource ( e.g. Bitmap -> 131 -> 1033 ).
2. Now click on Action -> Replace Icon or Cursor or Bitmap....
![]()
3. It'll open a new window, click on Open file with new Icon or Cursor or Bitmap button.
4. Select the desired resource using OPEN dialog box, click on Open button and then click on Replace button.
For Other Resources like AVI:
1. Click on Action -> Replace Other Resource....
2. It'll open a new window, click on Open file with new resource button.
3. Select the file and click on Open button.
4. Now you'll need to provide following required information for the resource, which we mentioned earlier:
- Resource Type
- Resource Name
- Resource Language

Resource Type: Mention type of the resource, e.g. if you are replacing AVI file, mention the type as AVI
Resource Name: Provide the same name of the existing resource which you want to replace
Resource Language: Provide language code for the resource, e.g. 1033 for English. You can check existing resource's language code.
5. At last click on Replace button.
[For Menus / Strings / Dialogs]
To change any String, Menu or Dialog box, Select the desired resource, e.g. String Table -> 4 -> 1033, make your changes and at last click on Compile Script button.

It'll immediately compile the script. If you made any mistake while modifying the resource, it'll generate error message so that you can fix it.
PART2 : ADVANCED INFORMATION
[Adding New Resources]
Adding New Bitmaps / Icons / Cursors / AVIs:
1. Click on Action -> Add a new Resource....
2. Now click on Open file with new resource button.

3. Select the desired resource and click on Open button.
4. Give Resource Type, Name and Language as mentioned earlier. But keep in mind that Resource Name should not match with any existing resources name.
5. At last click on Add Resource button.
Adding New Menus:
Go to desired menu, e.g. Menu -> 215 -> 1033. Now add a new line anywhere inside POPUP "" using following format:
MENUITEM "Custom_String", 12345, MFT_STRING, MFS_GRAYED | MFS_DEFAULT
Where:
- "Custom_String" is the actual text which you want to show in menu.
- 12345 is the identifier. It must be different from existing menuitems.
- MFS_GRAYED disables the menuitem. You can change it to MFS_ENABLED if you want to show your menuitem enabled.
- MFS_DEFAULT shows your menuitem in BOLD. You can omit it.
- You can also add a new attribute in the code MFS_HILITE which automatically selects your menuitem.
In fact you can only add following new line in code:
MENUITEM "Custom_String", 12345
And Resource Hacker will automatically insert other remaining values as mentioned above.
[Inserting Newly Added Resources in Dialog Boxes]
Once you finish adding new Icons / Bitmaps / AVIs, you can insert them in any dialog box so that you can show in various Windows dialog boxes like RUN, Progress Dialog box, etc.
1. Go to the desired dialog box, e.g. Dialog -> 1020 -> 1033
2. Right-click in the dialog box and select Insert Control option.

3. It'll open a new window. You'll see many controls in the new window, like BITMAP, LABEL, ICON, BUTTON, SysAnimate32 (for AVIs), etc.
4. Click on any desired control, e.g. to insert a Bitmap, click on the BITMAP control or to insert an AVI, click on SysAnimate32 control.

PS: You can also insert Date/Time in dialog box using SysDateTimePick32 control.
5. Don't forget to fill the Caption entry. You need to enter the Resource Name in Caption textbox, e.g. if you have added a Bitmap and set its Resource Name as 401, then give the same 401 in Caption textbox.

PS: For AVI Control ( SysAnimate32 ), you'll need to append # in Caption value, e.g if the AVI name is 144, then put #144 in Caption textbox.
6. At last click on OK button & then Compile the script.
7. If you want to change the position of the new control in dialog box, simply click on the control and drag it to your desired location or you can also use arrow keys to move it.
Using Scripts in Resource Hacker
We can also run Resource Hacker using Command Prompt and can use scripts to automate lots of repeatative tasks to save our time.
You can use scripts in 2 ways:
- Single Command
- Multiple Commands
[Single Command]
You can use following commands in Command Prompt to perform actions using Resource Hacker:
-add ExeFileName, ResultingFileName, ResourceAddress, ResourceType, ResourceName,
-addskip ExeFileName, ResultingFileName, ResourceAddress, ResourceType, ResourceName,
-addoverwrite ExeFileName, ResultingFileName, ResourceAddress, ResourceType, ResourceName,
-modify ExeFileName, ResultingFileName, ResourceAddress, ResourceType, ResourceName,
-extract ExeFileName, ResourceAddress, ResourceType, ResourceName,
-delete ExeFileName, ResultingFileName, ResourceType, ResourceName,
Where:
- ExeFileName - Source file name
- ResultingFileName - Output file name
- ResourceAddress - Resource location (e.g. Bitmap path stored in your hard disk)
- ResourceType - Resource type (e.g. Bitmap, AVI, etc.)
- ResourceName - Resource name (e.g. 131, 1020, etc.)
Example:
ResHacker.exe -addoverwrite explorer.exe, explorer1.exe, MyImage.bmp , bitmap, 143,
[Multiple Commands]
You can also run a series of commands using script. First you'll need to create the script file using Notepad and then you can run it using following command:
ResHacker.exe -script ScriptFileName
Where, ScriptFileName is the name of the script file which you created in Notepad.
Following is the required format of the script file:
[FILENAMES]
Exe=
SaveAs=
Log=
[COMMANDS]
-addoverwrite ResourceAddress, ResourceType, ResourceName
Where:
EXE= contains source file name
SaveAs= contains output file name
Log= contains LOG file name which will store a detailed log of the operation
[COMMANDS] section contains the command-set which we want to perform on the source file.
PS: You can omit the LOG= entry in script file. In this case, Resource Hacker will automatically create a LOG file with the name "ResHacker.log".
That's all for now. If you have any query, please feel free to ask us.
More Resource Hacker Tutorials
This article was posted in Resource Hacker, Windows 7, Windows Vista, Windows XP.
Read Other ArticlesRelated Articles
Popular Articles
- Frequently Asked Problems with Solutions
- All About Resource Hacker in a brief Tutorial
- Is Your System Infected with a Virus / Spyware / Adware / Trojan?
- All Kinds of Restrictions for Windows XP, Vista and 7
- Transform Windows Vista into 7 without using Customization pack
- Transform Windows XP into 7 without using Customization pack
- Transform Windows XP into Vista without using Customization pack
- Master Tutorial to Make Your Windows 7 Super Fast
- Master Tutorial to Make Your Windows Vista Super Fast
- Master Tutorial to Make Your Windows XP Super Fast


koan58
tanx
but maybe I have explained my trouble in wrong way.
I know what you have said but it seems replace all the types of icons with only one.
Instead I would like to keep the same number and different type of icons like in the original .
For example, if I find this list of icons:
48 x 48 (16 colors) - Ordinal name: 1
32 x 32 (16 colors) - Ordinal name: 2
16 x 16 (16 colors) - Ordinal name: 3
48 x 48 (256 colors) - Ordinal name: 4
32 x 32 (256 colors) - Ordinal name: 5
16 x 16 (256 colors) - Ordinal name: 6
48 x 48 (16.8mil colors) - Ordinal name: 7
32 x 32 (16.8mil colors) - Ordinal name: 8
16 x 16 (16.8mil colors) - Ordinal name: 9
that means that there are several types of icons, different for colors but also and most important, different for image, if I replace :
"Goto “Action -> Replace Icons” and select the icon which you want to change, click on “Open file with new icon”, select the new icon and click on “Replace” button", all those icons are substituite by one only and not for example by two different.
How can I do this?
Thanks again.
VG
^^ Afaik, you'll need to change the whole in a single step as I mentioned. Those small similar icons you see are actually part of a single standard icon.
koan58
All right, I've understood, so the last question: how can I can create a pack with several types of icon different for image? For create set of different size I use Aveicon and an image png to change but it don't merge different icons. can you help me?
Thanx
VG
Sorry but I have no idea. You can change any icon in a single step.
koan58
Yes, but... so I come back to the original problem.
I've seen that I can't change any single icon in the icon group or, if i try, I change the first of the group ( in the same number id), but I lose the others, so , for exemple, there are icons with numbers 1 2 3 4 and so on, in the icons group 130 when I replace, I find only the icon number 1 and only this instead of the entire group (1,2,3,4) that are lost.
This is my trouble. In any case thanx for your patience and again congratulations for your job. I'll try to resolve by myself working hard with Resource Hacker http://www.askvg.com/wp-includes/images/smilies/icon_wink.gif
John Marshall
Should I see the avi on the dialog box in reshacker? Also do I need a number where you have a zero in CONTROL "#111", 0, "SysAnimate32"? John
VG
^^ Nope. You'll not see the AVI in dialog box in resource hacker. Reg to your second query No.
sudheesh
Hi V.Bhai,
Can u tell,which is the first welcome screen after xp installation
that screen showing:-
1. Welcome to Microsoft Windows
2. Windows Firewall settings.
3. Activate your copy of Windows XP
4. computer connect to internet
5. Internet Connectivity.
6. Who will use this computer users name,1,2,3,4,5
7. thanking you
wating for ur reply
Thanx advance
VG
^^ I'm not sure but you can find the files in "%windir%\System32\Oobe" folder.
Keanu
Hi Vista Bhaiya
Tusi gr8 ho.. u are god in windows,
thanx for referring me to this, I was idiot of not reading this earlier.
Also if you can suggest me further to how to understand the mcse
fundae better.. so that i can clear that on my own. that will be great.
Thx again .. lage raho munna bhai..
Jai ho .. Vishal Gupta Ki Jai Ho
Regards
Keanu Sharma (rollcage)
New Delhi