2008/12/7 Zachary Gorden drakekaizer666@gmail.com:
I suppose I should have phrased that statement better. We know Windows let that pass, and it was likely due to backwards compatibility. But if that code was compiled using something like VC++8, would it even be valid and produce a binary that functioned the way you'd expect? Case in point, in Petzold's book, it talks about ways to access the HI/LOW values to deal with the mousewheel, if I recall correctly. If you tried to use that code and compile it in VC++8, the resulting executable's mousewheel behavior would be messed up. However, if you ran the executables, the mousewheel would behave as expected. An instance of MS preserving backwards compatibility due to sloppy/incorrect coding in old executables, but also them not letting you continue to use that practice/method when you're writing new code or recompiling the old code and essentially targeting newer versions of Windows.
I am sure if if lower the NTDDI or WINVER variables then it will compile a correct binary.