diff --git a/wm_hooks/wm_hooks.cxx b/wm_hooks/wm_hooks.cxx
index 6923db7..9b7dae4 100644
--- a/wm_hooks/wm_hooks.cxx
+++ b/wm_hooks/wm_hooks.cxx
@@ -1,5 +1,5 @@
-/* Copyright (C) 2002-2003 RealVNC Ltd.  All Rights Reserved.
- *    
+/* Copyright (C) 2002-2005 RealVNC Ltd.  All Rights Reserved.
+ * 
  * This is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
@@ -187,6 +187,10 @@
     }
     break;
 
+  case WM_WINDOWPOSCHANGED:
+    NotifyWindow(wnd, msg);
+    break;
+
 	case WM_PAINT:
     // *** could improve this
     NotifyWindowClientArea(wnd, msg);
@@ -329,7 +333,7 @@
   hook_target = thread;
 
   hook_CallWndProc = SetWindowsHookEx(WH_CALLWNDPROC, HookCallWndProc, dll_instance, thread);
-  //hook_CallWndProcRet = SetWindowsHookEx(WH_CALLWNDPROCRET, HookCallWndProcRet, dll_instance, thread);
+  hook_CallWndProcRet = SetWindowsHookEx(WH_CALLWNDPROCRET, HookCallWndProcRet, dll_instance, thread);
   hook_GetMessage = SetWindowsHookEx(WH_GETMESSAGE, HookGetMessage, dll_instance, thread);
   hook_DialogMessage = SetWindowsHookEx(WH_SYSMSGFILTER, HookDialogMessage, dll_instance, thread);
 
@@ -427,7 +431,7 @@
   return success;
 }
 #else
-#pragma message("WARNING: low-level mouse and keyboard hooks not supported")
+#pragma message("  NOTE: low-level mouse and keyboard hooks not supported")
 #endif
 
 // - WM_Hooks_EnableRealInputs
@@ -458,5 +462,5 @@
 
 BOOL WM_Hooks_EnableCursorShape(BOOL enable) {
   enable_cursor_shape = enable;
-  return FALSE;
+  return TRUE;
 }
diff --git a/wm_hooks/wm_hooks.h b/wm_hooks/wm_hooks.h
index afff4be..f65412e 100644
--- a/wm_hooks/wm_hooks.h
+++ b/wm_hooks/wm_hooks.h
@@ -1,5 +1,5 @@
-/* Copyright (C) 2002-2003 RealVNC Ltd.  All Rights Reserved.
- *    
+/* Copyright (C) 2002-2005 RealVNC Ltd.  All Rights Reserved.
+ * 
  * This is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
@@ -27,7 +27,6 @@
 #ifndef __WM_HOOKS_H__
 #define __WM_HOOKS_H__
 
-#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
 #define DLLEXPORT __declspec(dllexport)
diff --git a/wm_hooks/wm_hooks.rc b/wm_hooks/wm_hooks.rc
index e627314..3f171d2 100644
--- a/wm_hooks/wm_hooks.rc
+++ b/wm_hooks/wm_hooks.rc
@@ -54,8 +54,8 @@
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,0,0,26
- PRODUCTVERSION 4,0,0,26
+ FILEVERSION 4,1,0,0
+ PRODUCTVERSION 4,1,0,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -72,15 +72,15 @@
         BEGIN
             VALUE "Comments", "\0"
             VALUE "CompanyName", "Constantin Kaplinsky\0"
-            VALUE "FileDescription", "TightVNC Server for Win32 Hooking DLL\0"
-            VALUE "FileVersion", "4.0\0"
-            VALUE "InternalName", "WMHooks 4.0\0"
-            VALUE "LegalCopyright", "Copyright (C) 1998-2004 [many holders]\0"
+            VALUE "FileDescription", "TightVNC Server Hooking DLL for Win32\0"
+            VALUE "FileVersion", "4.1\0"
+            VALUE "InternalName", "\0"
+            VALUE "LegalCopyright", "Copyright (C) 1998-2005 [many holders]\0"
             VALUE "LegalTrademarks", "TightVNC\0"
             VALUE "OriginalFilename", "wm_hooks.dll\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "TightVNC Server 4.0\0"
-            VALUE "ProductVersion", "4.0\0"
+            VALUE "ProductName", "TightVNC Server\0"
+            VALUE "ProductVersion", "4.1\0"
             VALUE "SpecialBuild", "\0"
         END
     END
