Unicode support for windows is not a new topic to discuss at all, since Windows NT. When it comes to internationalization (i18n) Unicode plays a major role. Hence the usage of Unicode is obvious and not a strange topic to discuss at all. But when it comes to the older Windows 95/98/ME Systems, we have to consider more factors. Most software have stopped supporting these legacy windows operating systems at all. In that case, they have no need to worry at all. If an application wants the Unicode support, yet running on these obsolete versions of windows, which do not have the native Unicode support, the problem arises.
To solve this issue, Microsoft Layer for Unicode on Windows 95/98/ME Systems [MSLU] has been introduced. This component allows us to write a single Unicode application which can run on all the platforms, by providing a layer over the Win32 API on those earlier versions of Windows. MSLU contains two parts - Unicows.dll and Unicows.lib. MSLU is easy to use. Just compiling the application as a Unicode component and adding the Unicows.lib with the other libraries is enough. Similarly hence Unicows.dll doesn't load MSLU at all when using Windows NT or later, introducing this layer, doesn't cause a performance cost.
However it should also be noted that, MSLU not essentially will give the obsolete windows 9x versions, the same multilingual support that the later versions of windows provide. The application does get a Unicode face from MSLU, but still has to deal with a non Unicode operating system internally.