WINVER related question
-
Hi, I'm currently developing a program which is supposed to run on Windows 98/NT4/ME/2000/XP/whatevercomesafterthis and I was wondering what messing with WINVER might have a result on the program. By that I mean, does the program still work if I set it to like 0x500 or something? I suppose that if it works, the feature used for this version won't be available on Windows 98. MSDN doesn't really enlighten me on this matter, but I was just wondering if this would break the program when running on Windows 98 or anything.
-
Hi, I'm currently developing a program which is supposed to run on Windows 98/NT4/ME/2000/XP/whatevercomesafterthis and I was wondering what messing with WINVER might have a result on the program. By that I mean, does the program still work if I set it to like 0x500 or something? I suppose that if it works, the feature used for this version won't be available on Windows 98. MSDN doesn't really enlighten me on this matter, but I was just wondering if this would break the program when running on Windows 98 or anything.
For 95 and greater the two defines you use are:
#define _WIN32_WINDOWS 0x0400 #define WINVER 0x0400
If you're willing to drop NT4 support, but retain 98/ME you'd use:#define _WIN32_WINDOWS 0x0410 #define WINVER 0x0500
Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke -
For 95 and greater the two defines you use are:
#define _WIN32_WINDOWS 0x0400 #define WINVER 0x0400
If you're willing to drop NT4 support, but retain 98/ME you'd use:#define _WIN32_WINDOWS 0x0410 #define WINVER 0x0500
Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'RourkeRight, I did understand that part. But what isn't clear to me is the fact that if I would, e.g. drop NT4 support, would the application still work in NT4? Or will it just fail to run?
-
Right, I did understand that part. But what isn't clear to me is the fact that if I would, e.g. drop NT4 support, would the application still work in NT4? Or will it just fail to run?
If you call a function that is not supported on NT4, your application will fail to start; typically with an entry point not found error (or something similar.) If you use a structure that is extended for other versions of windows, generally the app will work on NT4, but that function may fail or exhibit odd behavior. If you use constants that are not meant for NT4, some functions will fail, others will ignore the new constants. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
If you call a function that is not supported on NT4, your application will fail to start; typically with an entry point not found error (or something similar.) If you use a structure that is extended for other versions of windows, generally the app will work on NT4, but that function may fail or exhibit odd behavior. If you use constants that are not meant for NT4, some functions will fail, others will ignore the new constants. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
Okay, that's pretty clear. Thanks! :)