From: Brian D. <br...@de...> - 2008-05-13 06:10:19
|
Yunior Peralta González wrote: > I was looking for the file windef.h and I found that WINVER was > defined with the value 0x0400 and in borland and visual studio WINVER > is defined with the value 0x0500. Those are just defaults. You are supposed to define the value yourself to correspond to the version of Windows that you want your program to require. See <http://msdn.microsoft.com/en-us/library/aa383745.aspx>. > When I tried to use the function EnumDisplaySettingsEx which is > defined in winuser.h, I received an error because the function > EnumDisplaySettingsExA was not defined and that is because before the > definition of the function there is the following line: > > #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410) > > and _WIN32_WINNT is defined with the value of WINVER which in MinGW is 0x0400 > and _WIN32_WINDOWS is not defined > > is this a bug? It's not a bug. That function is not available on all versions of Windows (specifically, it doesn't exist on 95 or NT4), which is why it's only conditionally declared. If you want to use an API that's not universally available you have to define WINVER appropriately to signal the minimum version of Windows you want to require. Brian |