#endif
#include <windows.h>
+
+#ifdef __WXWINCE__
+ // this doesn't make any sense knowing that windows.h includes all these
+ // headers anyhow, but the fact remains that when building using eVC 4 the
+ // functions and constants from these headers are not defined unless we
+ // explicitly include them ourselves -- how is it possible is beyond me...
+ #include <winbase.h>
+ #include <wingdi.h>
+ #include <winuser.h>
+
+ // this one OTOH contains many useful CE-only functions
+ #include <shellapi.h>
+#endif // __WXWINCE__
+
#include "wx/msw/winundef.h"
// types DWORD_PTR, ULONG_PTR and so on might be not defined in old headers but
// this is ugly but what else can we do? even testing for compiler version
// wouldn't help as you can perfectly well be using an older compiler (VC6)
// with newer SDK headers
-#ifndef __WIN64__
+#if !defined(__WIN64__) && !defined(__WXWINCE__)
#define UINT_PTR unsigned int
#define ULONG_PTR unsigned long
#define DWORD_PTR unsigned long