EWX_FORCEIFHUNG funktioniert nicht

The_Rave

Mitglied
Weiß jemand warum bei mir unter W2k die EWX_FORCEIFHUNG Funktion nicht geht? Bei MSDN steht daß das gehen soll.

Mein Compiler versucht mir aber zu sagen das die nicht declariert ist. In der winuser.h ist folgendes eingetragen:

#if (_WIN32_WINNT >= 0x0500)
#define EWX_FORCEIFHUNG 16
#endif


Ich hab mich erstmal beholfen mit #define EWX_FORCEIFHUNG 0x00000010 in meinem Code, aber warum geht das nicht nach MSDN?
 
Da ich das mit suchen nicht gefunden habe, wo das definiert wird. Hatte ich auch das schon versucht mit #define _WIN32_WINNT 0x0500, aber dann beschwerte er sich das das redefiniert wurde. Also muss das schon definiert sein, weiß aber nicht wo ich das finde.
 
So ich habs jetzt gefunden. Das ist definiert:
#define WINVER 0x0400

Also ist die Dev-C++ IDE dafür verantwortlich. Gibts eine Möglichkeit die WINVER im Quelltext zu redefinieren oder muss ich das in der Header Datei machen?
 
Zuletzt bearbeitet:
Hi.

Du mußt die Variable WINVER definieren bevor du irgendwelche Headerdateien einbindest. Die Variable wird in der windef.h nur auf 0x400 gesetzt wenn sie noch nicht vorher definiert wurde. Das steht auch direkt als Kommentar in der Datei:
C:
#ifndef WINVER
#define WINVER 0x0400
/*
 * If you need Win32 API features newer the Win95 and WinNT then you must
 * define WINVER before including windows.h or any other method of including
 * the windef.h header.
 */
Gruß
 
Dankeschön, das war es. Man muss das also machen bevor man die Headerdatei einbindet, sonst beschwert sich der Compiler immer das das redefiniert wurde. Wusste nicht daß das aus der Headerdatei erst gesetzt wird, wenn ich nichts definiert habe.
 
Zurück