Resource Hacker FX: the improved Resource Hacker
Note: The most recent version of Resource Hacker incorporates most of the changes that this patch offers. Therefore, Resource Hacker FX is considered obsolete, and the post is here mostly for historical reasons.
Remember the good ol’ Resource Hacker?
It’s a popular Resource viewer/editor, I use it to quickly view and edit resources. I tried to find an alternative, but I did not find any that I liked, so I decided to just improve Resource Hacker.
Here is a patcher that needs to be used on the original Resource Hacker v22.214.171.124:
Resource Hacker FXer.zip (117.97 kB, changelog)
Here is how it looks:
What does the patcher change:
- Partial Unicode support.
- A new interface with modern icons and a manifest.
Icons by Yusuke Kamiyamane.
- Resource Hacker FX does not create tree nodes for every language. Usually only one language is used anyway, so it makes it much faster to navigate through resources.
- Resource Hacker FX uses the new open and save common dialogs instead of the old outdated ones. Also, some saving as parameters got improved: the directory of the current file is initially shown, the file name gets filled, the extension is automatically added if not specified.
- If you have a modified file open and you close Resource Hacker FX, you have a Cancel option when asked whether you would like to save the file. Also, if you choose to save it, it just gets saved instead of saving as.
- The Hex viewer shows only the first 10 KB of the binary resource by default to prevent hanging Resource Hacker FX. I could not really fix it, as it’s the Rich Edit control’s fault, it’s quite slow with large texts. Well, it’s not too smart to use Rich Edit to view a Hex dump, but that’s how it works. 10 KB should be usually enough to understand what the resource is about. If it isn’t, you can hold shift to load the whole resource.
- Other minor additions, like e.g. double click to replace resource, minimizing/maximizing effects.
- Lots of bug fixes.
Posted in Releases, Software by Michael (Ramen Software) on March 13th, 2011.
Tags: resource hacker fx
Tags: resource hacker fx
I can add the button but not sure for adding code on button click event.
Can you please assist?
You cannot do that with Resource Hacker.
I want to customize any application, like adding image with a url link, is that possible with this tool? If now, do you know any software which allows to do that easily?
You have future updates? This fix is very good!!!
You. Can send for my e-mail the Angus Johnson E-mail?
The new version of Resouce Hacker have a little bug: “some Delphi dfms not displayed in the version.”
You can pass Angus Johnson E-mail? I am need send feedback.
Есть версия программы, где на добавленную кнопку можно привязать событие?
Is there a version of the program where you can tie an event to the added button?
It’s usually not possible merely by modifying the resources. You have to edit the code of the application. Tools for this exist (for example OllyDbg), but it’s much more complicated.
A question regarding RTL system (Hebrew).
From time to time I get an English app, aligned to the right (RTLed).
Most of the cases, this can be fixed by changing the lang to English.
But sometimes, you can’t, or there are few Dialog-Boxes with English text, that you have them RTLed.
What is controling the RTL/LTR view of each Dialog-Box?
Is this something I can edit by Resource Hacker?
It depends on the program. For example, in 7+ Taskbar Tweaker, the main and settings window’s RTL status is defined in the resources (
WS_EX_LAYOUTRTL), since there’s a separate dialog resource for every language. On the other hand, the “Advanced Options” window’s RTL status is set with code in runtime, since there’s only one dialog for all languages. The strings are set with the correct language on runtime, too.
I managed to change the layout by editing the
WS_EX_LAYOUTRTLof the ex2 file. Cool.
But I examined more programs, and not every program has Dialog entry in the Resource Hacker. But I know they do have Dialog-Boxes.
Also, it seems most of the programs make use the same Dialog-boxes, windows made by Windows. Perhaps all these programs uses the same method\property to control the layout.
Is there another tool to edit or view the “_LAYOUTRTL” of dialog-boxes?
Using resources is only one way of creating a dialog. There are several Windows APIs which allow to create various dialogs, for example property sheets. For such cases, the dialog is created with runtime code, and that code has to be changed. Usually there’s a flag for RTL layout.
I found a type of dialog-box I can change its layout direction easily by shortkeys.
It will be great to find a tool that can do something like that also for other types of dialog-boxes.
It’s needed especially where there is a mixture of RTL/LTR languages.
It’s not the direction of the dialog, but of the edit control, which covers the whole dialog space.
There are tools which allow to change window styles dynamically, for example WinSpy++.
Is it editable? I don’t manage to flip the dialog-box.
To modify the styles, you need to click on the ‘…’ button.
Just noticed the “…” button. It wasn’t so clear at first look.
It’s very close to what I’m looking for.
But it seems the user needs somehow to bequeath the invert to all descendants of the item being selected/captured.
Yes, you indeed need to modify child windows as well, which can get messy, together with the fact that there are several RTL-related styles for various window types.
I didn’t try to invert the whole program, only one Dialog-Box.
When I tried to invert the tab, only the headaer was inverted, but not all controls in the tab.
Unless, there is a way to invert all the controls at once that I am not aware of.
A child window is a window which is owned by it’s parent window. e.g.:
That is, the style has to be applied to all windows down the hierarchy.
For other styles see e.g this link:
There are probably more in Google.
You mentioned “there are several RTL-related styles for various window types.”
But from the article you gave I understand it’s actually needed to use just this one –
At least for our purpose – to make the dialog-box inverted for a while, to make the text readable.
Developers will still have to adjust their program properly, but the user will be able to read the text for the meantime in a more normal way.
Btw, I know a Firefox addon worked well (stop working since 2016) to filp webpages.
Only now I got to this.
I have one question: How can I use resource hacker to change an app background?
It depends on the method that the application uses to set the background. If that’s a dialog, you can try adding a static bitmap image. If that doesn’t work, then it might not be possible with Resource Hacker.
if you add a resource from the template or an empty script, then there is one bug
in third versions, when the DIALOGEX box was removed, this part was not visible
Sorry, but the patch is discontinued, and I’m not the author of the original Resource Hacker.
resourcehacker has update 🙂
I have to change title in RCData it shows “Access Violation” any idea?
Sounds like a bug. I don’t maintain the patch anymore. You can contact Angus, the Resource Hacker author, and report him the issue.
Hi! I need to mоdifу an executable that has Sаnsсrit text strings in its diаlоgs. I cаnnot add the Sаnsсrit suppоrt to our Windоws cоmputer (long story why…). Is there a way to modify DIALОGEХ so that a СОNTROL property will display Uniсоde correctly? I read about adding “L” before the string, but cannot figure out the соrrect sуntax. I tried something like this %u0904%u0905%u0906%u0907 instead of АNSI, but that did not work…
The dialog resource is always Unicode. Perhaps the program itself isn’t. In this case, if you don’t have the app’s source code, there’s no easy way to automatically enable Unicode in it.
One thing you can try is the
activeCodePagemanifest value, but note that it only works since Windows 10 1903.
Anyone know how Resource Hacker plays back midi files? I am developing several applications that require playing back midi embedded in the executable.
Patcher is obsolete.