DOI: 10.3390/software5040050 ISSN: 2674-113X
Non-Invasive User Interface Translation
Patrizia KayeA novel application of function hooking is presented, allowing software that runs on Windows and uses MFC, wxWidgets, or the Win32 API to have its user interfaces translated without modification of the original application or access to source code. A launcher is used to run the target executable, loading it into the launcher’s address space and allowing the launcher to hook into functions that display text in the user interface. These functions then transparently replace original text with the translated version and call the original function. The method is effective, with minimal to no measurable runtime overhead (3% in the worst case), but visual imperfections remain due to differing lengths of text and potential numerical translations.