hsc2hs can't detect values at compile-time if those are
declared as pointers: https://github.com/haskell/win32/issues/88

This patch is a huge hack: we encode absolute vaues from <windows.h>
diff --git a/Graphics/Win32/GDI/Types.hsc b/Graphics/Win32/GDI/Types.hsc
index c363530..8643cee 100644
--- a/Graphics/Win32/GDI/Types.hsc
+++ b/Graphics/Win32/GDI/Types.hsc
@@ -216,10 +216,10 @@ type   HWND       = HANDLE
 type MbHWND       = Maybe HWND
 
 #{enum HWND, castUINTPtrToPtr
- , hWND_BOTTOM    = (UINT_PTR)HWND_BOTTOM
- , hWND_NOTOPMOST = (UINT_PTR)HWND_NOTOPMOST
- , hWND_TOP       = (UINT_PTR)HWND_TOP
- , hWND_TOPMOST   = (UINT_PTR)HWND_TOPMOST
+ , hWND_BOTTOM    = (UINT_PTR)(INT_PTR)(1)
+ , hWND_NOTOPMOST = (UINT_PTR)(INT_PTR)(-2)
+ , hWND_TOP       = (UINT_PTR)(INT_PTR)(0)
+ , hWND_TOPMOST   = (UINT_PTR)(INT_PTR)(-1)
  }
 
 type   HMENU      = HANDLE
diff --git a/Graphics/Win32/Misc.hsc b/Graphics/Win32/Misc.hsc
index 1248b5a..c791a20 100644
--- a/Graphics/Win32/Misc.hsc
+++ b/Graphics/Win32/Misc.hsc
@@ -67,23 +67,23 @@ foreign import WINDOWS_CCONV unsafe "windows.h LoadIconW"
   c_LoadIcon :: HINSTANCE -> Icon -> IO HICON
 
 #{enum Cursor, castUINTPtrToPtr
- , iDC_ARROW        = (UINT_PTR)IDC_ARROW
- , iDC_IBEAM        = (UINT_PTR)IDC_IBEAM
- , iDC_WAIT         = (UINT_PTR)IDC_WAIT
- , iDC_CROSS        = (UINT_PTR)IDC_CROSS
- , iDC_UPARROW      = (UINT_PTR)IDC_UPARROW
- , iDC_SIZENWSE     = (UINT_PTR)IDC_SIZENWSE
- , iDC_SIZENESW     = (UINT_PTR)IDC_SIZENESW
- , iDC_SIZEWE       = (UINT_PTR)IDC_SIZEWE
- , iDC_SIZENS       = (UINT_PTR)IDC_SIZENS
+ , iDC_ARROW        = (UINT_PTR)(32512)
+ , iDC_IBEAM        = (UINT_PTR)(32513)
+ , iDC_WAIT         = (UINT_PTR)(32514)
+ , iDC_CROSS        = (UINT_PTR)(32515)
+ , iDC_UPARROW      = (UINT_PTR)(32516)
+ , iDC_SIZENWSE     = (UINT_PTR)(32642)
+ , iDC_SIZENESW     = (UINT_PTR)(32643)
+ , iDC_SIZEWE       = (UINT_PTR)(32644)
+ , iDC_SIZENS       = (UINT_PTR)(32645)
  }
 
 #{enum Icon, castUINTPtrToPtr
- , iDI_APPLICATION  = (UINT_PTR)IDI_APPLICATION
- , iDI_HAND         = (UINT_PTR)IDI_HAND
- , iDI_QUESTION     = (UINT_PTR)IDI_QUESTION
- , iDI_EXCLAMATION  = (UINT_PTR)IDI_EXCLAMATION
- , iDI_ASTERISK     = (UINT_PTR)IDI_ASTERISK
+ , iDI_APPLICATION  = (UINT_PTR)(32512)
+ , iDI_HAND         = (UINT_PTR)(32513)
+ , iDI_QUESTION     = (UINT_PTR)(32514)
+ , iDI_EXCLAMATION  = (UINT_PTR)(32515)
+ , iDI_ASTERISK     = (UINT_PTR)(32516)
  }
 
 ----------------------------------------------------------------
diff --git a/Graphics/Win32/Resource.hsc b/Graphics/Win32/Resource.hsc
index e8ad565..ca58fa2 100644
--- a/Graphics/Win32/Resource.hsc
+++ b/Graphics/Win32/Resource.hsc
@@ -61,23 +61,23 @@ foreign import WINDOWS_CCONV unsafe "windows.h EndUpdateResourceW"
 type ResourceType = LPCTSTR
 
 #{enum ResourceType, castUINTPtrToPtr
- , rT_ACCELERATOR  = (UINT_PTR)RT_ACCELERATOR // Accelerator table
- , rT_ANICURSOR    = (UINT_PTR)RT_ANICURSOR // Animated cursor
- , rT_ANIICON      = (UINT_PTR)RT_ANIICON   // Animated icon
- , rT_BITMAP       = (UINT_PTR)RT_BITMAP    // Bitmap resource
- , rT_CURSOR       = (UINT_PTR)RT_CURSOR    // Hardware-dependent cursor resource
- , rT_DIALOG       = (UINT_PTR)RT_DIALOG    // Dialog box
- , rT_FONT         = (UINT_PTR)RT_FONT      // Font resource
- , rT_FONTDIR      = (UINT_PTR)RT_FONTDIR    // Font directory resource
- , rT_GROUP_CURSOR = (UINT_PTR)RT_GROUP_CURSOR // Hardware-independent cursor resource
- , rT_GROUP_ICON   = (UINT_PTR)RT_GROUP_ICON // Hardware-independent icon resource
- , rT_HTML         = (UINT_PTR)RT_HTML      // HTML document
- , rT_ICON         = (UINT_PTR)RT_ICON      // Hardware-dependent icon resource
- , rT_MENU         = (UINT_PTR)RT_MENU      // Menu resource
- , rT_MESSAGETABLE = (UINT_PTR)RT_MESSAGETABLE // Message-table entry
- , rT_RCDATA       = (UINT_PTR)RT_RCDATA    // Application-defined resource (raw data)
- , rT_STRING       = (UINT_PTR)RT_STRING    // String-table entry
- , rT_VERSION      = (UINT_PTR)RT_VERSION   // Version resource
+ , rT_ACCELERATOR  = (UINT_PTR)(9)
+ , rT_ANICURSOR    = (UINT_PTR)(21)
+ , rT_ANIICON      = (UINT_PTR)(22)
+ , rT_BITMAP       = (UINT_PTR)(2)
+ , rT_CURSOR       = (UINT_PTR)(1)
+ , rT_DIALOG       = (UINT_PTR)(5)
+ , rT_FONT         = (UINT_PTR)(8)
+ , rT_FONTDIR      = (UINT_PTR)(7)
+ , rT_GROUP_CURSOR = (UINT_PTR)(1 + DIFFERENCE)
+ , rT_GROUP_ICON   = (UINT_PTR)(3 + DIFFERENCE)
+ , rT_HTML         = (UINT_PTR)(23)
+ , rT_ICON         = (UINT_PTR)(3)
+ , rT_MENU         = (UINT_PTR)(4)
+ , rT_MESSAGETABLE = (UINT_PTR)(11)
+ , rT_RCDATA       = (UINT_PTR)(10)
+ , rT_STRING       = (UINT_PTR)(6)
+ , rT_VERSION      = (UINT_PTR)(16)
  }
 
 findResource :: HMODULE -> String -> ResourceType -> IO HRSRC
diff --git a/Graphics/Win32/Window/PostMessage.hsc b/Graphics/Win32/Window/PostMessage.hsc
index 7f4c9f0..609f3f6 100644
--- a/Graphics/Win32/Window/PostMessage.hsc
+++ b/Graphics/Win32/Window/PostMessage.hsc
@@ -41,7 +41,7 @@ foreign import WINDOWS_CCONV "windows.h PostThreadMessageW"
   c_PostThreadMessage :: DWORD -> WindowMessage -> WPARAM -> LPARAM -> IO BOOL
 
 #{enum HWND, castUINTPtrToPtr
- , hWND_BROADCAST = (UINT_PTR)HWND_BROADCAST
+ , hWND_BROADCAST = (UINT_PTR)(0xffff)
  }
 
 foreign import WINDOWS_CCONV "windows.h InSendMessage"
diff --git a/System/Win32/Registry.hsc b/System/Win32/Registry.hsc
index afbb011..c7edfc1 100644
--- a/System/Win32/Registry.hsc
+++ b/System/Win32/Registry.hsc
@@ -80,11 +80,11 @@ import System.Win32.Types (castUINTPtrToPtr, failUnlessSuccessOr, maybePtr)
 #include <windows.h>
 
 #{enum HKEY, (unsafePerformIO . newForeignHANDLE . castUINTPtrToPtr)
- , hKEY_CLASSES_ROOT    = (UINT_PTR)HKEY_CLASSES_ROOT
- , hKEY_CURRENT_CONFIG  = (UINT_PTR)HKEY_CURRENT_CONFIG
- , hKEY_CURRENT_USER    = (UINT_PTR)HKEY_CURRENT_USER
- , hKEY_LOCAL_MACHINE   = (UINT_PTR)HKEY_LOCAL_MACHINE
- , hKEY_USERS           = (UINT_PTR)HKEY_USERS
+ , hKEY_CLASSES_ROOT    = (UINT_PTR)(0x80000000)
+ , hKEY_CURRENT_CONFIG  = (UINT_PTR)(0x80000005)
+ , hKEY_CURRENT_USER    = (UINT_PTR)(0x80000001)
+ , hKEY_LOCAL_MACHINE   = (UINT_PTR)(0x80000002)
+ , hKEY_USERS           = (UINT_PTR)(0x80000003)
  }
 -- , PKEYERFORMANCE_DATA  NT only
 -- , HKEY_DYN_DATA     95/98 only
