
 1. About
 
 DUSER32 "emulates" USER32. This emulation is limited, but should work
 for simple window objects as in DirectDraw, OpenGL or SDL.


 2. Supported Functions

 Please note that if a function isn't marked as dummy it still may not work 
 as expected because it is only partly implemented.

 Name                       Dummy?
 ----------------------------------------------
 AdjustWindowRect
 AdjustWindowRectEx         Y
 BeginPaint
 CallWindowProcA
 ChangeDisplaySettingsA
 CharLowerA
 CharLowerW
 CharLowerBuffA
 CharLowerBuffW
 CharNextA
 CharNextExA
 CharNextW
 CharPrevA
 CharPrevExA
 CharPrevW
 CharToOemA
 CharToOemBuffA
 CharToOemBuffW
 CharToOemW
 CharUpperA
 CharUpperW
 CharUpperBuffA
 CharUpperBuffW
 ClientToScreen
 ClipCursor
 CloseClipboard
 CopyRect
 CreateCursor
 CreateDialogParamA         Y
 CreateIcon                 Y
 CreateIconFromResource     Y
 CreateIconFromResourceEx   Y
 CreateWindowExA
 DefWindowProcA
 DestroyCursor
 DestroyIcon                Y
 DestroyWindow
 DialogBoxIndirectParamA    Y
 DialogBoxParamA            Y
 DispatchMessageA
 DrawFocusRect              Y
 DrawTextA                  Y
 EmptyClipboard
 EnableWindow               Y
 EndDialog                  Y
 EndPaint
 EnumDisplaySettingsA
 EnumThreadWindows          Y
 EnumWindows                Y
 ExitWindowsEx              Y
 FillRect
 FindWindowA
 FindWindowExA
 GetActiveWindow
 GetAsyncKeyState
 GetClassInfoA              Y
 GetClientRect
 GetClipboardData
 GetClipboardOwner
 GetCursor
 GetCursorPos
 GetDC
 GetDesktopWindow           Y
 GetDlgItem                 Y
 GetFocus
 GetForegroundWindow
 GetKeyboardState
 GetKeyboardType
 GetKeyState
 GetLastActivePopup         Y
 GetMenu                    Y
 GetMessageA
 GetMessageTime
 GetParent                  Y
 GetQueueStatus             Y
 GetSysColor                Y
 GetSysColorBrush
 GetSystemMetrics
 GetTopWindow               Y
 GetWindow                  Y
 GetWindowDC
 GetWindowLongA
 GetWindowPlacement
 GetWindowRect
 GetWindowTextA
 GetWindowTextLengthA
 GetWindowThreadProcessId
 InflateRect
 InSendMessage              Y
 IntersectRect
 InvalidateRect
 IsCharAlphaA
 IsCharAlphaNumericA
 IsClipboardFormatAvailable
 IsIconic
 IsWindow
 IsZoomed
 KillTimer
 LoadBitmapA
 LoadCursorA
 LoadIconA
 LoadImageA                 
 LoadStringA
 LoadStringW
 MapVirtualKeyA
 MapWindowPoints
 MessageBeep
 MessageBoxA
 MessageBoxExA
 MoveWindow
 MsgWaitForMultipleObjects
 OemToCharA
 OemToCharBuffA
 OemToCharW
 OffsetRect
 OpenClipboard
 PeekMessageA
 PostMessageA
 PostQuitMessage
 PostThreadMessageA
 PtInRect
 RegisterClassA
 RegisterClassExA
 RegisterHotKey             Y
 RegisterWindowMessageA     Y
 ReleaseDC
 ScreenToClient
 SendMessageA
 SendMessageW
 SetActiveWindow
 SetClassLongA
 SetClipboardData
 SetCursorPos
 SetDlgItemTextA            Y
 SetFocus
 SetForegroundWindow        Y
 SetKeyboardState           Y
 SetRect
 SetRectEmpty
 SetTimer
 SetWindowLongA
 SetWindowPlacement
 SetWindowPos
 SetWindowTextA
 SetSysColors               Y
 ShowCursor
 ShowWindow
 SystemParametersInfoA      Y
 ToAscii
 TranslateMessage           Y
 UnionRect
 UnregisterClassA
 UnregisterHotKey           Y
 UpdateWindow
 VkKeyScanA                 Y
 WindowFromDC
 WindowFromPoint
 WinHelpA                   Y
 wsprintfA
 wvsprintfA


 3. History

 2006.05.15:  Version 2.9.5
 
  GetMessageTime added
  GetClipboardOwner added
  GetLastActivePopup added (dummy)
  CharNextW, CharPrevW added
  SendMessageW added
 
 2006.04.21:  Version 2.9.4
 
  LoadAcceleratorsA added
  TranslateAcceleratorA added (dummy)
 
 2006.03.26:  Version 2.9.3
 
  Get/SetClassLong: some more values defined (GCL_HBRBACKGROUND, GCL_HCURSOR)
 
 2006.03.08:  Version 2.9.2
 
  MessageBox now handles multiple lines
  GetKeyboardLayout added
  FindWindowA, FindWindowExA added
  SM_CMOUSEBUTTONS supported
  DrawTextA added (dummy)
  class style CS_SAVEBITS supported
 
 2006.02.06:  Version 2.9.1

  bugfix: GetWindowLong/SetWindowLong didn't work with offset 0.
  PostThreadMessageA no longer dummy
 
 2006.01.22:  Version 2.9
 
  bugfix:calling ChangeDisplaySettings without a previous
   mode change failed.
  WM_SYSKEYDOWN/WM_SYSKEYUP/WM_SYSCHAR supported
  MapVirtualKeyA now works with type=2 as well
  keybd_event implemented
  bugfix: GetWindowRect now accepts HWND_DESKTOP (=0) as hwnd
  LoadIconA now looks in icon group resource
  SetPropA, GetPropA, RemovePropA added (dummies)
  TranslateMessage, IsDialogMessageA implemented
 
 2006.01.02:  Version 2.8
 
  DialogBoxIndirectParamA, GetDlgCtrlID added (dummies)
  WaitMessage added
  GetClassNameA, GetWindowDC added
  CloseWindow added
  bugfix: WM_xBUTTONy had wrong WPARAM parameter
  IsChild, GetClassLongA, IsWindowEnabled implemented
 
 2005.12.20:  Version 2.7
 
  EnableWindow implemented (dummy)
  catch DestroyWindow(0) error
  GetWindowPlacement, SetWindowPlacement added
  DialogBoxParamA, EndDialog, GetDlgItem, SetDlgItemTextA, 
   CreateDialogParamA added (dummies)
  VkKeyScanA added (dummy)
 
 2005.12.07:  Version 2.6
 
  bugfix: wrong handling of WM_WINDOWPOSCHANGED in DefWindowProc
  GetSysColor, SetSysColors added (dummies)
  RegisterHotkey, UnregisterHotkey added (dummies)
  RegisterWindowMessageA added
  SystemParametersInfoA added (dummy)
  UpdateWindow, MoveWindow implemented
  MessageBoxA now works in graphics mode (limited)
  GetSysColorBrush added
  WNDCLASS.hbrBackground now supports system color indices
  LoadIconA, CreateIconFromResource added
  bugfix: SetWindowLong didn't return previous value
  GetWindowThreadProcessId no longer dummy
  MessageBox now waits for a key press
  WindowFromDC added
  GetClassInfoA added (dummy)
  GetQueueStatus added (dummy)
  InSendMessage added (dummy)
 
 2005.11.24:  Version 2.5
 
  WM_SETCURSOR handled in DefWindowProc
  IsWindowVisible added
 
 2005.11.18:  Version 2.4
 
  CopyRect, InflateRect, IntersectRect, OffsetRect, SetRect,
  SetRectEmpty, UnionRect added
              
 2005.11.04:  Version 2.3
 
  DefWindowProc now handles WM_SYSCOMMAND/SC_CLOSE.
  bugfix: BeginPaint didn't send WM_ERASEBKGND if windows
   background has to be erased.
  bugfix: returncode of ShowWindow was always 1
  bugfix: SetActiveWindow wasn't exported
  bugfix: ChangeDisplaySettingsA didn't return an error code
   if DEVMODE.dmFields wasn't initialized.
              
 2005.10.24:  Version 2.2
 
  SetTimer, KillTimer no longer dummies
  MsgWaitForMultipleObjects added
  MapVirtualKeyA added
  SetTimer, KillTimer added
  PtInRect, LoadImageA added
  ChangeDisplaySettingsA, EnumDisplaySettingsA added
  ClientToScreen, ScreenToClient, AdjustWindowRect(Ex) added
  GetWindowRect, GetClientRect, MapWindowPoints added
  GetDesktopWindow, GetParent, GetMenu, WindowFromPoint added
  SetClassLongA added
  SetWindowTextA, IsZoomed, CallWindowProcA added
  GetCapture, ReleaseCapture, SetCapture added
  CreateIconFromResourceEx, DestroyIcon added
  GetCurser, GetCursorPos, ClipCursor, SetCursorPos added
 
 2005.09.29:  Version 2.1
 
  FillRect, InvalidateRect added
  BeginPaint, EndPaint, GetDC, ReleaseDC added
 
 2005.09.18:  Version 2.0
 
  LoadBitmapA added
  SetWindowLongA, UnregisterClassA, CharLowerBuffW added
 
 2005.07.20:  Version 1.9
 
  GetWindowTextLengthA added (dummy)
 
 2005.07.06:  Version 1.8
 
  IsClipboardFormatAvailable added
 
 2005.06.14:  Version 1.7
 
  GetMessage/PeekMessage now receiving mouse messages
  LoadCursor/DestroyCursor/SetCursor added
  ShowCursor now shows/hides mouse cursor (SetConsoleMode)
  RegisterClassA + RegisterClassExA now maintain a linked
   list of registered classes.
              
 2005.06.07:  Version 1.6
 
  MessageBoxA + MessageBoxExA now write to console
  GetFocus,SetFocus,RegisterClassExA added
 
 2005.05.20:  Version 1.5
 
  CharPrevA, CharPrevExA added
 
 2004.12.03:  Version 1.4
 
  CharToOemBuffW, CharToOemW
  SetWindowPos, EnumWindows
  GetWindowTextA, GetWindow, GetWindowThreadProcessId added
  GetForegroundWindow, SetForegroundWindow added
  GetWindowLongA, GetTopWindow added
  GetKeyboardState + SetKeyboardState added (dummy)
  MessageBoxExA, ToAscii, IsWindow added (dummy)
 
 2004.11.25:  Version 1.3
 
  CreateIcon + CreateCursor added (dummies)
 
 2004.08.31:  Version 1.2
 
  LoadStringW no longer dummy
 
 2004.08.29:  Version 1.1
 
  ExitWindowsEx added (dummy)
  CharLowerBuffA added
  GetKeyboardType added
  IsCharAlphaNumericA added
  CharNextExA added
  MessageBeep added
 
 2004.02.01:  Version 1.0


 4. Copyright
 
 DUSER32 is part of HX DOS extender. This extender is freeware.
 View HXRT.TXT for licence details.
 
 Japheth
 
