Define alternative files for loading various resources (e.g. icons in imageres.dll) for simple theming without having to modify system files.
Note: This mod requires Windhawk v1.6 or newer.
A collection of community contributed icon theme packs can be found in the Resource Redirect icon themes repository. An icon theme can be selected in the mod's settings.
An icon theme can also be installed manually by downloading it and specifying its path in the mod's settings. For details, refer to the guide in the repository.
A short demonstration can be found here on YouTube.
Theme paths can be set in the settings. A theme path is a folder with
alternative resource files, and the theme.ini file that contains redirection
rules. For example, the theme.ini file may contain the following:
[redirections]
%SystemRoot%\explorer.exe=explorer.exe
%SystemRoot%\System32\imageres.dll=imageres.dll
In this case, the folder must also contain the explorer.exe, imageres.dll
files which will be used as the redirection resource files.
Alternatively, the theme path can be the .ini file itself.
The mod supports the following resource types and loading methods:
PrivateExtractIconsW function.LoadImageW function.LoadIconW function.LoadCursorW function.LoadBitmapW function.LoadMenuW function.DialogBoxParamW, CreateDialogParamW functions.LoadStringW function.SHCreateStreamOnModuleResourceW
function.UIFILE and XML) loaded with the
SetXMLFromResource function.The option to redirect all resources can be enabled in the settings. In this case, redirection won't be limited to the resource types and loading methods listed above. This option might become the default in the future.
For some files, Windows has additional .mui and/or .mun resource files. For
example, when loading a resource from %SystemRoot%\System32\imageres.dll,
Windows looks for the resource in these files, in order:
%SystemRoot%\System32\en-US\imageres.dll.mui - The language-specific file.
en-US may be different depending on the Windows language.%SystemRoot%\System32\imageres.dll - The target file itself.%SystemRoot%\SystemResources\imageres.dll.mun - The language-neutral file.For overriding resources, imageres.dll must be specified as the redirected
resource file, not imageres.dll.mui or imageres.dll.mun, regardless of where
the resources to be redirected are actually located.
The resource lookup order then becomes:
imageres_redirection.dll (the redirection resource file specified in this
mod)imageres.dll.muiimageres.dllimageres.dll.mun