A while ago, Rob and I were in a discussion about how to allow a single compiled ppm of Win32-GUI to manage to work with all the available features to a particular OS, dependant on the platform at runtime. There is definitely a severe trick here in that for the most part, the decision of which OS's capabilities to embrace has been defaulted to 95/NT4 level to ensure compatibility backwards to those platforms.
Windows 95 - does anyone still use that?:) For my Win32-GUI project I use functionality that limits my users to Win 2000+ (which in my case isn't a problem). I would have thought win 98 should be the minimum supported platform?
However there are some nice little features available in 2000+ such as the NotifyIcon's balloon tip (which we all know and hate because of that annoying icon we've all got that is constantly popping useless crap). While the data structure to use this feature is easily implemented via Win32::API, or simply a mess of pack/unpack, the problem comes down to the fact that the PPM was indeed compiled with a WINVER of 0x0400, meaning 95/NT4.
When you say compiled PPM what do you mean? Would a PPM built by Win98 be different from one built by XP?
As for new functionality, I'm sure there are features in Win32-GUI now that would only work on 2000/XP (such as various options for dialog's) so why would NotifyIcon's balloon tip support be any different?
Cheers, jez.