I'm planning on migrating my Win32 app to Unicode, but need to maintain compatibility with Win95/98 in a single executable. Although the C Runtime Library Unicode functions (wcslen, wprintf etc.) are all supported in both NT and Win95/98, the Win32 library functions are not - the Windows 95/98 implementation of these functions only accept ANSI characters and no Unicode.
Question is: Is there an easy way to implement this Win95/98 and NT Unicode support in a single executable? The only way I can think of is to create my own "wrapper" functions for all Win32 calls, and to conditionally convert the arguments/returns to/from Unicode based on whether I'm running Win95/98. Has anyone done this and wants to share their code? Is there a pre-written library that I can buy or download that provides this conversion?
Surely I'm not the first to come across this huge limitation in Win95 and Win98! I'm happy to give more points if you have a good solution!