Kaynağa Gözat

+ New version of files by Ramon BosqueA

daniel 26 yıl önce
ebeveyn
işleme
d14df5e83c
2 değiştirilmiş dosya ile 2330 ekleme ve 2918 silme
  1. 239 354
      rtl/os2/os2def.pas
  2. 2091 2564
      rtl/os2/pmwin.pas

+ 239 - 354
rtl/os2/os2def.pas

@@ -1,354 +1,239 @@
-{****************************************************************************
-
-                   Copyright (c) 1993,94 by Florian Kl„mpfl
-                  
- ****************************************************************************}
-unit os2def;
-
-  interface
-  
-    type
-       APIRET = longint;
-       APIRET16 = word;
-       APIRET32 = longint;
-       
-       SHANDLE = word;
-       LHANDLE = longint;
-       
-       CHAR = char;
-       SHORT = integer;
-       LONG = longint;
-       INT = longint;
-       UCHAR = char;
-       USHORT = word;
-       ULONG = longint;
-       UINT = longint;
-       
-{!!!!!!! typedef UCHAR     * _Seg16 PUCHAR16;
-typedef CHAR      * _Seg16 PCHAR16; }
-
-       BYTE = byte;
-       PSZ = ^char;
-       NPSZ = ^char;
-       PCH = ^char;
-       NPCH = ^char;
-{       typedef int ( APIENTRY _PFN)  ();
-typedef _PFN    *PFN;
-typedef int ( APIENTRY _NPFN)  ();
-typedef _NPFN   *NPFN;  }
-
-       PBYTE = ^BYTE;
-       NPBYTE = ^BYTE;
-       PCHAR = ^CHAR;
-       PSHORT = ^SHORT;
-       PLONG = ^LONG;
-       PINT = ^INT;
-       PUCHAR = ^UCHAR;
-       PUSHORT = ^USHORT;
-       PULONG = ^ULONG;
-       PUINT = ^UINT;
-      
-       PVOID = pointer;
-       PPVOID = ^PVOID;
-
-      { typedef VOID   * _Seg16  PVOID16; }
-
-       BOOL = longint;
-       PBOOL = ^BOOL;
-     
-       BOOL16 = word;
-{ typedef BOOL16     * _Seg16 PBOOL16;  }
-
-       BOOL32 = BOOL;
-       PBOOL32 = PBOOL;
-      
-       QWORD = record
-          ulLo : ULONG;
-          ulHi : ULONG;
-       end;
-      
-       PQWORD = ^QWORD;
-      
-       SEL = WORD;
-       PSEL = ^SEL;
-      
-       ERRORID = ULONG;
-       PERRORID = ^ERRORID;
-      
-    const
-       SEVERITY_NOERROR = $0;
-       SEVERITY_WARNING = $4;
-       SEVERITY_ERROR = $8;
-       SEVERITY_SEVERE = $c;
-       SEVERITY_UNRECOVERABLE = $10;
-      
-       WINERR_BASE = $1000;
-       GPIERR_BASE = $2000;
-       DEVERR_BASE = $3000;
-       SPLERR_BASE = $4000;
-      
-    type
-       HMODULE = LHANDLE;
-       PID = LHANDLE;
-       TID = LHANDLE;
-      
-       SGID = USHORT;
-      
-       PHMODULE = ^HMODULE;
-       PPID = ^PID;
-       PTID = ^TID;
-      
-       HSEM = pointer;
-       PHSEM = ^HSEM;
-      
-       HAB = LHANDLE;
-       PHAB = ^HAB;
-      
-       HPS = LHANDLE;
-       PHPS = ^HPS;
-      
-       HDC = LHANDLE;
-       PHDC = ^HDC;
-      
-       HRGN = LHANDLE;
-       PHRGN = ^HRGN;
-      
-       HBITMAP = LHANDLE;
-       PHBITMAP = ^HBITMAP;
-      
-       HMF = LHANDLE;
-       PHMF = ^HMF;
-      
-       HPAL = LHANDLE;
-       PHPAL = HPAL;
-      
-       COLOR = LONG;
-       PCOLOR = ^COLOR;
-      
-       POINTL = record
-          x : LONG;
-          y : LONG;
-       end;
-      
-       PPOINTL = ^POINTL;
-       NPPOINTL = ^POINTL;
-      
-       POINTS = record
-          x : SHORT;
-          y : SHORT;
-       end;
-      
-       PPOINTS = ^POINTS;
-      
-       RECTL = record
-          xLeft : LONG;
-          yBottom : LONG;
-          xRight : LONG;
-          yTop : LONG;
-       end;
-
-       PRECTL = ^RECTL;
-
-       NPRECTL = ^RECTL;
-       
-       STR8 = array[0..7] of CHAR;
-
-       PSTR8 = ^STR8;
-
-       DRIVDATA = record
-          cb : LONG;
-          lVersion : LONG;
-          szDeviceName : array[0..32-1] of CHAR;
-          abGeneralData : array[0..1-1] of CHAR;
-       end;
-
-       PDRIVDATA = ^DRIVDATA;
-
-       PDEVOPENDATA = ^PSZ;
-
-    const
-       ADDRESS = 0;
-       DRIVER_NAME = 1;
-       DRIVER_DATA = 2;
-       DATA_TYPE = 3;
-       COMMENT = 4;
-       PROC_NAME = 5;
-       PROC_PARAMS = 6;
-       SPL_PARAMS = 7;
-       NETWORK_PARAMS = 8;
-
-    type
-       DEVOPENSTRUC = record
-          pszLogAddress : PSZ;
-          pszDriverName : PSZ;
-          pdriv : PDRIVDATA;
-          pszDataType : PSZ;
-          pszComment : PSZ;
-          pszQueueProcName : PSZ;
-          pszQueueProcParams : PSZ;
-          pszSpoolerParams : PSZ;
-          pszNetworkParams : PSZ;
-       end;
-
-       PDEVOPENSTRUC = ^DEVOPENSTRUC;
-
-       PRINTDEST = record
-          cb : ULONG;
-          lType : LONG;
-          pszToken : PSZ;
-          lCount : LONG;
-          pdopData : PDEVOPENDATA;
-          fl : ULONG;
-          pszPrinter : PSZ;
-       end;
-
-       PPRINTDEST = ^PRINTDEST;
-
-    const
-       PD_JOB_PROPERTY = $0001;
-       FATTR_SEL_ITALIC = $0001;
-       FATTR_SEL_UNDERSCORE = $0002;
-       FATTR_SEL_OUTLINE = $0008;
-       FATTR_SEL_STRIKEOUT = $0010;
-       FATTR_SEL_BOLD = $0020;
-       FATTR_TYPE_KERNING = $0004;
-       FATTR_TYPE_MBCS = $0008;
-       FATTR_TYPE_DBCS = $0010;
-       FATTR_TYPE_ANTIALIASED = $0020;
-       FATTR_FONTUSE_NOMIX = $0002;
-       FATTR_FONTUSE_OUTLINE = $0004;
-       FATTR_FONTUSE_TRANSFORMABLE = $0008;
-       FACESIZE = 32;
-
-    type
-       FATTRS = record
-          usRecordLength : USHORT;
-          fsSelection : USHORT;
-          lMatch : LONG;
-          szFacename : array[0..FACESIZE-1] of CHAR;
-          idRegistry : USHORT;
-          usCodePage : USHORT;
-          lMaxBaselineExt : LONG;
-          lAveCharWidth : LONG;
-          fsType : USHORT;
-          fsFontUse : USHORT;
-       end;
-
-       PFATTRS = ^FATTRS;
-
-    const
-       FM_TYPE_FIXED = $0001;
-       FM_TYPE_LICENSED = $0002;
-       FM_TYPE_KERNING = $0004;
-       FM_TYPE_DBCS = $0010;
-       FM_TYPE_MBCS = $0018;
-       FM_TYPE_64K = $8000;
-       FM_TYPE_ATOMS = $4000;
-       FM_TYPE_FAMTRUNC = $2000;
-       FM_TYPE_FACETRUNC = $1000;
-       FM_DEFN_OUTLINE = $0001;
-       FM_DEFN_IFI = $0002;
-       FM_DEFN_WIN = $0004;
-       FM_DEFN_GENERIC = $8000;
-       FM_SEL_ITALIC = $0001;
-       FM_SEL_UNDERSCORE = $0002;
-       FM_SEL_NEGATIVE = $0004;
-       FM_SEL_OUTLINE = $0008;
-       FM_SEL_STRIKEOUT = $0010;
-       FM_SEL_BOLD = $0020;
-       FM_CAP_NOMIX = $0001;
-
-    type
-       PANOSE = record
-          bFamilyType : BYTE;
-          bSerifStyle : BYTE;
-          bWeight : BYTE;
-          bProportion : BYTE;
-          bContrast : BYTE;
-          bStrokeVariation : BYTE;
-          bArmStyle : BYTE;
-          bLetterform : BYTE;
-          bMidline : BYTE;
-          bXHeight : BYTE;
-          abReserved : array[0..2-1] of BYTE;
-       end;
-
-       FONTMETRICS = record
-          szFamilyname : array[0..FACESIZE-1] of CHAR;
-          szFacename : array[0..FACESIZE-1] of CHAR;
-          idRegistry : USHORT;
-          usCodePage : USHORT;
-          lEmHeight : LONG;
-          lXHeight : LONG;
-          lMaxAscender : LONG;
-          lMaxDescender : LONG;
-          lLowerCaseAscent : LONG;
-          lLowerCaseDescent : LONG;
-          lInternalLeading : LONG;
-          lExternalLeading : LONG;
-          lAveCharWidth : LONG;
-          lMaxCharInc : LONG;
-          lEmInc : LONG;
-          lMaxBaselineExt : LONG;
-          sCharSlope : SHORT;
-          sInlineDir : SHORT;
-          sCharRot : SHORT;
-          usWeightClass : USHORT;
-          usWidthClass : USHORT;
-          sXDeviceRes : SHORT;
-          sYDeviceRes : SHORT;
-          sFirstChar : SHORT;
-          sLastChar : SHORT;
-          sDefaultChar : SHORT;
-          sBreakChar : SHORT;
-          sNominalPointSize : SHORT;
-          sMinimumPointSize : SHORT;
-          sMaximumPointSize : SHORT;
-          fsType : USHORT;
-          fsDefn : USHORT;
-          fsSelection : USHORT;
-          fsCapabilities : USHORT;
-          lSubscriptXSize : LONG;
-          lSubscriptYSize : LONG;
-          lSubscriptXOffset : LONG;
-          lSubscriptYOffset : LONG;
-          lSuperscriptXSize : LONG;
-          lSuperscriptYSize : LONG;
-          lSuperscriptXOffset : LONG;
-          lSuperscriptYOffset : LONG;
-          lUnderscoreSize : LONG;
-          lUnderscorePosition : LONG;
-          lStrikeoutSize : LONG;
-          lStrikeoutPosition : LONG;
-          sKerningPairs : SHORT;
-          sFamilyClass : SHORT;
-          lMatch : LONG;
-          FamilyNameAtom : LONG;
-          FaceNameAtom : LONG;
-          panose : PANOSE;
-       end;
-
-       PFONTMETRICS = ^FONTMETRICS;
-       
-       HWND = LHANDLE;
-       HMQ = LHANDLE;
-       PHWND = ^HWND;
-       PHMQ = ^LHANDLE;
-       
-       WRECTL = RECTL;
-       PWRECT = PRECTL;
-       NPWRECT = NPRECTL;
-       WPOINT = POINTL;
-       PWPOINT = PPOINTL;
-       NPWPOINT = NPPOINTL;
-       
-  { Nun folgen einige FPKPascal-spezifische Typen: }
-  
-      { null. term. Strings sind in den Header Dateien oft als }
-      { array[0..0] of byte deklariert, der folgende Typ er-   }
-      { m”glich eine Typkonvertierung                  }
-      CHARARRAY = array[0..0] of char;
-     
-  implementation
-  
-end.
+{****************************************************************************
+
+		   Copyright (c) 1993,94 by Florian Kl„mpfl
+		  
+ ****************************************************************************}
+unit os2def;
+
+interface
+
+const
+       SEVERITY_NOERROR = $0;
+       SEVERITY_WARNING = $4;
+       SEVERITY_ERROR = $8;
+       SEVERITY_SEVERE = $c;
+       SEVERITY_UNRECOVERABLE = $10;
+      
+       WINERR_BASE = $1000;
+       GPIERR_BASE = $2000;
+       DEVERR_BASE = $3000;
+       SPLERR_BASE = $4000;
+
+       ADDRESS = 0;
+       DRIVER_NAME = 1;
+       DRIVER_DATA = 2;
+       DATA_TYPE = 3;
+       COMMENT = 4;
+       PROC_NAME = 5;
+       PROC_PARAMS = 6;
+       SPL_PARAMS = 7;
+       NETWORK_PARAMS = 8;
+
+       PD_JOB_PROPERTY = $0001;
+       FATTR_SEL_ITALIC = $0001;
+       FATTR_SEL_UNDERSCORE = $0002;
+       FATTR_SEL_OUTLINE = $0008;
+       FATTR_SEL_STRIKEOUT = $0010;
+       FATTR_SEL_BOLD = $0020;
+       FATTR_TYPE_KERNING = $0004;
+       FATTR_TYPE_MBCS = $0008;
+       FATTR_TYPE_DBCS = $0010;
+       FATTR_TYPE_ANTIALIASED = $0020;
+       FATTR_FONTUSE_NOMIX = $0002;
+       FATTR_FONTUSE_OUTLINE = $0004;
+       FATTR_FONTUSE_TRANSFORMABLE = $0008;
+       FACESIZE = 32;
+      
+       FM_TYPE_FIXED = $0001;
+       FM_TYPE_LICENSED = $0002;
+       FM_TYPE_KERNING = $0004;
+       FM_TYPE_DBCS = $0010;
+       FM_TYPE_MBCS = $0018;
+       FM_TYPE_64K = $8000;
+       FM_TYPE_ATOMS = $4000;
+       FM_TYPE_FAMTRUNC = $2000;
+       FM_TYPE_FACETRUNC = $1000;
+       FM_DEFN_OUTLINE = $0001;
+       FM_DEFN_IFI = $0002;
+       FM_DEFN_WIN = $0004;
+       FM_DEFN_GENERIC = $8000;
+       FM_SEL_ITALIC = $0001;
+       FM_SEL_UNDERSCORE = $0002;
+       FM_SEL_NEGATIVE = $0004;
+       FM_SEL_OUTLINE = $0008;
+       FM_SEL_STRIKEOUT = $0010;
+       FM_SEL_BOLD = $0020;
+       FM_CAP_NOMIX = $0001;
+
+    type
+       pcardinal = ^cardinal;
+       plongint = ^longint;
+       pinteger = ^integer;
+       pshortint = ^shortint;
+       ppointer = ^pointer;
+       pbyte = ^byte;
+       
+       POINTL = record
+	  x : cardinal;
+	  y : cardinal;
+       end;
+
+       PPOINTL = ^POINTL;
+
+       POINTS = record
+	  x : integer;
+	  y : integer;
+       end;
+      
+       PPOINTS = ^POINTS;
+      
+       RECTL = record
+	  xLeft : longint;
+	  yBottom : longint;
+	  xRight : longint;
+	  yTop : longint;
+       end;
+
+       PRECTL = ^RECTL;
+
+       NPRECTL = ^RECTL;
+       
+       STR8 = array[0..7] of CHAR;
+
+       PSTR8 = ^STR8;
+
+       DRIVDATA = record
+	  cb : longint;
+	  lVersion : longint;
+	  szDeviceName : array[0..32-1] of CHAR;
+	  abGeneralData : array[0..1-1] of CHAR;
+       end;
+
+       PDRIVDATA = ^DRIVDATA;
+
+       PDEVOPENDATA = pshortint;           {Initially, ^PSZ}
+
+       DEVOPENSTRUC = record
+	  pszLogAddress : pshortint;
+	  pszDriverName : pshortint;
+	  pdriv : PDRIVDATA;
+	  pszDataType : pshortint;
+	  pszComment : pshortint;
+	  pszQueueProcName : pshortint;
+	  pszQueueProcParams : pshortint;
+	  pszSpoolerParams : pshortint;
+	  pszNetworkParams : pshortint;
+       end;
+
+       PDEVOPENSTRUC = ^DEVOPENSTRUC;
+
+       PRINTDEST = record
+	  cb : cardinal;
+	  lType : longint;
+	  pszToken : pshortint;
+	  lCount : longint;
+	  pdopData : PDEVOPENDATA;
+	  fl : cardinal;
+	  pszPrinter : pshortint;
+       end;
+
+       PPRINTDEST = ^PRINTDEST;
+       
+       FATTRS = record
+	  usRecordLength : word;
+	  fsSelection : word;
+	  lMatch : longint;
+	  szFacename : array[0..FACESIZE-1] of CHAR;
+	  idRegistry : word;
+	  usCodePage : word;
+	  lMaxBaselineExt : longint;
+	  lAveCharWidth : longint;
+	  fsType : word;
+	  fsFontUse : word;
+       end;
+
+       PFATTRS = ^FATTRS;
+       
+       PANOSE = record
+	  bFamilyType : BYTE;
+	  bSerifStyle : BYTE;
+	  bWeight : BYTE;
+	  bProportion : BYTE;
+	  bContrast : BYTE;
+	  bStrokeVariation : BYTE;
+	  bArmStyle : BYTE;
+	  bLetterform : BYTE;
+	  bMidline : BYTE;
+	  bXHeight : BYTE;
+	  abReserved : array[0..2-1] of BYTE;
+       end;
+
+       FONTMETRICS = record
+	  szFamilyname : array[0..FACESIZE-1] of CHAR;
+	  szFacename : array[0..FACESIZE-1] of CHAR;
+	  idRegistry : word;
+	  usCodePage : word;
+	  lEmHeight : longint;
+	  lXHeight : longint;
+	  lMaxAscender : longint;
+	  lMaxDescender : longint;
+	  lLowerCaseAscent : longint;
+	  lLowerCaseDescent : longint;
+	  lInternalLeading : longint;
+	  lExternalLeading : longint;
+	  lAveCharWidth : longint;
+	  lMaxCharInc : longint;
+	  lEmInc : longint;
+	  lMaxBaselineExt : longint;
+	  sCharSlope : integer;
+	  sInlineDir : integer;
+	  sCharRot : integer;
+	  usWeightClass : word;
+	  usWidthClass : word;
+	  sXDeviceRes : integer;
+	  sYDeviceRes : integer;
+	  sFirstChar : integer;
+	  sLastChar : integer;
+	  sDefaultChar : integer;
+	  sBreakChar : integer;
+	  sNominalPointSize : integer;
+	  sMinimumPointSize : integer;
+	  sMaximumPointSize : integer;
+	  fsType : word;
+	  fsDefn : word;
+	  fsSelection : word;
+	  fsCapabilities : word;
+	  lSubscriptXSize : longint;
+	  lSubscriptYSize : longint;
+	  lSubscriptXOffset : longint;
+	  lSubscriptYOffset : longint;
+	  lSuperscriptXSize : longint;
+	  lSuperscriptYSize : longint;
+	  lSuperscriptXOffset : longint;
+	  lSuperscriptYOffset : longint;
+	  lUnderscoreSize : longint;
+	  lUnderscorePosition : longint;
+	  lStrikeoutSize : longint;
+	  lStrikeoutPosition : longint;
+	  sKerningPairs : integer;
+	  sFamilyClass : integer;
+	  lMatch : longint;
+	  FamilyNameAtom : longint;
+	  FaceNameAtom : longint;
+	  panose : PANOSE;
+       end;
+
+       PFONTMETRICS = ^FONTMETRICS;
+       
+  { Nun folgen einige FPKPascal-spezifische Typen: }
+  
+      { null. term. Strings sind in den Header Dateien oft als }
+      { array[0..0] of byte deklariert, der folgende Typ er-   }
+      { m”glich eine Typkonvertierung                          }
+      CHARARRAY = array[0..0] of char;
+     
+
+
+  implementation
+  
+end.

+ 2091 - 2564
rtl/os2/pmwin.pas

@@ -1,2564 +1,2091 @@
-{****************************************************************************
-
-                   Copyright (c) 1993,94 by Florian Kl„mpfl
-                  
- ****************************************************************************}
-unit pmwin;
-
-  interface
-
-    uses
-       os2def;
-
-    type
-       MPARAM = pointer;
-
-       PMPARAM = ^MPARAM;
-
-       MRESULT = pointer;
-
-       PMRESULT = ^MRESULT;
-
-       {!!!!!!!!! eigentlich Prozedurevariablen }
-       FNWP = pointer;
-       PFN = pointer;  { muá auáerdem in OS2DEF.PP definiert werden }
-
-       PFNWP = ^FNWP;
-
-    const
-       WS_VISIBLE = $80000000;
-       WS_DISABLED = $40000000;
-       WS_CLIPCHILDREN = $20000000;
-       WS_CLIPSIBLINGS = $10000000;
-       WS_PARENTCLIP = $08000000;
-       WS_SAVEBITS = $04000000;
-       WS_SYNCPAINT = $02000000;
-       WS_MINIMIZED = $01000000;
-       WS_MAXIMIZED = $00800000;
-       WS_ANIMATE = $00400000;
-       WS_GROUP = $00010000;
-       WS_TABSTOP = $00020000;
-       WS_MULTISELECT = $00040000;
-       CS_MOVENOTIFY = $00000001;
-       CS_SIZEREDRAW = $00000004;
-       CS_HITTEST = $00000008;
-       CS_PUBLIC = $00000010;
-       CS_FRAME = $00000020;
-       CS_CLIPCHILDREN = $20000000;
-       CS_CLIPSIBLINGS = $10000000;
-       CS_PARENTCLIP = $08000000;
-       CS_SAVEBITS = $04000000;
-       CS_SYNCPAINT = $02000000;
-
-       HWND_DESKTOP = 1;
-       HWND_OBJECT = 2;
-       HWND_TOP = 3;
-       HWND_BOTTOM = 4;
-       HWND_THREADCAPTURE = 5;
-
-    function WinRegisterClass(hab : HAB;pszClassName : PSZ;pfnWndProc : PFNWP;flStyle : ULONG;cbWindowData : ULONG) : BOOL;
-
-    function WinDefWindowProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
-
-    function WinDestroyWindow(hwnd : HWND) : BOOL;
-
-    function WinShowWindow(hwnd : HWND;fShow : BOOL) : BOOL;
-
-    function WinQueryWindowRect(hwnd : HWND;prclDest : PRECTL) : BOOL;
-
-    function WinGetPS(hwnd : HWND) : HPS;
-
-    function WinReleasePS(hps : HPS) : BOOL;
-
-    function WinEndPaint(hps : HPS) : BOOL;
-
-    function WinGetClipPS(hwnd : HWND;hwndClip : HWND;fl : ULONG) : HPS;
-
-    function WinIsWindowShowing(hwnd : HWND) : BOOL;
-
-    function WinBeginPaint(hwnd : HWND;hps : HPS;prclPaint : PRECTL) : HPS;
-
-    function WinOpenWindowDC(hwnd : HWND) : HDC;
-
-    function WinScrollWindow(hwnd : HWND;dx : LONG;dy : LONG;prclScroll : PRECTL;prclClip : PRECTL;hrgnUpdate : HRGN;prclUpdate : PRECTL;rgfsw : ULONG) : LONG;
-
-    const
-       PSF_LOCKWINDOWUPDATE = $0001;
-       PSF_CLIPUPWARDS = $0002;
-       PSF_CLIPDOWNWARDS = $0004;
-       PSF_CLIPSIBLINGS = $0008;
-       PSF_CLIPCHILDREN = $0010;
-       PSF_PARENTCLIP = $0020;
-       SW_SCROLLCHILDREN = $0001;
-       SW_INVALIDATERGN = $0002;
-
-    function WinFillRect(hps : HPS;prcl : PRECTL;lColor : LONG) : BOOL;
-
-    type
-       QVERSDATA = record
-          environment : USHORT;
-          version : USHORT;
-       end;
-
-       PQVERSDATA = ^QVERSDATA;
-
-    const
-       QV_OS2 = $0000;
-       QV_CMS = $0001;
-       QV_TSO = $0002;
-       QV_TSOBATCH = $0003;
-       QV_OS400 = $0004;
-
-    function WinQueryVersion(hab : HAB) : ULONG;
-
-    function WinInitialize(flOptions : ULONG) : HAB;
-
-    function WinTerminate(hab : HAB) : BOOL;
-
-    function WinQueryAnchorBlock(hwnd : HWND) : HAB;
-
-    function WinCreateWindow(hwndParent : HWND;pszClass : PSZ;pszName : PSZ;flStyle : ULONG;x : LONG;y : LONG;cx : LONG;cy : LONG;hwndOwner : HWND;hwndInsertBehind : HWND;id : ULONG;pCtlData : PVOID;pPresParams : PVOID) : HWND;
-
-    function WinEnableWindow(hwnd : HWND;fEnable : BOOL) : BOOL;
-
-    function WinIsWindowEnabled(hwnd : HWND) : BOOL;
-
-    function WinEnableWindowUpdate(hwnd : HWND;fEnable : BOOL) : BOOL;
-
-    function WinIsWindowVisible(hwnd : HWND) : BOOL;
-
-    function WinQueryWindowText(hwnd : HWND;cchBufferMax : LONG;pchBuffer : PCH) : LONG;
-
-    function WinSetWindowText(hwnd : HWND;pszText : PSZ) : BOOL;
-
-    function WinQueryWindowTextLength(hwnd : HWND) : LONG;
-
-    function WinWindowFromID(hwndParent : HWND;id : ULONG) : HWND;
-
-    function WinIsWindow(hab : HAB;hwnd : HWND) : BOOL;
-
-    function WinQueryWindow(hwnd : HWND;cmd : LONG) : HWND;
-
-    function WinMultWindowFromIDs(hwndParent : HWND;prghwnd : PHWND;idFirst : ULONG;idLast : ULONG) : LONG;
-
-    const
-       QW_NEXT = 0;
-       QW_PREV = 1;
-       QW_TOP = 2;
-       QW_BOTTOM = 3;
-       QW_OWNER = 4;
-       QW_PARENT = 5;
-       QW_NEXTTOP = 6;
-       QW_PREVTOP = 7;
-       QW_FRAMEOWNER = 8;
-
-    function WinSetParent(hwnd : HWND;hwndNewParent : HWND;fRedraw : BOOL) : BOOL;
-
-    function WinIsChild(hwnd : HWND;hwndParent : HWND) : BOOL;
-
-    function WinSetOwner(hwnd : HWND;hwndNewOwner : HWND) : BOOL;
-
-    function WinQueryWindowProcess(hwnd : HWND;ppid : PPID;ptid : PTID) : BOOL;
-
-    function WinQueryObjectWindow(hwndDesktop : HWND) : HWND;
-
-    function WinQueryDesktopWindow(hab : HAB;hdc : HDC) : HWND;
-
-    type
-       SWP = record
-          fl : ULONG;
-          cy : LONG;
-          cx : LONG;
-          y : LONG;
-          x : LONG;
-          hwndInsertBehind : HWND;
-          hwnd : HWND;
-          ulReserved1 : ULONG;
-          ulReserved2 : ULONG;
-       end;
-
-       PSWP = ^SWP;
-
-
-    function WinSetWindowPos(hwnd : HWND;hwndInsertBehind : HWND;x : LONG;y : LONG;cx : LONG;cy : LONG;fl : ULONG) : BOOL;
-
-    function WinSetMultWindowPos(hab : HAB;pswp : PSWP;cswp : ULONG) : BOOL;
-
-    function WinQueryWindowPos(hwnd : HWND;pswp : PSWP) : BOOL;
-
-    const
-       AWP_MINIMIZED = $00010000;
-       AWP_MAXIMIZED = $00020000;
-       AWP_RESTORED = $00040000;
-       AWP_ACTIVATE = $00080000;
-       AWP_DEACTIVATE = $00100000;
-       SWP_SIZE = $0001;
-       SWP_MOVE = $0002;
-       SWP_ZORDER = $0004;
-       SWP_SHOW = $0008;
-       SWP_HIDE = $0010;
-       SWP_NOREDRAW = $0020;
-       SWP_NOADJUST = $0040;
-       SWP_ACTIVATE = $0080;
-       SWP_DEACTIVATE = $0100;
-       SWP_EXTSTATECHANGE = $0200;
-       SWP_MINIMIZE = $0400;
-       SWP_MAXIMIZE = $0800;
-       SWP_RESTORE = $1000;
-       SWP_FOCUSACTIVATE = $2000;
-       SWP_FOCUSDEACTIVATE = $4000;
-       SWP_NOAUTOCLOSE = $8000;
-
-    function WinUpdateWindow(hwnd : HWND) : BOOL;
-
-    function WinInvalidateRect(hwnd : HWND;pwrc : PRECTL;fIncludeChildren : BOOL) : BOOL;
-
-    function WinInvalidateRegion(hwnd : HWND;hrgn : HRGN;fIncludeChildren : BOOL) : BOOL;
-
-    function WinInvertRect(hps : HPS;prcl : PRECTL) : BOOL;
-
-    function WinDrawBitmap(hpsDst : HPS;hbm : HBITMAP;pwrcSrc : PRECTL;pptlDst : PPOINTL;clrFore : LONG;clrBack : LONG;fl : ULONG) : BOOL;
-
-    const
-       DBM_NORMAL = $0000;
-       DBM_INVERT = $0001;
-       DBM_HALFTONE = $0002;
-       DBM_STRETCH = $0004;
-       DBM_IMAGEATTRS = $0008;
-
-    function WinDrawText(hps : HPS;cchText : LONG;lpchText : PCH;prcl : PRECTL;clrFore : LONG;clrBack : LONG;flCmd : ULONG) : LONG;
-
-    const
-       DT_LEFT = $0000;
-       DT_QUERYEXTENT = $0002;
-       DT_UNDERSCORE = $0010;
-       DT_STRIKEOUT = $0020;
-       DT_TEXTATTRS = $0040;
-       DT_EXTERNALLEADING = $0080;
-       DT_CENTER = $0100;
-       DT_RIGHT = $0200;
-       DT_TOP = $0000;
-       DT_VCENTER = $0400;
-       DT_BOTTOM = $0800;
-       DT_HALFTONE = $1000;
-       DT_MNEMONIC = $2000;
-       DT_WORDBREAK = $4000;
-       DT_ERASERECT = $8000;
-
-    function WinDrawBorder(hps : HPS;prcl : PRECTL;cx : LONG;cy : LONG;clrFore : LONG;clrBack : LONG;flCmd : ULONG) : BOOL;
-
-    const
-       DB_PATCOPY = $0000;
-       DB_PATINVERT = $0001;
-       DB_DESTINVERT = $0002;
-       DB_AREAMIXMODE = $0003;
-       DB_ROP = $0007;
-       DB_INTERIOR = $0008;
-       DB_AREAATTRS = $0010;
-       DB_STANDARD = $0100;
-       DB_DLGBORDER = $0200;
-
-    function WinLoadString(hab : HAB;hmod : HMODULE;id : ULONG;cchMax : LONG;pchBuffer : PSZ) : LONG;
-
-    function WinLoadMessage(hab : HAB;hmod : HMODULE;id : ULONG;cchMax : LONG;pchBuffer : PSZ) : LONG;
-
-    function WinSetActiveWindow(hwndDesktop : HWND;hwnd : HWND) : BOOL;
-
-    type
-       CREATESTRUCT = record
-          pPresParams : PVOID;
-          pCtlData : PVOID;
-          id : ULONG;
-          hwndInsertBehind : HWND;
-          hwndOwner : HWND;
-          cy : LONG;
-          cx : LONG;
-          y : LONG;
-          x : LONG;
-          flStyle : ULONG;
-          pszText : PSZ;
-          pszClass : PSZ;
-          hwndParent : HWND;
-       end;
-
-       PCREATESTRUCT = ^CREATESTRUCT;
-
-       CLASSINFO = record
-          flClassStyle : ULONG;
-          pfnWindowProc : PFNWP;
-          cbWindowData : ULONG;
-       end;
-
-       PCLASSINFO = ^CLASSINFO;
-
-
-    function WinSubclassWindow(hwnd : HWND;pfnwp : PFNWP) : PFNWP;
-
-    function WinQueryClassName(hwnd : HWND;cchMax : LONG;pch : PCH) : LONG;
-
-    function WinQueryClassInfo(hab : HAB;pszClassName : PSZ;pClassInfo : PCLASSINFO) : BOOL;
-
-    function WinQueryActiveWindow(hwndDesktop : HWND) : HWND;
-
-    function WinIsThreadActive(hab : HAB) : BOOL;
-
-    function WinQuerySysModalWindow(hwndDesktop : HWND) : HWND;
-
-    function WinSetSysModalWindow(hwndDesktop : HWND;hwnd : HWND) : BOOL;
-
-    function WinQueryWindowUShort(hwnd : HWND;index : LONG) : USHORT;
-
-    function WinSetWindowUShort(hwnd : HWND;index : LONG;us : USHORT) : BOOL;
-
-    function WinQueryWindowULong(hwnd : HWND;index : LONG) : ULONG;
-
-    function WinSetWindowULong(hwnd : HWND;index : LONG;ul : ULONG) : BOOL;
-
-    function WinQueryWindowPtr(hwnd : HWND;index : LONG) : PVOID;
-
-    function WinSetWindowPtr(hwnd : HWND;index : LONG;p : PVOID) : BOOL;
-
-    function WinSetWindowBits(hwnd : HWND;index : LONG;flData : ULONG;flMask : ULONG) : BOOL;
-
-    const
-       QWS_USER = 0;
-       QWS_ID = -1;
-       QWS_MIN = -1;
-       QWL_USER = 0;
-       QWL_STYLE = -2;
-       QWP_PFNWP = -3;
-       QWL_HMQ = -4;
-       QWL_RESERVED = -5;
-       QWL_MIN = -6;
-       QWL_HHEAP = $0004;
-       QWL_HWNDFOCUSSAVE = $0018;
-       QWL_DEFBUTTON = $0040;
-       QWL_PSSCBLK = $0048;
-       QWL_PFEPBLK = $004c;
-       QWL_PSTATBLK = $0050;
-       QWS_FLAGS = $0008;
-       QWS_RESULT = $000a;
-       QWS_XRESTORE = $000c;
-       QWS_YRESTORE = $000e;
-       QWS_CXRESTORE = $0010;
-       QWS_CYRESTORE = $0012;
-       QWS_XMINIMIZE = $0014;
-       QWS_YMINIMIZE = $0016;
-
-    type
-       HENUM = LHANDLE;
-
-
-    function WinBeginEnumWindows(hwnd : HWND) : HENUM;
-
-    function WinGetNextWindow(henum : HENUM) : HWND;
-
-    function WinEndEnumWindows(henum : HENUM) : BOOL;
-
-    function WinWindowFromPoint(hwnd : HWND;pptl : PPOINTL;fChildren : BOOL) : HWND;
-
-    function WinMapWindowPoints(hwndFrom : HWND;hwndTo : HWND;prgptl : PPOINTL;cwpt : LONG) : BOOL;
-
-    function WinValidateRect(hwnd : HWND;prcl : PRECTL;fIncludeChildren : BOOL) : BOOL;
-
-    function WinValidateRegion(hwnd : HWND;hrgn : HRGN;fIncludeChildren : BOOL) : BOOL;
-
-    function WinWindowFromDC(hdc : HDC) : HWND;
-
-    function WinQueryWindowDC(hwnd : HWND) : HDC;
-
-    function WinGetScreenPS(hwndDesktop : HWND) : HPS;
-
-    function WinLockWindowUpdate(hwndDesktop : HWND;hwndLockUpdate : HWND) : BOOL;
-
-    function WinLockVisRegions(hwndDesktop : HWND;fLock : BOOL) : BOOL;
-
-    function WinQueryUpdateRect(hwnd : HWND;prcl : PRECTL) : BOOL;
-
-    function WinQueryUpdateRegion(hwnd : HWND;hrgn : HRGN) : LONG;
-
-    function WinExcludeUpdateRegion(hps : HPS;hwnd : HWND) : LONG;
-
-    type
-       QMSG = record
-          hwnd : HWND;
-          msg : ULONG;
-          mp1 : MPARAM;
-          mp2 : MPARAM;
-          time : ULONG;
-          ptl : POINTL;
-          reserved : ULONG;
-       end;
-
-       PQMSG = ^QMSG;
-
-    const
-       WM_NULL = $0000;
-       WM_CREATE = $0001;
-       WM_DESTROY = $0002;
-       WM_ENABLE = $0004;
-       WM_SHOW = $0005;
-       WM_MOVE = $0006;
-       WM_SIZE = $0007;
-       WM_ADJUSTWINDOWPOS = $0008;
-       WM_CALCVALIDRECTS = $0009;
-       WM_SETWINDOWPARAMS = $000a;
-       WM_QUERYWINDOWPARAMS = $000b;
-       WM_HITTEST = $000c;
-       WM_ACTIVATE = $000d;
-       WM_SETFOCUS = $000f;
-       WM_SETSELECTION = $0010;
-       WM_PPAINT = $0011;
-       WM_PSETFOCUS = $0012;
-       WM_PSYSCOLORCHANGE = $0013;
-       WM_PSIZE = $0014;
-       WM_PACTIVATE = $0015;
-       WM_PCONTROL = $0016;
-       WM_COMMAND = $0020;
-       WM_SYSCOMMAND = $0021;
-       WM_HELP = $0022;
-       WM_PAINT = $0023;
-       WM_TIMER = $0024;
-       WM_SEM1 = $0025;
-       WM_SEM2 = $0026;
-       WM_SEM3 = $0027;
-       WM_SEM4 = $0028;
-       WM_CLOSE = $0029;
-       WM_QUIT = $002a;
-       WM_SYSCOLORCHANGE = $002b;
-       WM_SYSVALUECHANGED = $002d;
-       WM_APPTERMINATENOTIFY = $002e;
-       WM_PRESPARAMCHANGED = $002f;
-       WM_CONTROL = $0030;
-       WM_VSCROLL = $0031;
-       WM_HSCROLL = $0032;
-       WM_INITMENU = $0033;
-       WM_MENUSELECT = $0034;
-       WM_MENUEND = $0035;
-       WM_DRAWITEM = $0036;
-       WM_MEASUREITEM = $0037;
-       WM_CONTROLPOINTER = $0038;
-       WM_QUERYDLGCODE = $003a;
-       WM_INITDLG = $003b;
-       WM_SUBSTITUTESTRING = $003c;
-       WM_MATCHMNEMONIC = $003d;
-       WM_SAVEAPPLICATION = $003e;
-       WM_HELPBASE = $0F00;
-       WM_HELPTOP = $0FFF;
-       WM_USER = $1000;
-       CMDSRC_PUSHBUTTON = 1;
-       CMDSRC_MENU = 2;
-       CMDSRC_ACCELERATOR = 3;
-       CMDSRC_FONTDLG = 4;
-       CMDSRC_FILEDLG = 5;
-       CMDSRC_PRINTDLG = 6;
-       CMDSRC_COLORDLG = 7;
-       CMDSRC_OTHER = 0;
-{$PACKRECORDS 1}
-
-
-    type
-       CMDMSG = record
-          cmd : USHORT;
-          unused : USHORT;
-          source : USHORT;
-          fMouse : USHORT;
-       end;
-
-       PCMDMSG = ^CMDMSG;
-
-{$PACKRECORDS NORMAL}
-       MQINFO = record
-          cb : ULONG;
-          pid : PID;
-          tid : TID;
-          cmsgs : ULONG;
-          pReserved : PVOID;
-       end;
-
-       PMQINFO = ^MQINFO;
-
-    function WinSendMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
-
-    function WinCreateMsgQueue(hab : HAB;cmsg : LONG) : HMQ;
-
-    function WinDestroyMsgQueue(hmq : HMQ) : BOOL;
-
-    function WinQueryQueueInfo(hmq : HMQ;pmqi : PMQINFO;cbCopy : ULONG) : BOOL;
-
-    function WinCancelShutdown(hmq : HMQ;fCancelAlways : BOOL) : BOOL;
-
-    function WinGetMsg(hab : HAB;pqmsg : PQMSG;hwndFilter : HWND;msgFilterFirst : ULONG;msgFilterLast : ULONG) : BOOL;
-
-    function WinPeekMsg(hab : HAB;pqmsg : PQMSG;hwndFilter : HWND;msgFilterFirst : ULONG;msgFilterLast : ULONG;fl : ULONG) : BOOL;
-
-    function WinDispatchMsg(hab : HAB;pqmsg : PQMSG) : MRESULT;
-
-    function WinPostMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : BOOL;
-
-    function WinRegisterUserMsg(hab : HAB;msgid : ULONG;datatype1 : LONG;dir1 : LONG;datatype2 : LONG;dir2 : LONG;datatyper : LONG) : BOOL;
-
-    function WinRegisterUserDatatype(hab : HAB;datatype : LONG;count : LONG;types : PLONG) : BOOL;
-
-    function WinSetMsgMode(hab : HAB;classname : PSZ;control : LONG) : BOOL;
-
-    function WinSetSynchroMode(hab : HAB;mode : LONG) : BOOL;
-
-    const
-       PM_REMOVE = $0001;
-       PM_NOREMOVE = $0000;
-       RUM_IN = 1;
-       RUM_OUT = 2;
-       RUM_INOUT = 3;
-       SMD_DELAYED = $0001;
-       SMD_IMMEDIATE = $0002;
-       SSM_SYNCHRONOUS = $0001;
-       SSM_ASYNCHRONOUS = $0002;
-       SSM_MIXED = $0003;
-       CVR_ALIGNLEFT = $0001;
-       CVR_ALIGNBOTTOM = $0002;
-       CVR_ALIGNRIGHT = $0004;
-       CVR_ALIGNTOP = $0008;
-       CVR_REDRAW = $0010;
-       HT_NORMAL = 0;
-       HT_TRANSPARENT = (-1);
-       HT_DISCARD = (-2);
-       HT_ERROR = (-3);
-
-    type
-       WNDPARAMS = record
-          fsStatus : ULONG;
-          cchText : ULONG;
-          pszText : PSZ;
-          cbPresParams : ULONG;
-          pPresParams : PVOID;
-          cbCtlData : ULONG;
-          pCtlData : PVOID;
-       end;
-
-       PWNDPARAMS = ^WNDPARAMS;
-
-    const
-       WPM_TEXT = $0001;
-       WPM_CTLDATA = $0002;
-       WPM_PRESPARAMS = $0004;
-       WPM_CCHTEXT = $0008;
-       WPM_CBCTLDATA = $0010;
-       WPM_CBPRESPARAMS = $0020;
-
-    function WinInSendMsg(hab : HAB) : BOOL;
-
-    function WinBroadcastMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM;rgf : ULONG) : BOOL;
-
-    const
-       BMSG_POST = $0000;
-       BMSG_SEND = $0001;
-       BMSG_POSTQUEUE = $0002;
-       BMSG_DESCENDANTS = $0004;
-       BMSG_FRAMEONLY = $0008;
-
-    function WinWaitMsg(hab : HAB;msgFirst : ULONG;msgLast : ULONG) : BOOL;
-
-    function WinQueryQueueStatus(hwndDesktop : HWND) : ULONG;
-
-    const
-       QS_KEY = $0001;
-       QS_MOUSEBUTTON = $0002;
-       QS_MOUSEMOVE = $0004;
-       QS_MOUSE = $0006;
-       QS_TIMER = $0008;
-       QS_PAINT = $0010;
-       QS_POSTMSG = $0020;
-       QS_SEM1 = $0040;
-       QS_SEM2 = $0080;
-       QS_SEM3 = $0100;
-       QS_SEM4 = $0200;
-       QS_SENDMSG = $0400;
-
-    function WinQueryMsgPos(hab : HAB;pptl : PPOINTL) : BOOL;
-
-    function WinQueryMsgTime(hab : HAB) : ULONG;
-
-    type
-       HEV = ULONG;
-
-       HMTX = ULONG;
-
-       HMUX = ULONG;
-
-
-    function WinWaitEventSem(hev : HEV;ulTimeout : ULONG) : APIRET;
-
-    function WinRequestMutexSem(hmtx : HMTX;ulTimeout : ULONG) : APIRET;
-
-    function WinWaitMuxWaitSem(hmux : HMUX;ulTimeout : ULONG;pulUser : PULONG) : APIRET;
-
-    function WinPostQueueMsg(hmq : HMQ;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : BOOL;
-
-    const
-       SMIM_ALL = $0EFF;
-       SMI_NOINTEREST = $0001;
-       SMI_INTEREST = $0002;
-       SMI_RESET = $0004;
-       SMI_AUTODISPATCH = $0008;
-
-    function WinSetMsgInterest(hwnd : HWND;msg_class : ULONG;control : LONG) : BOOL;
-
-    function WinSetClassMsgInterest(hab : HAB;pszClassName : PSZ;msg_class : ULONG;control : LONG) : BOOL;
-
-    function WinSetFocus(hwndDesktop : HWND;hwndSetFocus : HWND) : BOOL;
-
-    function WinFocusChange(hwndDesktop : HWND;hwndSetFocus : HWND;flFocusChange : ULONG) : BOOL;
-
-    const
-       FC_NOSETFOCUS = $0001;
-       FC_NOBRINGTOTOP = FC_NOSETFOCUS;
-       FC_NOLOSEFOCUS = $0002;
-       FC_NOBRINGTOPFIRSTWINDOW = FC_NOLOSEFOCUS;
-       FC_NOSETACTIVE = $0004;
-       FC_NOLOSEACTIVE = $0008;
-       FC_NOSETSELECTION = $0010;
-       FC_NOLOSESELECTION = $0020;
-       QFC_NEXTINCHAIN = $0001;
-       QFC_ACTIVE = $0002;
-       QFC_FRAME = $0003;
-       QFC_SELECTACTIVE = $0004;
-       QFC_PARTOFCHAIN = $0005;
-
-    function WinSetCapture(hwndDesktop : HWND;hwnd : HWND) : BOOL;
-
-    function WinQueryCapture(hwndDesktop : HWND) : HWND;
-
-    const
-       WM_MOUSEFIRST = $0070;
-       WM_MOUSELAST = $0079;
-       WM_BUTTONCLICKFIRST = $0071;
-       WM_BUTTONCLICKLAST = $0079;
-       WM_MOUSEMOVE = $0070;
-       WM_BUTTON1DOWN = $0071;
-       WM_BUTTON1UP = $0072;
-       WM_BUTTON1DBLCLK = $0073;
-       WM_BUTTON2DOWN = $0074;
-       WM_BUTTON2UP = $0075;
-       WM_BUTTON2DBLCLK = $0076;
-       WM_BUTTON3DOWN = $0077;
-       WM_BUTTON3UP = $0078;
-       WM_BUTTON3DBLCLK = $0079;
-       WM_EXTMOUSEFIRST = $0410;
-       WM_EXTMOUSELAST = $0419;
-       WM_CHORD = $0410;
-       WM_BUTTON1MOTIONSTART = $0411;
-       WM_BUTTON1MOTIONEND = $0412;
-       WM_BUTTON1CLICK = $0413;
-       WM_BUTTON2MOTIONSTART = $0414;
-       WM_BUTTON2MOTIONEND = $0415;
-       WM_BUTTON2CLICK = $0416;
-       WM_BUTTON3MOTIONSTART = $0417;
-       WM_BUTTON3MOTIONEND = $0418;
-       WM_BUTTON3CLICK = $0419;
-       WM_MOUSETRANSLATEFIRST = $0420;
-       WM_MOUSETRANSLATELAST = $0428;
-       WM_BEGINDRAG = $0420;
-       WM_ENDDRAG = $0421;
-       WM_SINGLESELECT = $0422;
-       WM_OPEN = $0423;
-       WM_CONTEXTMENU = $0424;
-       WM_CONTEXTHELP = $0425;
-       WM_TEXTEDIT = $0426;
-       WM_BEGINSELECT = $0427;
-       WM_ENDSELECT = $0428;
-
-    function WinQueryFocus(hwndDesktop : HWND) : HWND;
-
-    const
-       WM_CHAR = $007a;
-       WM_VIOCHAR = $007b;
-       KC_NONE = $0000;
-       KC_CHAR = $0001;
-       KC_VIRTUALKEY = $0002;
-       KC_SCANCODE = $0004;
-       KC_SHIFT = $0008;
-       KC_CTRL = $0010;
-       KC_ALT = $0020;
-       KC_KEYUP = $0040;
-       KC_PREVDOWN = $0080;
-       KC_LONEKEY = $0100;
-       KC_DEADKEY = $0200;
-       KC_COMPOSITE = $0400;
-       KC_INVALIDCOMP = $0800;
-       KC_TOGGLE = $1000;
-       KC_INVALIDCHAR = $2000;
-       KC_DBCSRSRVD1 = $4000;
-       KC_DBCSRSRVD2 = $8000;
-{$PACKRECORDS 1}
-
-
-    type
-       MSEMSG = record
-          x : SHORT;
-          y : SHORT;
-          codeHitTest : USHORT;
-          fsInp : USHORT;
-       end;
-
-       PMSEMSG = ^MSEMSG;
-
-       CHRMSG = record
-          fs : USHORT;
-          cRepeat : UCHAR;
-          scancode : UCHAR;
-          chr : USHORT;
-          vkey : USHORT;
-       end;
-
-       PCHRMSG = ^CHRMSG;
-
-{$PACKRECORDS NORMAL}
-    const
-       INP_NONE = $0000;
-       INP_KBD = $0001;
-       INP_MULT = $0002;
-       INP_RES2 = $0004;
-       INP_SHIFT = $0008;
-       INP_CTRL = $0010;
-       INP_ALT = $0020;
-       INP_RES3 = $0040;
-       INP_RES4 = $0080;
-       INP_IGNORE = $FFFF;
-       VK_BUTTON1 = $01;
-       VK_BUTTON2 = $02;
-       VK_BUTTON3 = $03;
-       VK_BREAK = $04;
-       VK_BACKSPACE = $05;
-       VK_TAB = $06;
-       VK_BACKTAB = $07;
-       VK_NEWLINE = $08;
-       VK_SHIFT = $09;
-       VK_CTRL = $0A;
-       VK_ALT = $0B;
-       VK_ALTGRAF = $0C;
-       VK_PAUSE = $0D;
-       VK_CAPSLOCK = $0E;
-       VK_ESC = $0F;
-       VK_SPACE = $10;
-       VK_PAGEUP = $11;
-       VK_PAGEDOWN = $12;
-       VK_END = $13;
-       VK_HOME = $14;
-       VK_LEFT = $15;
-       VK_UP = $16;
-       VK_RIGHT = $17;
-       VK_DOWN = $18;
-       VK_PRINTSCRN = $19;
-       VK_INSERT = $1A;
-       VK_DELETE = $1B;
-       VK_SCRLLOCK = $1C;
-       VK_NUMLOCK = $1D;
-       VK_ENTER = $1E;
-       VK_SYSRQ = $1F;
-       VK_F1 = $20;
-       VK_F2 = $21;
-       VK_F3 = $22;
-       VK_F4 = $23;
-       VK_F5 = $24;
-       VK_F6 = $25;
-       VK_F7 = $26;
-       VK_F8 = $27;
-       VK_F9 = $28;
-       VK_F10 = $29;
-       VK_F11 = $2A;
-       VK_F12 = $2B;
-       VK_F13 = $2C;
-       VK_F14 = $2D;
-       VK_F15 = $2E;
-       VK_F16 = $2F;
-       VK_F17 = $30;
-       VK_F18 = $31;
-       VK_F19 = $32;
-       VK_F20 = $33;
-       VK_F21 = $34;
-       VK_F22 = $35;
-       VK_F23 = $36;
-       VK_F24 = $37;
-       VK_ENDDRAG = $38;
-       VK_MENU = VK_F10;
-       VK_DBCSFIRST = $0080;
-       VK_DBCSLAST = $00ff;
-       VK_USERFIRST = $0100;
-       VK_USERLAST = $01ff;
-
-    function WinGetKeyState(hwndDesktop : HWND;vkey : LONG) : LONG;
-
-    function WinGetPhysKeyState(hwndDesktop : HWND;sc : LONG) : LONG;
-
-    function WinEnablePhysInput(hwndDesktop : HWND;fEnable : BOOL) : BOOL;
-
-    function WinIsPhysInputEnabled(hwndDesktop : HWND) : BOOL;
-
-    function WinSetKeyboardStateTable(hwndDesktop : HWND;pKeyStateTable : PBYTE;fSet : BOOL) : BOOL;
-
-    const
-       WM_JOURNALNOTIFY = $007c;
-       JRN_QUEUESTATUS = $00000001;
-       JRN_PHYSKEYSTATE = $00000002;
-
-    function WinGetDlgMsg(hwndDlg : HWND;pqmsg : PQMSG) : BOOL;
-
-    function WinLoadDlg(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;hmod : HMODULE;idDlg : ULONG;pCreateParams : PVOID) : HWND;
-
-    function WinDlgBox(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;hmod : HMODULE;idDlg : ULONG;pCreateParams : PVOID) : ULONG;
-
-    function WinDismissDlg(hwndDlg : HWND;usResult : ULONG) : BOOL;
-
-    function WinQueryDlgItemShort(hwndDlg : HWND;idItem : ULONG;pResult : PSHORT;fSigned : BOOL) : BOOL;
-
-    function WinSetDlgItemShort(hwndDlg : HWND;idItem : ULONG;usValue : USHORT;fSigned : BOOL) : BOOL;
-
-    function WinSetDlgItemText(hwndDlg : HWND;idItem : ULONG;pszText : PSZ) : BOOL;
-
-    function WinQueryDlgItemText(hwndDlg : HWND;idItem : ULONG;cchBufferMax : LONG;pchBuffer : PSZ) : ULONG;
-
-    function WinQueryDlgItemTextLength(hwndDlg : HWND;idItem : ULONG) : LONG;
-
-    function WinDefDlgProc(hwndDlg : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
-
-    const
-       DID_OK = 1;
-       DID_CANCEL = 2;
-       DID_ERROR = $ffff;
-
-    function WinAlarm(hwndDesktop : HWND;rgfType : ULONG) : BOOL;
-
-    const
-       WA_WARNING = 0;
-       WA_NOTE = 1;
-       WA_ERROR = 2;
-       WA_CWINALARMS = 3;
-
-    function WinMessageBox(hwndParent : HWND;hwndOwner : HWND;pszText : PSZ;pszCaption : PSZ;idWindow : ULONG;flStyle : ULONG) : ULONG;
-
-    const
-       MB_OK = $0000;
-       MB_OKCANCEL = $0001;
-       MB_RETRYCANCEL = $0002;
-       MB_ABORTRETRYIGNORE = $0003;
-       MB_YESNO = $0004;
-       MB_YESNOCANCEL = $0005;
-       MB_CANCEL = $0006;
-       MB_ENTER = $0007;
-       MB_ENTERCANCEL = $0008;
-       MB_NOICON = $0000;
-       MB_CUANOTIFICATION = $0000;
-       MB_ICONQUESTION = $0010;
-       MB_ICONEXCLAMATION = $0020;
-       MB_CUAWARNING = $0020;
-       MB_ICONASTERISK = $0030;
-       MB_ICONHAND = $0040;
-       MB_CUACRITICAL = $0040;
-       MB_QUERY = MB_ICONQUESTION;
-       MB_WARNING = MB_CUAWARNING;
-       MB_INFORMATION = MB_ICONASTERISK;
-       MB_CRITICAL = MB_CUACRITICAL;
-       MB_ERROR = MB_CRITICAL;
-       MB_DEFBUTTON1 = $0000;
-       MB_DEFBUTTON2 = $0100;
-       MB_DEFBUTTON3 = $0200;
-       MB_APPLMODAL = $0000;
-       MB_SYSTEMMODAL = $1000;
-       MB_HELP = $2000;
-       MB_MOVEABLE = $4000;
-       MBID_OK = 1;
-       MBID_CANCEL = 2;
-       MBID_ABORT = 3;
-       MBID_RETRY = 4;
-       MBID_IGNORE = 5;
-       MBID_YES = 6;
-       MBID_NO = 7;
-       MBID_HELP = 8;
-       MBID_ENTER = 9;
-       MBID_ERROR = $ffff;
-       DLGC_ENTRYFIELD = $0001;
-       DLGC_BUTTON = $0002;
-       DLGC_RADIOBUTTON = $0004;
-       DLGC_STATIC = $0008;
-       DLGC_DEFAULT = $0010;
-       DLGC_PUSHBUTTON = $0020;
-       DLGC_CHECKBOX = $0040;
-       DLGC_SCROLLBAR = $0080;
-       DLGC_MENU = $0100;
-       DLGC_TABONCLICK = $0200;
-       DLGC_MLE = $0400;
-
-    function WinProcessDlg(hwndDlg : HWND) : ULONG;
-
-    function WinSendDlgItemMsg(hwndDlg : HWND;idItem : ULONG;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
-
-    function WinMapDlgPoints(hwndDlg : HWND;prgwptl : PPOINTL;cwpt : ULONG;fCalcWindowCoords : BOOL) : BOOL;
-
-    function WinEnumDlgItem(hwndDlg : HWND;hwnd : HWND;code : ULONG) : HWND;
-
-    function WinSubstituteStrings(hwnd : HWND;pszSrc : PSZ;cchDstMax : LONG;pszDst : PSZ) : LONG;
-
-    const
-       EDI_FIRSTTABITEM = 0;
-       EDI_LASTTABITEM = 1;
-       EDI_NEXTTABITEM = 2;
-       EDI_PREVTABITEM = 3;
-       EDI_FIRSTGROUPITEM = 4;
-       EDI_LASTGROUPITEM = 5;
-       EDI_NEXTGROUPITEM = 6;
-       EDI_PREVGROUPITEM = 7;
-{$PACKRECORDS 2}
-
-
-    type
-       DLGTITEM = record
-          fsItemStatus : USHORT;
-          cChildren : USHORT;
-          cchClassName : USHORT;
-          offClassName : USHORT;
-          cchText : USHORT;
-          offText : USHORT;
-          flStyle : ULONG;
-          x : SHORT;
-          y : SHORT;
-          cx : SHORT;
-          cy : SHORT;
-          id : USHORT;
-          offPresParams : USHORT;
-          offCtlData : USHORT;
-       end;
-
-       PDLGTITEM = ^DLGTITEM;
-
-       DLGTEMPLATE = record
-          cbTemplate : USHORT;
-          _type : USHORT;
-          codepage : USHORT;
-          offadlgti : USHORT;
-          fsTemplateStatus : USHORT;
-          iItemFocus : USHORT;
-          coffPresParams : USHORT;
-          adlgti : array[0..0] of DLGTITEM;
-       end;
-
-       PDLGTEMPLATE = ^DLGTEMPLATE;
-
-{$PACKRECORDS NORMAL}
-
-    function WinCreateDlg(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;pdlgt : PDLGTEMPLATE;pCreateParams : PVOID) : HWND;
-
-    const
-       SS_TEXT = $0001;
-       SS_GROUPBOX = $0002;
-       SS_ICON = $0003;
-       SS_BITMAP = $0004;
-       SS_FGNDRECT = $0005;
-       SS_HALFTONERECT = $0006;
-       SS_BKGNDRECT = $0007;
-       SS_FGNDFRAME = $0008;
-       SS_HALFTONEFRAME = $0009;
-       SS_BKGNDFRAME = $000a;
-       SS_SYSICON = $000b;
-       SS_AUTOSIZE = $0040;
-       SM_SETHANDLE = $0100;
-       SM_QUERYHANDLE = $0101;
-       BS_PUSHBUTTON = 0;
-       BS_CHECKBOX = 1;
-       BS_AUTOCHECKBOX = 2;
-       BS_RADIOBUTTON = 3;
-       BS_AUTORADIOBUTTON = 4;
-       BS_3STATE = 5;
-       BS_AUTO3STATE = 6;
-       BS_USERBUTTON = 7;
-       BS_PRIMARYSTYLES = $000f;
-       BS_BITMAP = $0040;
-       BS_ICON = $0080;
-       BS_HELP = $0100;
-       BS_SYSCOMMAND = $0200;
-       BS_DEFAULT = $0400;
-       BS_NOPOINTERFOCUS = $0800;
-       BS_NOBORDER = $1000;
-       BS_NOCURSORSELECT = $2000;
-       BS_AUTOSIZE = $4000;
-{$PACKRECORDS 2}
-
-
-    type
-       BTNCDATA = record
-          cb : USHORT;
-          fsCheckState : USHORT;
-          fsHiliteState : USHORT;
-          hImage : LHANDLE;
-       end;
-
-       PBTNCDATA = ^BTNCDATA;
-
-{$PACKRECORDS NORMAL}
-       USERBUTTON = record
-          hwnd : HWND;
-          hps : HPS;
-          fsState : ULONG;
-          fsStateOld : ULONG;
-       end;
-
-       PUSERBUTTON = ^USERBUTTON;
-
-    const
-       BM_CLICK = $0120;
-       BM_QUERYCHECKINDEX = $0121;
-       BM_QUERYHILITE = $0122;
-       BM_SETHILITE = $0123;
-       BM_QUERYCHECK = $0124;
-       BM_SETCHECK = $0125;
-       BM_SETDEFAULT = $0126;
-       BN_CLICKED = 1;
-       BN_DBLCLICKED = 2;
-       BN_PAINT = 3;
-       BDS_HILITED = $0100;
-       BDS_DISABLED = $0200;
-       BDS_DEFAULT = $0400;
-       ES_LEFT = $00000000;
-       ES_CENTER = $00000001;
-       ES_RIGHT = $00000002;
-       ES_AUTOSCROLL = $00000004;
-       ES_MARGIN = $00000008;
-       ES_AUTOTAB = $00000010;
-       ES_READONLY = $00000020;
-       ES_COMMAND = $00000040;
-       ES_UNREADABLE = $00000080;
-       ES_AUTOSIZE = $00000200;
-       ES_ANY = $00000000;
-       ES_SBCS = $00001000;
-       ES_DBCS = $00002000;
-       ES_MIXED = $00003000;
-       CBS_SIMPLE = $0001;
-       CBS_DROPDOWN = $0002;
-       CBS_DROPDOWNLIST = $0004;
-       CBS_COMPATIBLE = $0008;
-       CBID_LIST = $029A;
-       CBID_EDIT = $029B;
-       CBM_SHOWLIST = $0170;
-       CBM_HILITE = $0171;
-       CBM_ISLISTSHOWING = $0172;
-       CBN_EFCHANGE = 1;
-       CBN_EFSCROLL = 2;
-       CBN_MEMERROR = 3;
-       CBN_LBSELECT = 4;
-       CBN_LBSCROLL = 5;
-       CBN_SHOWLIST = 6;
-       CBN_ENTER = 7;
-{$PACKRECORDS 2}
-
-
-    type
-       ENTRYFDATA = record
-          cb : USHORT;
-          cchEditLimit : USHORT;
-          ichMinSel : USHORT;
-          ichMaxSel : USHORT;
-       end;
-
-       PENTRYFDATA = ^ENTRYFDATA;
-
-{$PACKRECORDS NORMAL}
-    const
-       EM_QUERYCHANGED = $0140;
-       EM_QUERYSEL = $0141;
-       EM_SETSEL = $0142;
-       EM_SETTEXTLIMIT = $0143;
-       EM_CUT = $0144;
-       EM_COPY = $0145;
-       EM_CLEAR = $0146;
-       EM_PASTE = $0147;
-       EM_QUERYFIRSTCHAR = $0148;
-       EM_SETFIRSTCHAR = $0149;
-       EM_QUERYREADONLY = $014a;
-       EM_SETREADONLY = $014b;
-       EM_SETINSERTMODE = $014c;
-       EN_SETFOCUS = $0001;
-       EN_KILLFOCUS = $0002;
-       EN_CHANGE = $0004;
-       EN_SCROLL = $0008;
-       EN_MEMERROR = $0010;
-       EN_OVERFLOW = $0020;
-       EN_INSERTMODETOGGLE = $0040;
-       LS_MULTIPLESEL = $00000001;
-       LS_OWNERDRAW = $00000002;
-       LS_NOADJUSTPOS = $00000004;
-       LS_HORZSCROLL = $00000008;
-       LS_EXTENDEDSEL = $00000010;
-       LN_SELECT = 1;
-       LN_SETFOCUS = 2;
-       LN_KILLFOCUS = 3;
-       LN_SCROLL = 4;
-       LN_ENTER = 5;
-       LM_QUERYITEMCOUNT = $0160;
-       LM_INSERTITEM = $0161;
-       LM_SETTOPINDEX = $0162;
-       LM_DELETEITEM = $0163;
-       LM_SELECTITEM = $0164;
-       LM_QUERYSELECTION = $0165;
-       LM_SETITEMTEXT = $0166;
-       LM_QUERYITEMTEXTLENGTH = $0167;
-       LM_QUERYITEMTEXT = $0168;
-       LM_SETITEMHANDLE = $0169;
-       LM_QUERYITEMHANDLE = $016a;
-       LM_SEARCHSTRING = $016b;
-       LM_SETITEMHEIGHT = $016c;
-       LM_QUERYTOPINDEX = $016d;
-       LM_DELETEALL = $016e;
-       LIT_CURSOR = (-4);
-       LIT_ERROR = (-3);
-       LIT_MEMERROR = (-2);
-       LIT_NONE = (-1);
-       LIT_FIRST = (-1);
-       LIT_END = (-1);
-       LIT_SORTASCENDING = (-2);
-       LIT_SORTDESCENDING = (-3);
-       LSS_SUBSTRING = $0001;
-       LSS_PREFIX = $0002;
-       LSS_CASESENSITIVE = $0004;
-       MS_ACTIONBAR = $00000001;
-       MS_TITLEBUTTON = $00000002;
-       MS_VERTICALFLIP = $00000004;
-       MS_CONDITIONALCASCADE = $00000040;
-
-    function WinLoadMenu(hwndFrame : HWND;hmod : HMODULE;idMenu : ULONG) : HWND;
-
-    const
-       MM_INSERTITEM = $0180;
-       MM_DELETEITEM = $0181;
-       MM_QUERYITEM = $0182;
-       MM_SETITEM = $0183;
-       MM_QUERYITEMCOUNT = $0184;
-       MM_STARTMENUMODE = $0185;
-       MM_ENDMENUMODE = $0186;
-       MM_REMOVEITEM = $0188;
-       MM_SELECTITEM = $0189;
-       MM_QUERYSELITEMID = $018a;
-       MM_QUERYITEMTEXT = $018b;
-       MM_QUERYITEMTEXTLENGTH = $018c;
-       MM_SETITEMHANDLE = $018d;
-       MM_SETITEMTEXT = $018e;
-       MM_ITEMPOSITIONFROMID = $018f;
-       MM_ITEMIDFROMPOSITION = $0190;
-       MM_QUERYITEMATTR = $0191;
-       MM_SETITEMATTR = $0192;
-       MM_ISITEMVALID = $0193;
-       MM_QUERYITEMRECT = $0194;
-       MM_QUERYDEFAULTITEMID = $0431;
-       MM_SETDEFAULTITEMID = $0432;
-
-    function WinCreateMenu(hwndParent : HWND;lpmt : PVOID) : HWND;
-
-    type
-       OWNERITEM = record
-          hwnd : HWND;
-          hps : HPS;
-          fsState : ULONG;
-          fsAttribute : ULONG;
-          fsStateOld : ULONG;
-          fsAttributeOld : ULONG;
-          rclItem : RECTL;
-          idItem : LONG;
-          hItem : ULONG;
-       end;
-
-       POWNERITEM = ^OWNERITEM;
-
-{$PACKRECORDS 2}
-
-       MENUITEM = record
-          iPosition : SHORT;
-          afStyle : USHORT;
-          afAttribute : USHORT;
-          id : USHORT;
-          hwndSubMenu : HWND;
-          hItem : ULONG;
-       end;
-
-       PMENUITEM = ^MENUITEM;
-
-{$PACKRECORDS NORMAL}
-    const
-       MIT_END = (-1);
-       MIT_NONE = (-1);
-       MIT_MEMERROR = (-1);
-       MIT_ERROR = (-1);
-       MIT_FIRST = (-2);
-       MIT_LAST = (-3);
-       MID_NONE = MIT_NONE;
-       MID_ERROR = (-1);
-       MIS_TEXT = $0001;
-       MIS_BITMAP = $0002;
-       MIS_SEPARATOR = $0004;
-       MIS_OWNERDRAW = $0008;
-       MIS_SUBMENU = $0010;
-       MIS_MULTMENU = $0020;
-       MIS_SYSCOMMAND = $0040;
-       MIS_HELP = $0080;
-       MIS_STATIC = $0100;
-       MIS_BUTTONSEPARATOR = $0200;
-       MIS_BREAK = $0400;
-       MIS_BREAKSEPARATOR = $0800;
-       MIS_GROUP = $1000;
-       MIS_SINGLE = $2000;
-       MIA_NODISMISS = $0020;
-       MIA_FRAMED = $1000;
-       MIA_CHECKED = $2000;
-       MIA_DISABLED = $4000;
-       MIA_HILITED = $8000;
-
-    function WinPopupMenu(hwndParent : HWND;hwndOwner : HWND;hwndMenu : HWND;x : LONG;y : LONG;idItem : LONG;fs : ULONG) : BOOL;
-
-    const
-       PU_POSITIONONITEM = $0001;
-       PU_HCONSTRAIN = $0002;
-       PU_VCONSTRAIN = $0004;
-       PU_NONE = $0000;
-       PU_MOUSEBUTTON1DOWN = $0008;
-       PU_MOUSEBUTTON2DOWN = $0010;
-       PU_MOUSEBUTTON3DOWN = $0018;
-       PU_SELECTITEM = $0020;
-       PU_MOUSEBUTTON1 = $0040;
-       PU_MOUSEBUTTON2 = $0080;
-       PU_MOUSEBUTTON3 = $0100;
-       PU_KEYBOARD = $0200;
-       SBS_HORZ = 0;
-       SBS_VERT = 1;
-       SBS_THUMBSIZE = 2;
-       SBS_AUTOTRACK = 4;
-       SBS_AUTOSIZE = $2000;
-       SBM_SETSCROLLBAR = $01a0;
-       SBM_SETPOS = $01a1;
-       SBM_QUERYPOS = $01a2;
-       SBM_QUERYRANGE = $01a3;
-       SBM_SETTHUMBSIZE = $01a6;
-       SB_LINEUP = 1;
-       SB_LINEDOWN = 2;
-       SB_LINELEFT = 1;
-       SB_LINERIGHT = 2;
-       SB_PAGEUP = 3;
-       SB_PAGEDOWN = 4;
-       SB_PAGELEFT = 3;
-       SB_PAGERIGHT = 4;
-       SB_SLIDERTRACK = 5;
-       SB_SLIDERPOSITION = 6;
-       SB_ENDSCROLL = 7;
-{$PACKRECORDS 2}
-
-
-    type
-       SBCDATA = record
-          cb : USHORT;
-          sHilite : USHORT;
-          posFirst : SHORT;
-          posLast : SHORT;
-          posThumb : SHORT;
-          cVisible : SHORT;
-          cTotal : SHORT;
-       end;
-
-       PSBCDATA = ^SBCDATA;
-
-{$PACKRECORDS NORMAL}
-{$PACKRECORDS 2}
-
-       FRAMECDATA = record
-          cb : USHORT;
-          flCreateFlags : ULONG;
-          hmodResources : USHORT;
-          idResources : USHORT;
-       end;
-
-       PFRAMECDATA = ^FRAMECDATA;
-
-{$PACKRECORDS NORMAL}
-    const
-       FCF_TITLEBAR = $00000001;
-       FCF_SYSMENU = $00000002;
-       FCF_MENU = $00000004;
-       FCF_SIZEBORDER = $00000008;
-       FCF_MINBUTTON = $00000010;
-       FCF_MAXBUTTON = $00000020;
-       FCF_MINMAX = $00000030;
-       FCF_VERTSCROLL = $00000040;
-       FCF_HORZSCROLL = $00000080;
-       FCF_DLGBORDER = $00000100;
-       FCF_BORDER = $00000200;
-       FCF_SHELLPOSITION = $00000400;
-       FCF_TASKLIST = $00000800;
-       FCF_NOBYTEALIGN = $00001000;
-       FCF_NOMOVEWITHOWNER = $00002000;
-       FCF_ICON = $00004000;
-       FCF_ACCELTABLE = $00008000;
-       FCF_SYSMODAL = $00010000;
-       FCF_SCREENALIGN = $00020000;
-       FCF_MOUSEALIGN = $00040000;
-       FCF_HIDEBUTTON = $01000000;
-       FCF_HIDEMAX = $01000020;
-       FCF_DBE_APPSTAT = $80000000;
-       FCF_AUTOICON = $40000000;
-       FCF_STANDARD = $0000CC3F;
-       FS_ICON = $00000001;
-       FS_ACCELTABLE = $00000002;
-       FS_SHELLPOSITION = $00000004;
-       FS_TASKLIST = $00000008;
-       FS_NOBYTEALIGN = $00000010;
-       FS_NOMOVEWITHOWNER = $00000020;
-       FS_SYSMODAL = $00000040;
-       FS_DLGBORDER = $00000080;
-       FS_BORDER = $00000100;
-       FS_SCREENALIGN = $00000200;
-       FS_MOUSEALIGN = $00000400;
-       FS_SIZEBORDER = $00000800;
-       FS_AUTOICON = $00001000;
-       FS_DBE_APPSTAT = $00008000;
-       FS_STANDARD = $0000000F;
-       FF_FLASHWINDOW = $0001;
-       FF_ACTIVE = $0002;
-       FF_FLASHHILITE = $0004;
-       FF_OWNERHIDDEN = $0008;
-       FF_DLGDISMISSED = $0010;
-       FF_OWNERDISABLED = $0020;
-       FF_SELECTED = $0040;
-       FF_NOACTIVATESWP = $0080;
-
-    function WinCreateStdWindow(hwndParent : HWND;flStyle : ULONG;pflCreateFlags : PULONG;pszClientClass : PSZ;pszTitle : PSZ;styleClient : ULONG;hmod : HMODULE;idResources : ULONG;phwndClient : PHWND) : HWND;
-
-    function WinFlashWindow(hwndFrame : HWND;fFlash : BOOL) : BOOL;
-
-    const
-       WM_FLASHWINDOW = $0040;
-       WM_FORMATFRAME = $0041;
-       WM_UPDATEFRAME = $0042;
-       WM_FOCUSCHANGE = $0043;
-       WM_SETBORDERSIZE = $0044;
-       WM_TRACKFRAME = $0045;
-       WM_MINMAXFRAME = $0046;
-       WM_SETICON = $0047;
-       WM_QUERYICON = $0048;
-       WM_SETACCELTABLE = $0049;
-       WM_QUERYACCELTABLE = $004a;
-       WM_TRANSLATEACCEL = $004b;
-       WM_QUERYTRACKINFO = $004c;
-       WM_QUERYBORDERSIZE = $004d;
-       WM_NEXTMENU = $004e;
-       WM_ERASEBACKGROUND = $004f;
-       WM_QUERYFRAMEINFO = $0050;
-       WM_QUERYFOCUSCHAIN = $0051;
-       WM_OWNERPOSCHANGE = $0052;
-       WM_CALCFRAMERECT = $0053;
-       WM_WINDOWPOSCHANGED = $0055;
-       WM_ADJUSTFRAMEPOS = $0056;
-       WM_QUERYFRAMECTLCOUNT = $0059;
-       WM_QUERYHELPINFO = $005B;
-       WM_SETHELPINFO = $005C;
-       WM_ERROR = $005D;
-       WM_REALIZEPALETTE = $005E;
-       FI_FRAME = $00000001;
-       FI_OWNERHIDE = $00000002;
-       FI_ACTIVATEOK = $00000004;
-       FI_NOMOVEWITHOWNER = $00000008;
-
-    function WinCreateFrameControls(hwndFrame : HWND;pfcdata : PFRAMECDATA;pszTitle : PSZ) : BOOL;
-
-    function WinCalcFrameRect(hwndFrame : HWND;prcl : PRECTL;fClient : BOOL) : BOOL;
-
-    function WinGetMinPosition(hwnd : HWND;pswp : PSWP;pptl : PPOINTL) : BOOL;
-
-    function WinGetMaxPosition(hwnd : HWND;pswp : PSWP) : BOOL;
-
-    type
-       HSAVEWP = LHANDLE;
-
-
-    function WinSaveWindowPos(hsvwp : HSAVEWP;pswp : PSWP;cswp : ULONG) : BOOL;
-
-    const
-       FID_SYSMENU = $8002;
-       FID_TITLEBAR = $8003;
-       FID_MINMAX = $8004;
-       FID_MENU = $8005;
-       FID_VERTSCROLL = $8006;
-       FID_HORZSCROLL = $8007;
-       FID_CLIENT = $8008;
-       FID_DBE_APPSTAT = $8010;
-       FID_DBE_KBDSTAT = $8011;
-       FID_DBE_PECIC = $8012;
-       FID_DBE_KKPOPUP = $8013;
-       SC_SIZE = $8000;
-       SC_MOVE = $8001;
-       SC_MINIMIZE = $8002;
-       SC_MAXIMIZE = $8003;
-       SC_CLOSE = $8004;
-       SC_NEXT = $8005;
-       SC_APPMENU = $8006;
-       SC_SYSMENU = $8007;
-       SC_RESTORE = $8008;
-       SC_NEXTFRAME = $8009;
-       SC_NEXTWINDOW = $8010;
-       SC_TASKMANAGER = $8011;
-       SC_HELPKEYS = $8012;
-       SC_HELPINDEX = $8013;
-       SC_HELPEXTENDED = $8014;
-       SC_SWITCHPANELIDS = $8015;
-       SC_DBE_FIRST = $8018;
-       SC_DBE_LAST = $801F;
-       SC_BEGINDRAG = $8020;
-       SC_ENDDRAG = $8021;
-       SC_SELECT = $8022;
-       SC_OPEN = $8023;
-       SC_CONTEXTMENU = $8024;
-       SC_CONTEXTHELP = $8025;
-       SC_TEXTEDIT = $8026;
-       SC_BEGINSELECT = $8027;
-       SC_ENDSELECT = $8028;
-       SC_WINDOW = $8029;
-       SC_HIDE = $802a;
-       TBM_SETHILITE = $01e3;
-       TBM_QUERYHILITE = $01e4;
-
-    function WinCopyRect(hab : HAB;prclDst : PRECTL;prclSrc : PRECTL) : BOOL;
-
-    function WinSetRect(hab : HAB;prcl : PRECTL;xLeft : LONG;yBottom : LONG;xRight : LONG;yTop : LONG) : BOOL;
-
-    function WinIsRectEmpty(hab : HAB;prcl : PRECTL) : BOOL;
-
-    function WinEqualRect(hab : HAB;prcl1 : PRECTL;prcl2 : PRECTL) : BOOL;
-
-    function WinSetRectEmpty(hab : HAB;prcl : PRECTL) : BOOL;
-
-    function WinOffsetRect(hab : HAB;prcl : PRECTL;cx : LONG;cy : LONG) : BOOL;
-
-    function WinInflateRect(hab : HAB;prcl : PRECTL;cx : LONG;cy : LONG) : BOOL;
-
-    function WinPtInRect(hab : HAB;prcl : PRECTL;pptl : PPOINTL) : BOOL;
-
-    function WinIntersectRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL;
-
-    function WinUnionRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL;
-
-    function WinSubtractRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL;
-
-    function WinMakeRect(hab : HAB;pwrc : PRECTL) : BOOL;
-
-    function WinMakePoints(hab : HAB;pwpt : PPOINTL;cwpt : ULONG) : BOOL;
-
-    function WinQuerySysValue(hwndDesktop : HWND;iSysValue : LONG) : LONG;
-
-    function WinSetSysValue(hwndDesktop : HWND;iSysValue : LONG;lValue : LONG) : BOOL;
-
-    const
-       SV_SWAPBUTTON = 0;
-       SV_DBLCLKTIME = 1;
-       SV_CXDBLCLK = 2;
-       SV_CYDBLCLK = 3;
-       SV_CXSIZEBORDER = 4;
-       SV_CYSIZEBORDER = 5;
-       SV_ALARM = 6;
-       SV_RESERVEDFIRST1 = 7;
-       SV_RESERVEDLAST1 = 8;
-       SV_CURSORRATE = 9;
-       SV_FIRSTSCROLLRATE = 10;
-       SV_SCROLLRATE = 11;
-       SV_NUMBEREDLISTS = 12;
-       SV_WARNINGFREQ = 13;
-       SV_NOTEFREQ = 14;
-       SV_ERRORFREQ = 15;
-       SV_WARNINGDURATION = 16;
-       SV_NOTEDURATION = 17;
-       SV_ERRORDURATION = 18;
-       SV_RESERVEDFIRST = 19;
-       SV_RESERVEDLAST = 19;
-       SV_CXSCREEN = 20;
-       SV_CYSCREEN = 21;
-       SV_CXVSCROLL = 22;
-       SV_CYHSCROLL = 23;
-       SV_CYVSCROLLARROW = 24;
-       SV_CXHSCROLLARROW = 25;
-       SV_CXBORDER = 26;
-       SV_CYBORDER = 27;
-       SV_CXDLGFRAME = 28;
-       SV_CYDLGFRAME = 29;
-       SV_CYTITLEBAR = 30;
-       SV_CYVSLIDER = 31;
-       SV_CXHSLIDER = 32;
-       SV_CXMINMAXBUTTON = 33;
-       SV_CYMINMAXBUTTON = 34;
-       SV_CYMENU = 35;
-       SV_CXFULLSCREEN = 36;
-       SV_CYFULLSCREEN = 37;
-       SV_CXICON = 38;
-       SV_CYICON = 39;
-       SV_CXPOINTER = 40;
-       SV_CYPOINTER = 41;
-       SV_DEBUG = 42;
-       SV_CMOUSEBUTTONS = 43;
-       SV_CPOINTERBUTTONS = 43;
-       SV_POINTERLEVEL = 44;
-       SV_CURSORLEVEL = 45;
-       SV_TRACKRECTLEVEL = 46;
-       SV_CTIMERS = 47;
-       SV_MOUSEPRESENT = 48;
-       SV_CXBYTEALIGN = 49;
-       SV_CXALIGN = 49;
-       SV_CYBYTEALIGN = 50;
-       SV_CYALIGN = 50;
-       SV_NOTRESERVED = 56;
-       SV_EXTRAKEYBEEP = 57;
-       SV_SETLIGHTS = 58;
-       SV_INSERTMODE = 59;
-       SV_MENUROLLDOWNDELAY = 64;
-       SV_MENUROLLUPDELAY = 65;
-       SV_ALTMNEMONIC = 66;
-       SV_TASKLISTMOUSEACCESS = 67;
-       SV_CXICONTEXTWIDTH = 68;
-       SV_CICONTEXTLINES = 69;
-       SV_CHORDTIME = 70;
-       SV_CXCHORD = 71;
-       SV_CYCHORD = 72;
-       SV_CXMOTION = 73;
-       SV_CYMOTION = 74;
-       SV_BEGINDRAG = 75;
-       SV_ENDDRAG = 76;
-       SV_SINGLESELECT = 77;
-       SV_OPEN = 78;
-       SV_CONTEXTMENU = 79;
-       SV_CONTEXTHELP = 80;
-       SV_TEXTEDIT = 81;
-       SV_BEGINSELECT = 82;
-       SV_ENDSELECT = 83;
-       SV_BEGINDRAGKB = 84;
-       SV_ENDDRAGKB = 85;
-       SV_SELECTKB = 86;
-       SV_OPENKB = 87;
-       SV_CONTEXTMENUKB = 88;
-       SV_CONTEXTHELPKB = 89;
-       SV_TEXTEDITKB = 90;
-       SV_BEGINSELECTKB = 91;
-       SV_ENDSELECTKB = 92;
-       SV_ANIMATION = 93;
-       SV_ANIMATIONSPEED = 94;
-       SV_MONOICONS = 95;
-       SV_KBDALTERED = 96;
-       SV_PRINTSCREEN = 97;
-       SV_CSYSVALUES = 98;
-
-    type
-       PARAM = record
-          id : ULONG;
-          cb : ULONG;
-          ab : array[0..1-1] of BYTE;
-       end;
-
-       NPPARAM = ^PARAM;
-
-       PPARAM = ^PARAM;
-
-       PRESPARAMS = record
-          cb : ULONG;
-          aparam : array[0..1-1] of PARAM;
-       end;
-
-       NPPRESPARAMS = ^PRESPARAMS;
-
-       PPRESPARAMS = ^PRESPARAMS;
-
-
-    function WinSetPresParam(hwnd : HWND;id : ULONG;cbParam : ULONG;pbParam : PVOID) : BOOL;
-
-    function WinQueryPresParam(hwnd : HWND;id1 : ULONG;id2 : ULONG;pulId : PULONG;cbBuf : ULONG;pbBuf : PVOID;fs : ULONG) : ULONG;
-
-    function WinRemovePresParam(hwnd : HWND;id : ULONG) : BOOL;
-
-    const
-       PP_FOREGROUNDCOLOR = 1;
-       PP_FOREGROUNDCOLORINDEX = 2;
-       PP_BACKGROUNDCOLOR = 3;
-       PP_BACKGROUNDCOLORINDEX = 4;
-       PP_HILITEFOREGROUNDCOLOR = 5;
-       PP_HILITEFOREGROUNDCOLORINDEX = 6;
-       PP_HILITEBACKGROUNDCOLOR = 7;
-       PP_HILITEBACKGROUNDCOLORINDEX = 8;
-       PP_DISABLEDFOREGROUNDCOLOR = 9;
-       PP_DISABLEDFOREGROUNDCOLORINDEX = 10;
-       PP_DISABLEDBACKGROUNDCOLOR = 11;
-       PP_DISABLEDBACKGROUNDCOLORINDEX = 12;
-       PP_BORDERCOLOR = 13;
-       PP_BORDERCOLORINDEX = 14;
-       PP_FONTNAMESIZE = 15;
-       PP_FONTHANDLE = 16;
-       PP_RESERVED = 17;
-       PP_ACTIVECOLOR = 18;
-       PP_ACTIVECOLORINDEX = 19;
-       PP_INACTIVECOLOR = 20;
-       PP_INACTIVECOLORINDEX = 21;
-       PP_ACTIVETEXTFGNDCOLOR = 22;
-       PP_ACTIVETEXTFGNDCOLORINDEX = 23;
-       PP_ACTIVETEXTBGNDCOLOR = 24;
-       PP_ACTIVETEXTBGNDCOLORINDEX = 25;
-       PP_INACTIVETEXTFGNDCOLOR = 26;
-       PP_INACTIVETEXTFGNDCOLORINDEX = 27;
-       PP_INACTIVETEXTBGNDCOLOR = 28;
-       PP_INACTIVETEXTBGNDCOLORINDEX = 29;
-       PP_SHADOW = 30;
-       PP_MENUFOREGROUNDCOLOR = 31;
-       PP_MENUFOREGROUNDCOLORINDEX = 32;
-       PP_MENUBACKGROUNDCOLOR = 33;
-       PP_MENUBACKGROUNDCOLORINDEX = 34;
-       PP_MENUHILITEFGNDCOLOR = 35;
-       PP_MENUHILITEFGNDCOLORINDEX = 36;
-       PP_MENUHILITEBGNDCOLOR = 37;
-       PP_MENUHILITEBGNDCOLORINDEX = 38;
-       PP_MENUDISABLEDFGNDCOLOR = 39;
-       PP_MENUDISABLEDFGNDCOLORINDEX = 40;
-       PP_MENUDISABLEDBGNDCOLOR = 41;
-       PP_MENUDISABLEDBGNDCOLORINDEX = 42;
-       PP_USER = $8000;
-       QPF_NOINHERIT = $0001;
-       QPF_ID1COLORINDEX = $0002;
-       QPF_ID2COLORINDEX = $0004;
-       QPF_PURERGBCOLOR = $0008;
-       QPF_VALIDFLAGS = $000F;
-
-    function WinQuerySysColor(hwndDesktop : HWND;clr : LONG;lReserved : LONG) : LONG;
-
-    function WinSetSysColors(hwndDesktop : HWND;flOptions : ULONG;flFormat : ULONG;clrFirst : LONG;cclr : ULONG;pclr : PLONG) : BOOL;
-
-    const
-       SYSCLR_SHADOWHILITEBGND = (-50);
-       SYSCLR_SHADOWHILITEFGND = (-49);
-       SYSCLR_SHADOWTEXT = (-48);
-       SYSCLR_ENTRYFIELD = (-47);
-       SYSCLR_MENUDISABLEDTEXT = (-46);
-       SYSCLR_MENUHILITE = (-45);
-       SYSCLR_MENUHILITEBGND = (-44);
-       SYSCLR_PAGEBACKGROUND = (-43);
-       SYSCLR_FIELDBACKGROUND = (-42);
-       SYSCLR_BUTTONLIGHT = (-41);
-       SYSCLR_BUTTONMIDDLE = (-40);
-       SYSCLR_BUTTONDARK = (-39);
-       SYSCLR_BUTTONDEFAULT = (-38);
-       SYSCLR_TITLEBOTTOM = (-37);
-       SYSCLR_SHADOW = (-36);
-       SYSCLR_ICONTEXT = (-35);
-       SYSCLR_DIALOGBACKGROUND = (-34);
-       SYSCLR_HILITEFOREGROUND = (-33);
-       SYSCLR_HILITEBACKGROUND = (-32);
-       SYSCLR_INACTIVETITLETEXTBGND = (-31);
-       SYSCLR_ACTIVETITLETEXTBGND = (-30);
-       SYSCLR_INACTIVETITLETEXT = (-29);
-       SYSCLR_ACTIVETITLETEXT = (-28);
-       SYSCLR_OUTPUTTEXT = (-27);
-       SYSCLR_WINDOWSTATICTEXT = (-26);
-       SYSCLR_SCROLLBAR = (-25);
-       SYSCLR_BACKGROUND = (-24);
-       SYSCLR_ACTIVETITLE = (-23);
-       SYSCLR_INACTIVETITLE = (-22);
-       SYSCLR_MENU = (-21);
-       SYSCLR_WINDOW = (-20);
-       SYSCLR_WINDOWFRAME = (-19);
-       SYSCLR_MENUTEXT = (-18);
-       SYSCLR_WINDOWTEXT = (-17);
-       SYSCLR_TITLETEXT = (-16);
-       SYSCLR_ACTIVEBORDER = (-15);
-       SYSCLR_INACTIVEBORDER = (-14);
-       SYSCLR_APPWORKSPACE = (-13);
-       SYSCLR_HELPBACKGROUND = (-12);
-       SYSCLR_HELPTEXT = (-11);
-       SYSCLR_HELPHILITE = (-10);
-       SYSCLR_CSYSCOLORS = 41;
-
-    function WinStartTimer(hab : HAB;hwnd : HWND;idTimer : ULONG;dtTimeout : ULONG) : ULONG;
-
-    function WinStopTimer(hab : HAB;hwnd : HWND;idTimer : ULONG) : BOOL;
-
-    function WinGetCurrentTime(hab : HAB) : ULONG;
-
-    const
-       TID_CURSOR = $ffff;
-       TID_SCROLL = $fffe;
-       TID_FLASHWINDOW = $fffd;
-       TID_USERMAX = $7fff;
-
-    type
-       HACCEL = LHANDLE;
-
-    const
-       AF_CHAR = $0001;
-       AF_VIRTUALKEY = $0002;
-       AF_SCANCODE = $0004;
-       AF_SHIFT = $0008;
-       AF_CONTROL = $0010;
-       AF_ALT = $0020;
-       AF_LONEKEY = $0040;
-       AF_SYSCOMMAND = $0100;
-       AF_HELP = $0200;
-{$PACKRECORDS 2}
-
-
-    type
-       ACCEL = record
-          fs : USHORT;
-          key : USHORT;
-          cmd : USHORT;
-       end;
-
-       PACCEL = ^ACCEL;
-
-       ACCELTABLE = record
-          cAccel : USHORT;
-          codepage : USHORT;
-          aaccel : array[0..1-1] of ACCEL;
-       end;
-
-       PACCELTABLE = ^ACCELTABLE;
-
-{$PACKRECORDS NORMAL}
-
-    function WinLoadAccelTable(hab : HAB;hmod : HMODULE;idAccelTable : ULONG) : HACCEL;
-
-    function WinCopyAccelTable(haccel : HACCEL;pAccelTable : PACCELTABLE;cbCopyMax : ULONG) : ULONG;
-
-    function WinCreateAccelTable(hab : HAB;pAccelTable : PACCELTABLE) : HACCEL;
-
-    function WinDestroyAccelTable(haccel : HACCEL) : BOOL;
-
-    function WinTranslateAccel(hab : HAB;hwnd : HWND;haccel : HACCEL;pqmsg : PQMSG) : BOOL;
-
-    function WinSetAccelTable(hab : HAB;haccel : HACCEL;hwndFrame : HWND) : BOOL;
-
-    function WinQueryAccelTable(hab : HAB;hwndFrame : HWND) : HACCEL;
-
-    const
-       EAF_DEFAULTOWNER = $0001;
-       EAF_UNCHANGEABLE = $0002;
-       EAF_REUSEICON = $0004;
-
-    type
-       TRACKINFO = record
-          cxBorder : LONG;
-          cyBorder : LONG;
-          cxGrid : LONG;
-          cyGrid : LONG;
-          cxKeyboard : LONG;
-          cyKeyboard : LONG;
-          rclTrack : RECTL;
-          rclBoundary : RECTL;
-          ptlMinTrackSize : POINTL;
-          ptlMaxTrackSize : POINTL;
-          fs : ULONG;
-       end;
-
-       PTRACKINFO = ^TRACKINFO;
-
-
-    function WinTrackRect(hwnd : HWND;hps : HPS;pti : PTRACKINFO) : BOOL;
-
-    function WinShowTrackRect(hwnd : HWND;fShow : BOOL) : BOOL;
-
-    const
-       TF_LEFT = $0001;
-       TF_TOP = $0002;
-       TF_RIGHT = $0004;
-       TF_BOTTOM = $0008;
-       TF_MOVE = $000F;
-       TF_SETPOINTERPOS = $0010;
-       TF_GRID = $0020;
-       TF_STANDARD = $0040;
-       TF_ALLINBOUNDARY = $0080;
-       TF_VALIDATETRACKRECT = $0100;
-       TF_PARTINBOUNDARY = $0200;
-       WM_RENDERFMT = $0060;
-       WM_RENDERALLFMTS = $0061;
-       WM_DESTROYCLIPBOARD = $0062;
-       WM_PAINTCLIPBOARD = $0063;
-       WM_SIZECLIPBOARD = $0064;
-       WM_HSCROLLCLIPBOARD = $0065;
-       WM_VSCROLLCLIPBOARD = $0066;
-       WM_DRAWCLIPBOARD = $0067;
-       CF_TEXT = 1;
-       CF_BITMAP = 2;
-       CF_DSPTEXT = 3;
-       CF_DSPBITMAP = 4;
-       CF_METAFILE = 5;
-       CF_DSPMETAFILE = 6;
-       CF_PALETTE = 9;
-       SZFMT_TEXT = '#1';
-       SZFMT_BITMAP = '#2';
-       SZFMT_DSPTEXT = '#3';
-       SZFMT_DSPBITMAP = '#4';
-       SZFMT_METAFILE = '#5';
-       SZFMT_DSPMETAFILE = '#6';
-       SZFMT_PALETTE = '#9';
-       SZFMT_SYLK = 'Sylk';
-       SZFMT_DIF = 'Dif';
-       SZFMT_TIFF = 'Tiff';
-       SZFMT_OEMTEXT = 'OemText';
-       SZFMT_DIB = 'Dib';
-       SZFMT_OWNERDISPLAY = 'OwnerDisplay';
-       SZFMT_LINK = 'Link';
-       SZFMT_METAFILEPICT = 'MetaFilePict';
-       SZFMT_DSPMETAFILEPICT = 'DspMetaFilePict';
-       SZFMT_CPTEXT = 'Codepage Text';
-       SZDDEFMT_RTF = 'Rich Text Format';
-       SZDDEFMT_PTRPICT = 'Printer_Picture';
-{$PACKRECORDS 2}
-
-
-    type
-       MFP = record
-          sizeBounds : POINTL;
-          sizeMM : POINTL;
-          cbLength : ULONG;
-          mapMode : USHORT;
-          reserved : USHORT;
-          abData : array[0..1-1] of BYTE;
-       end;
-
-       PMFP = ^MFP;
-
-       CPTEXT = record
-          idCountry : USHORT;
-          usCodepage : USHORT;
-          usLangID : USHORT;
-          usSubLangID : USHORT;
-          abText : array[0..1-1] of BYTE;
-       end;
-
-       PCPTEXT = ^CPTEXT;
-
-{$PACKRECORDS NORMAL}
-
-    function WinSetClipbrdOwner(hab : HAB;hwnd : HWND) : BOOL;
-
-    function WinSetClipbrdData(hab : HAB;ulData : ULONG;fmt : ULONG;rgfFmtInfo : ULONG) : BOOL;
-
-    function WinQueryClipbrdData(hab : HAB;fmt : ULONG) : ULONG;
-
-    function WinQueryClipbrdFmtInfo(hab : HAB;fmt : ULONG;prgfFmtInfo : PULONG) : BOOL;
-
-    function WinSetClipbrdViewer(hab : HAB;hwndNewClipViewer : HWND) : BOOL;
-
-    const
-       CFI_OWNERFREE = $0001;
-       CFI_OWNERDISPLAY = $0002;
-       CFI_POINTER = $0400;
-       CFI_HANDLE = $0200;
-
-    function WinEnumClipbrdFmts(hab : HAB;fmt : ULONG) : ULONG;
-
-    function WinEmptyClipbrd(hab : HAB) : BOOL;
-
-    function WinOpenClipbrd(hab : HAB) : BOOL;
-
-    function WinCloseClipbrd(hab : HAB) : BOOL;
-
-    function WinQueryClipbrdOwner(hab : HAB) : HWND;
-
-    function WinQueryClipbrdViewer(hab : HAB) : HWND;
-
-    function WinDestroyCursor(hwnd : HWND) : BOOL;
-
-    function WinShowCursor(hwnd : HWND;fShow : BOOL) : BOOL;
-
-    function WinCreateCursor(hwnd : HWND;x : LONG;y : LONG;cx : LONG;cy : LONG;fs : ULONG;prclClip : PRECTL) : BOOL;
-
-    const
-       CURSOR_SOLID = $0000;
-       CURSOR_HALFTONE = $0001;
-       CURSOR_FRAME = $0002;
-       CURSOR_FLASH = $0004;
-       CURSOR_SETPOS = $8000;
-
-    type
-       CURSORINFO = record
-          hwnd : HWND;
-          x : LONG;
-          y : LONG;
-          cx : LONG;
-          cy : LONG;
-          fs : ULONG;
-          rclClip : RECTL;
-       end;
-
-       PCURSORINFO = ^CURSORINFO;
-
-
-    function WinQueryCursorInfo(hwndDesktop : HWND;pCursorInfo : PCURSORINFO) : BOOL;
-
-    type
-       HPOINTER = LHANDLE;
-
-
-    function WinSetPointer(hwndDesktop : HWND;hptrNew : HPOINTER) : BOOL;
-
-    function WinSetPointerOwner(hptr : HPOINTER;pid : PID;fDestroy : BOOL) : BOOL;
-
-    function WinShowPointer(hwndDesktop : HWND;fShow : BOOL) : BOOL;
-
-    function WinQuerySysPointer(hwndDesktop : HWND;iptr : LONG;fLoad : BOOL) : HPOINTER;
-
-    const
-       SPTR_ARROW = 1;
-       SPTR_TEXT = 2;
-       SPTR_WAIT = 3;
-       SPTR_SIZE = 4;
-       SPTR_MOVE = 5;
-       SPTR_SIZENWSE = 6;
-       SPTR_SIZENESW = 7;
-       SPTR_SIZEWE = 8;
-       SPTR_SIZENS = 9;
-       SPTR_APPICON = 10;
-       SPTR_ICONINFORMATION = 11;
-       SPTR_ICONQUESTION = 12;
-       SPTR_ICONERROR = 13;
-       SPTR_ICONWARNING = 14;
-       SPTR_CPTR = 14;
-       SPTR_ILLEGAL = 18;
-       SPTR_FILE = 19;
-       SPTR_FOLDER = 20;
-       SPTR_MULTFILE = 21;
-       SPTR_PROGRAM = 22;
-       SPTR_HANDICON = SPTR_ICONERROR;
-       SPTR_QUESICON = SPTR_ICONQUESTION;
-       SPTR_BANGICON = SPTR_ICONWARNING;
-       SPTR_NOTEICON = SPTR_ICONINFORMATION;
-
-    function WinLoadPointer(hwndDesktop : HWND;hmod : HMODULE;idres : ULONG) : HPOINTER;
-
-    function WinCreatePointer(hwndDesktop : HWND;hbmPointer : HBITMAP;fPointer : BOOL;xHotspot : LONG;yHotspot : LONG) : HPOINTER;
-
-    function WinSetPointerPos(hwndDesktop : HWND;x : LONG;y : LONG) : BOOL;
-
-    function WinDestroyPointer(hptr : HPOINTER) : BOOL;
-
-    function WinQueryPointer(hwndDesktop : HWND) : HPOINTER;
-
-    function WinQueryPointerPos(hwndDesktop : HWND;pptl : PPOINTL) : BOOL;
-
-    type
-       POINTERINFO = record
-          fPointer : ULONG;
-          xHotspot : LONG;
-          yHotspot : LONG;
-          hbmPointer : HBITMAP;
-          hbmColor : HBITMAP;
-          hbmMiniPointer : HBITMAP;
-          hbmMiniColor : HBITMAP;
-       end;
-
-       PPOINTERINFO = ^POINTERINFO;
-
-
-    function WinCreatePointerIndirect(hwndDesktop : HWND;pptri : PPOINTERINFO) : HPOINTER;
-
-    function WinQueryPointerInfo(hptr : HPOINTER;pPointerInfo : PPOINTERINFO) : BOOL;
-
-    function WinDrawPointer(hps : HPS;x : LONG;y : LONG;hptr : HPOINTER;fs : ULONG) : BOOL;
-
-    const
-       DP_NORMAL = $0000;
-       DP_HALFTONED = $0001;
-       DP_INVERTED = $0002;
-
-    function WinGetSysBitmap(hwndDesktop : HWND;ibm : ULONG) : HBITMAP;
-
-    const
-       SBMP_OLD_SYSMENU = 1;
-       SBMP_OLD_SBUPARROW = 2;
-       SBMP_OLD_SBDNARROW = 3;
-       SBMP_OLD_SBRGARROW = 4;
-       SBMP_OLD_SBLFARROW = 5;
-       SBMP_MENUCHECK = 6;
-       SBMP_OLD_CHECKBOXES = 7;
-       SBMP_BTNCORNERS = 8;
-       SBMP_OLD_MINBUTTON = 9;
-       SBMP_OLD_MAXBUTTON = 10;
-       SBMP_OLD_RESTOREBUTTON = 11;
-       SBMP_OLD_CHILDSYSMENU = 12;
-       SBMP_DRIVE = 15;
-       SBMP_FILE = 16;
-       SBMP_FOLDER = 17;
-       SBMP_TREEPLUS = 18;
-       SBMP_TREEMINUS = 19;
-       SBMP_PROGRAM = 22;
-       SBMP_MENUATTACHED = 23;
-       SBMP_SIZEBOX = 24;
-       SBMP_SYSMENU = 25;
-       SBMP_MINBUTTON = 26;
-       SBMP_MAXBUTTON = 27;
-       SBMP_RESTOREBUTTON = 28;
-       SBMP_CHILDSYSMENU = 29;
-       SBMP_SYSMENUDEP = 30;
-       SBMP_MINBUTTONDEP = 31;
-       SBMP_MAXBUTTONDEP = 32;
-       SBMP_RESTOREBUTTONDEP = 33;
-       SBMP_CHILDSYSMENUDEP = 34;
-       SBMP_SBUPARROW = 35;
-       SBMP_SBDNARROW = 36;
-       SBMP_SBLFARROW = 37;
-       SBMP_SBRGARROW = 38;
-       SBMP_SBUPARROWDEP = 39;
-       SBMP_SBDNARROWDEP = 40;
-       SBMP_SBLFARROWDEP = 41;
-       SBMP_SBRGARROWDEP = 42;
-       SBMP_SBUPARROWDIS = 43;
-       SBMP_SBDNARROWDIS = 44;
-       SBMP_SBLFARROWDIS = 45;
-       SBMP_SBRGARROWDIS = 46;
-       SBMP_COMBODOWN = 47;
-       SBMP_CHECKBOXES = 48;
-
-    function WinSetHook(hab : HAB;hmq : HMQ;iHook : LONG;pfnHook : PFN;hmod : HMODULE) : BOOL;
-
-    function WinReleaseHook(hab : HAB;hmq : HMQ;iHook : LONG;pfnHook : PFN;hmod : HMODULE) : BOOL;
-
-    function WinCallMsgFilter(hab : HAB;pqmsg : PQMSG;msgf : ULONG) : BOOL;
-
-    const
-       HK_SENDMSG = 0;
-       HK_INPUT = 1;
-       HK_MSGFILTER = 2;
-       HK_JOURNALRECORD = 3;
-       HK_JOURNALPLAYBACK = 4;
-       HK_HELP = 5;
-       HK_LOADER = 6;
-       HK_REGISTERUSERMSG = 7;
-       HK_MSGCONTROL = 8;
-       HK_PLIST_ENTRY = 9;
-       HK_PLIST_EXIT = 10;
-       HK_FINDWORD = 11;
-       HK_CODEPAGECHANGED = 12;
-       HK_WINDOWDC = 15;
-       HK_DESTROYWINDOW = 16;
-       HK_CHECKMSGFILTER = 20;
-       HMQ_CURRENT = 1;
-       MSGF_DIALOGBOX = 1;
-       MSGF_MESSAGEBOX = 2;
-       MSGF_TRACK = 8;
-       MSGF_DDEPOSTMSG = 3;
-       HLPM_FRAME = (-1);
-       HLPM_WINDOW = (-2);
-       HLPM_MENU = (-3);
-       PM_MODEL_1X = 0;
-       PM_MODEL_2X = 1;
-
-    type
-       SMHSTRUCT = record
-          mp2 : MPARAM;
-          mp1 : MPARAM;
-          msg : ULONG;
-          hwnd : HWND;
-          model : ULONG;
-       end;
-
-       PSMHSTRUCT = ^SMHSTRUCT;
-
-    const
-       LHK_DELETEPROC = 1;
-       LHK_DELETELIB = 2;
-       LHK_LOADPROC = 3;
-       LHK_LOADLIB = 4;
-       MCHK_MSGINTEREST = 1;
-       MCHK_CLASSMSGINTEREST = 2;
-       MCHK_SYNCHRONISATION = 3;
-       MCHK_MSGMODE = 4;
-       RUMHK_DATATYPE = 1;
-       RUMHK_MSG = 2;
-
-    function WinSetClassThunkProc(pszClassname : PSZ;pfnThunkProc : PFN) : BOOL;
-
-    function WinQueryClassThunkProc(pszClassname : PSZ) : PFN;
-
-    function WinSetWindowThunkProc(hwnd : HWND;pfnThunkProc : PFN) : BOOL;
-
-    function WinQueryWindowThunkProc(hwnd : HWND) : PFN;
-
-    function WinQueryWindowModel(hwnd : HWND) : LONG;
-
-    function WinQueryCp(hmq : HMQ) : ULONG;
-
-    function WinSetCp(hmq : HMQ;idCodePage : ULONG) : BOOL;
-
-    function WinQueryCpList(hab : HAB;ccpMax : ULONG;prgcp : PULONG) : ULONG;
-
-    function WinCpTranslateString(hab : HAB;cpSrc : ULONG;pszSrc : PSZ;cpDst : ULONG;cchDestMax : ULONG;pchDest : PSZ) : BOOL;
-
-    function WinCpTranslateChar(hab : HAB;cpSrc : ULONG;chSrc : UCHAR;cpDst : ULONG) : UCHAR;
-
-    function WinUpper(hab : HAB;idcp : ULONG;idcc : ULONG;psz : PSZ) : ULONG;
-
-    function WinUpperChar(hab : HAB;idcp : ULONG;idcc : ULONG;c : ULONG) : ULONG;
-
-    function WinNextChar(hab : HAB;idcp : ULONG;idcc : ULONG;psz : PSZ) : PSZ;
-
-    function WinPrevChar(hab : HAB;idcp : ULONG;idcc : ULONG;pszStart : PSZ;psz : PSZ) : PSZ;
-
-    function WinCompareStrings(hab : HAB;idcp : ULONG;idcc : ULONG;psz1 : PSZ;psz2 : PSZ;reserved : ULONG) : ULONG;
-
-    const
-       WCS_ERROR = 0;
-       WCS_EQ = 1;
-       WCS_LT = 2;
-       WCS_GT = 3;
-
-    type
-       HATOMTBL = LHANDLE;
-
-       ATOM = ULONG;
-
-    function WinCreateAtomTable(cbInitial : ULONG;cBuckets : ULONG) : HATOMTBL;
-
-    function WinDestroyAtomTable(hAtomTbl : HATOMTBL) : HATOMTBL;
-
-    function WinAddAtom(hAtomTbl : HATOMTBL;pszAtomName : PSZ) : ATOM;
-
-    function WinFindAtom(hAtomTbl : HATOMTBL;pszAtomName : PSZ) : ATOM;
-
-    function WinDeleteAtom(hAtomTbl : HATOMTBL;atom : ATOM) : ATOM;
-
-    function WinQueryAtomUsage(hAtomTbl : HATOMTBL;atom : ATOM) : ULONG;
-
-    function WinQueryAtomLength(hAtomTbl : HATOMTBL;atom : ATOM) : ULONG;
-
-    function WinQueryAtomName(hAtomTbl : HATOMTBL;atom : ATOM;pchBuffer : PSZ;cchBufferMax : ULONG) : ULONG;
-
-    const
-       WINDBG_HWND_NOT_DESTROYED = $1022;
-       WINDBG_HPTR_NOT_DESTROYED = $1023;
-       WINDBG_HACCEL_NOT_DESTROYED = $1024;
-       WINDBG_HENUM_NOT_DESTROYED = $1025;
-       WINDBG_VISRGN_SEM_BUSY = $1026;
-       WINDBG_USER_SEM_BUSY = $1027;
-       WINDBG_DC_CACHE_BUSY = $1028;
-       WINDBG_HOOK_STILL_INSTALLED = $1029;
-       WINDBG_WINDOW_STILL_LOCKED = $102a;
-       WINDBG_UPDATEPS_ASSERTION_FAIL = $102b;
-       WINDBG_SENDMSG_WITHIN_USER_SEM = $102c;
-       WINDBG_USER_SEM_NOT_ENTERED = $102d;
-       WINDBG_PROC_NOT_EXPORTED = $102e;
-       WINDBG_BAD_SENDMSG_HWND = $102f;
-       WINDBG_ABNORMAL_EXIT = $1030;
-       WINDBG_INTERNAL_REVISION = $1031;
-       WINDBG_INITSYSTEM_FAILED = $1032;
-       WINDBG_HATOMTBL_NOT_DESTROYED = $1033;
-       WINDBG_WINDOW_UNLOCK_WAIT = $1035;
-
-    type
-       ERRINFO = record
-          cbFixedErrInfo : ULONG;
-          idError : ERRORID;
-          cDetailLevel : ULONG;
-          offaoffszMsg : ULONG;
-          offBinaryData : ULONG;
-       end;
-
-       PERRINFO = ^ERRINFO;
-
-    function WinGetLastError(hab : HAB) : ERRORID;
-
-    function WinGetErrorInfo(hab : HAB) : PERRINFO;
-
-    function WinFreeErrorInfo(perrinfo : PERRINFO) : BOOL;
-
-    const
-       SZDDESYS_TOPIC = 'System';
-       SZDDESYS_ITEM_TOPICS = 'Topics';
-       SZDDESYS_ITEM_SYSITEMS = 'SysItems';
-       SZDDESYS_ITEM_RTNMSG = 'ReturnMessage';
-       SZDDESYS_ITEM_STATUS = 'Status';
-       SZDDESYS_ITEM_FORMATS = 'Formats';
-       SZDDESYS_ITEM_SECURITY = 'Security';
-       SZDDESYS_ITEM_ITEMFORMATS = 'ItemFormats';
-       SZDDESYS_ITEM_HELP = 'Help';
-       SZDDESYS_ITEM_PROTOCOLS = 'Protocols';
-       SZDDESYS_ITEM_RESTART = 'Restart';
-
-    type
-       CONVCONTEXT = record
-          cb : ULONG;
-          fsContext : ULONG;
-          idCountry : ULONG;
-          usCodepage : ULONG;
-          usLangID : ULONG;
-          usSubLangID : ULONG;
-       end;
-
-       PCONVCONTEXT = ^CONVCONTEXT;
-
-    const
-       DDECTXT_CASESENSITIVE = $0001;
-
-    type
-       DDEINIT = record
-          cb : ULONG;
-          pszAppName : PSZ;
-          pszTopic : PSZ;
-          offConvContext : ULONG;
-       end;
-
-       PDDEINIT = ^DDEINIT;
-
-       DDESTRUCT = record
-          cbData : ULONG;
-          fsStatus : USHORT;
-          usFormat : USHORT;
-          offszItemName : USHORT;
-          offabData : USHORT;
-       end;
-
-       PDDESTRUCT = ^DDESTRUCT;
-
-    const
-       DDE_FACK = $0001;
-       DDE_FBUSY = $0002;
-       DDE_FNODATA = $0004;
-       DDE_FACKREQ = $0008;
-       DDE_FRESPONSE = $0010;
-       DDE_NOTPROCESSED = $0020;
-       DDE_FRESERVED = $00C0;
-       DDE_FAPPSTATUS = $FF00;
-       DDEFMT_TEXT = $0001;
-
-    function WinDdeInitiate(hwndClient : HWND;pszAppName : PSZ;pszTopicName : PSZ;pcctxt : PCONVCONTEXT) : BOOL;
-
-    function WinDdeRespond(hwndClient : HWND;hwndServer : HWND;pszAppName : PSZ;pszTopicName : PSZ;pcctxt : PCONVCONTEXT) : MRESULT;
-
-    function WinDdePostMsg(hwndTo : HWND;hwndFrom : HWND;wm : ULONG;pddest : PDDESTRUCT;flOptions : ULONG) : BOOL;
-
-    const
-       DDEPM_RETRY = $00000001;
-       DDEPM_NOFREE = $00000002;
-       WM_DDE_FIRST = $00A0;
-       WM_DDE_INITIATE = $00A0;
-       WM_DDE_REQUEST = $00A1;
-       WM_DDE_ACK = $00A2;
-       WM_DDE_DATA = $00A3;
-       WM_DDE_ADVISE = $00A4;
-       WM_DDE_UNADVISE = $00A5;
-       WM_DDE_POKE = $00A6;
-       WM_DDE_EXECUTE = $00A7;
-       WM_DDE_TERMINATE = $00A8;
-       WM_DDE_INITIATEACK = $00A9;
-       WM_DDE_LAST = $00AF;
-       WM_QUERYCONVERTPOS = $00b0;
-       QCP_CONVERT = $0001;
-       QCP_NOCONVERT = $0000;
-
-    type
-       HLIB = HMODULE;
-
-       PHLIB = PHMODULE;
-
-    function WinDeleteProcedure(hab : HAB;wndproc : PFNWP) : BOOL;
-
-    function WinDeleteLibrary(hab : HAB;libhandle : HLIB) : BOOL;
-
-    function WinLoadProcedure(hab : HAB;libhandle : HLIB;procname : PSZ) : PFNWP;
-
-    function WinLoadLibrary(hab : HAB;libname : PSZ) : HLIB;
-
-    type
-       DESKTOP = record
-          cbSize : ULONG;
-          hbm : HBITMAP;
-          x : LONG;
-          y : LONG;
-          fl : ULONG;
-          lTileCount : LONG;
-          szFile : array[0..260-1] of CHAR;
-       end;
-
-       PDESKTOP = ^DESKTOP;
-
-    function WinSetDesktopBkgnd(hwndDesktop : HWND;pdskNew : PDESKTOP) : HBITMAP;
-
-    function WinQueryDesktopBkgnd(hwndDesktop : HWND;pdsk : PDESKTOP) : BOOL;
-
-    const
-       SDT_DESTROY = $0001;
-       SDT_NOBKGND = $0002;
-       SDT_TILE = $0004;
-       SDT_SCALE = $0008;
-       SDT_PATTERN = $0010;
-       SDT_CENTER = $0020;
-       SDT_RETAIN = $0040;
-       SDT_LOADFILE = $0080;
-
-    function WinRealizePalette(hwnd : HWND;hps : HPS;pcclr : PULONG) : LONG;
-
-    const
-       STR_DLLNAME = 'keyremap';
-       WM_DBCSFIRST = $00b0;
-       WM_DBCSLAST = $00cf;
-
-    function HWNDFROMMP(mp : MPARAM) : HWND;
-    function SHORT1FROMMP(mp : MPARAM) : USHORT;
-    function SHORT2FROMMP(mp : MPARAM) : USHORT;
-
-  implementation
-
-    function WinRegisterClass(hab : HAB;pszClassName : PSZ;pfnWndProc : PFNWP;flStyle : ULONG;cbWindowData : ULONG) : BOOL;[SYSTEM];
-    function WinDefWindowProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
-    function WinDestroyWindow(hwnd : HWND) : BOOL;[SYSTEM];
-    function WinShowWindow(hwnd : HWND;fShow : BOOL) : BOOL;[SYSTEM];
-    function WinQueryWindowRect(hwnd : HWND;prclDest : PRECTL) : BOOL;[SYSTEM];
-    function WinGetPS(hwnd : HWND) : HPS;[SYSTEM];
-    function WinReleasePS(hps : HPS) : BOOL;[SYSTEM];
-    function WinEndPaint(hps : HPS) : BOOL;[SYSTEM];
-    function WinGetClipPS(hwnd : HWND;hwndClip : HWND;fl : ULONG) : HPS;[SYSTEM];
-    function WinIsWindowShowing(hwnd : HWND) : BOOL;[SYSTEM];
-    function WinBeginPaint(hwnd : HWND;hps : HPS;prclPaint : PRECTL) : HPS;[SYSTEM];
-    function WinOpenWindowDC(hwnd : HWND) : HDC;[SYSTEM];
-    function WinScrollWindow(hwnd : HWND;dx : LONG;dy : LONG;prclScroll : PRECTL;prclClip : PRECTL;hrgnUpdate : HRGN;prclUpdate : PRECTL;rgfsw : ULONG) : LONG;[SYSTEM];
-    function WinFillRect(hps : HPS;prcl : PRECTL;lColor : LONG) : BOOL;[SYSTEM];
-    function WinQueryVersion(hab : HAB) : ULONG;[SYSTEM];
-    function WinInitialize(flOptions : ULONG) : HAB;[SYSTEM];
-    function WinTerminate(hab : HAB) : BOOL;[SYSTEM];
-    function WinQueryAnchorBlock(hwnd : HWND) : HAB;[SYSTEM];
-    function WinCreateWindow(hwndParent : HWND;pszClass : PSZ;pszName : PSZ;flStyle : ULONG;x : LONG;y : LONG;cx : LONG;cy : LONG;hwndOwner : HWND;hwndInsertBehind : HWND;id : ULONG;pCtlData : PVOID;pPresParams : PVOID) : HWND;[SYSTEM];
-    function WinEnableWindow(hwnd : HWND;fEnable : BOOL) : BOOL;[SYSTEM];
-    function WinIsWindowEnabled(hwnd : HWND) : BOOL;[SYSTEM];
-    function WinEnableWindowUpdate(hwnd : HWND;fEnable : BOOL) : BOOL;[SYSTEM];
-    function WinIsWindowVisible(hwnd : HWND) : BOOL;[SYSTEM];
-    function WinQueryWindowText(hwnd : HWND;cchBufferMax : LONG;pchBuffer : PCH) : LONG;[SYSTEM];
-    function WinSetWindowText(hwnd : HWND;pszText : PSZ) : BOOL;[SYSTEM];
-    function WinQueryWindowTextLength(hwnd : HWND) : LONG;[SYSTEM];
-    function WinWindowFromID(hwndParent : HWND;id : ULONG) : HWND;[SYSTEM];
-    function WinIsWindow(hab : HAB;hwnd : HWND) : BOOL;[SYSTEM];
-    function WinQueryWindow(hwnd : HWND;cmd : LONG) : HWND;[SYSTEM];
-    function WinMultWindowFromIDs(hwndParent : HWND;prghwnd : PHWND;idFirst : ULONG;idLast : ULONG) : LONG;[SYSTEM];
-    function WinSetParent(hwnd : HWND;hwndNewParent : HWND;fRedraw : BOOL) : BOOL;[SYSTEM];
-    function WinIsChild(hwnd : HWND;hwndParent : HWND) : BOOL;[SYSTEM];
-    function WinSetOwner(hwnd : HWND;hwndNewOwner : HWND) : BOOL;[SYSTEM];
-    function WinQueryWindowProcess(hwnd : HWND;ppid : PPID;ptid : PTID) : BOOL;[SYSTEM];
-    function WinQueryObjectWindow(hwndDesktop : HWND) : HWND;[SYSTEM];
-    function WinQueryDesktopWindow(hab : HAB;hdc : HDC) : HWND;[SYSTEM];
-    function WinSetWindowPos(hwnd : HWND;hwndInsertBehind : HWND;x : LONG;y : LONG;cx : LONG;cy : LONG;fl : ULONG) : BOOL;[SYSTEM];
-    function WinSetMultWindowPos(hab : HAB;pswp : PSWP;cswp : ULONG) : BOOL;[SYSTEM];
-    function WinQueryWindowPos(hwnd : HWND;pswp : PSWP) : BOOL;[SYSTEM];
-    function WinUpdateWindow(hwnd : HWND) : BOOL;[SYSTEM];
-    function WinInvalidateRect(hwnd : HWND;pwrc : PRECTL;fIncludeChildren : BOOL) : BOOL;[SYSTEM];
-    function WinInvalidateRegion(hwnd : HWND;hrgn : HRGN;fIncludeChildren : BOOL) : BOOL;[SYSTEM];
-    function WinInvertRect(hps : HPS;prcl : PRECTL) : BOOL;[SYSTEM];
-    function WinDrawBitmap(hpsDst : HPS;hbm : HBITMAP;pwrcSrc : PRECTL;pptlDst : PPOINTL;clrFore : LONG;clrBack : LONG;fl : ULONG) : BOOL;[SYSTEM];
-    function WinDrawText(hps : HPS;cchText : LONG;lpchText : PCH;prcl : PRECTL;clrFore : LONG;clrBack : LONG;flCmd : ULONG) : LONG;[SYSTEM];
-    function WinDrawBorder(hps : HPS;prcl : PRECTL;cx : LONG;cy : LONG;clrFore : LONG;clrBack : LONG;flCmd : ULONG) : BOOL;[SYSTEM];
-    function WinLoadString(hab : HAB;hmod : HMODULE;id : ULONG;cchMax : LONG;pchBuffer : PSZ) : LONG;[SYSTEM];
-    function WinLoadMessage(hab : HAB;hmod : HMODULE;id : ULONG;cchMax : LONG;pchBuffer : PSZ) : LONG;[SYSTEM];
-    function WinSetActiveWindow(hwndDesktop : HWND;hwnd : HWND) : BOOL;[SYSTEM];
-    function WinSubclassWindow(hwnd : HWND;pfnwp : PFNWP) : PFNWP;[SYSTEM];
-    function WinQueryClassName(hwnd : HWND;cchMax : LONG;pch : PCH) : LONG;[SYSTEM];
-    function WinQueryClassInfo(hab : HAB;pszClassName : PSZ;pClassInfo : PCLASSINFO) : BOOL;[SYSTEM];
-    function WinQueryActiveWindow(hwndDesktop : HWND) : HWND;[SYSTEM];
-    function WinIsThreadActive(hab : HAB) : BOOL;[SYSTEM];
-    function WinQuerySysModalWindow(hwndDesktop : HWND) : HWND;[SYSTEM];
-    function WinSetSysModalWindow(hwndDesktop : HWND;hwnd : HWND) : BOOL;[SYSTEM];
-    function WinQueryWindowUShort(hwnd : HWND;index : LONG) : USHORT;[SYSTEM];
-    function WinSetWindowUShort(hwnd : HWND;index : LONG;us : USHORT) : BOOL;[SYSTEM];
-    function WinQueryWindowULong(hwnd : HWND;index : LONG) : ULONG;[SYSTEM];
-    function WinSetWindowULong(hwnd : HWND;index : LONG;ul : ULONG) : BOOL;[SYSTEM];
-    function WinQueryWindowPtr(hwnd : HWND;index : LONG) : PVOID;[SYSTEM];
-    function WinSetWindowPtr(hwnd : HWND;index : LONG;p : PVOID) : BOOL;[SYSTEM];
-    function WinSetWindowBits(hwnd : HWND;index : LONG;flData : ULONG;flMask : ULONG) : BOOL;[SYSTEM];
-    function WinBeginEnumWindows(hwnd : HWND) : HENUM;[SYSTEM];
-    function WinGetNextWindow(henum : HENUM) : HWND;[SYSTEM];
-    function WinEndEnumWindows(henum : HENUM) : BOOL;[SYSTEM];
-    function WinWindowFromPoint(hwnd : HWND;pptl : PPOINTL;fChildren : BOOL) : HWND;[SYSTEM];
-    function WinMapWindowPoints(hwndFrom : HWND;hwndTo : HWND;prgptl : PPOINTL;cwpt : LONG) : BOOL;[SYSTEM];
-    function WinValidateRect(hwnd : HWND;prcl : PRECTL;fIncludeChildren : BOOL) : BOOL;[SYSTEM];
-    function WinValidateRegion(hwnd : HWND;hrgn : HRGN;fIncludeChildren : BOOL) : BOOL;[SYSTEM];
-    function WinWindowFromDC(hdc : HDC) : HWND;[SYSTEM];
-    function WinQueryWindowDC(hwnd : HWND) : HDC;[SYSTEM];
-    function WinGetScreenPS(hwndDesktop : HWND) : HPS;[SYSTEM];
-    function WinLockWindowUpdate(hwndDesktop : HWND;hwndLockUpdate : HWND) : BOOL;[SYSTEM];
-    function WinLockVisRegions(hwndDesktop : HWND;fLock : BOOL) : BOOL;[SYSTEM];
-    function WinQueryUpdateRect(hwnd : HWND;prcl : PRECTL) : BOOL;[SYSTEM];
-    function WinQueryUpdateRegion(hwnd : HWND;hrgn : HRGN) : LONG;[SYSTEM];
-    function WinExcludeUpdateRegion(hps : HPS;hwnd : HWND) : LONG;[SYSTEM];
-    function WinSendMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
-    function WinCreateMsgQueue(hab : HAB;cmsg : LONG) : HMQ;[SYSTEM];
-    function WinDestroyMsgQueue(hmq : HMQ) : BOOL;[SYSTEM];
-    function WinQueryQueueInfo(hmq : HMQ;pmqi : PMQINFO;cbCopy : ULONG) : BOOL;[SYSTEM];
-    function WinCancelShutdown(hmq : HMQ;fCancelAlways : BOOL) : BOOL;[SYSTEM];
-    function WinGetMsg(hab : HAB;pqmsg : PQMSG;hwndFilter : HWND;msgFilterFirst : ULONG;msgFilterLast : ULONG) : BOOL;[SYSTEM];
-    function WinPeekMsg(hab : HAB;pqmsg : PQMSG;hwndFilter : HWND;msgFilterFirst : ULONG;msgFilterLast : ULONG;fl : ULONG) : BOOL;[SYSTEM];
-    function WinDispatchMsg(hab : HAB;pqmsg : PQMSG) : MRESULT;[SYSTEM];
-    function WinPostMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : BOOL;[SYSTEM];
-    function WinRegisterUserMsg(hab : HAB;msgid : ULONG;datatype1 : LONG;dir1 : LONG;datatype2 : LONG;dir2 : LONG;datatyper : LONG) : BOOL;[SYSTEM];
-    function WinRegisterUserDatatype(hab : HAB;datatype : LONG;count : LONG;types : PLONG) : BOOL;[SYSTEM];
-    function WinSetMsgMode(hab : HAB;classname : PSZ;control : LONG) : BOOL;[SYSTEM];
-    function WinSetSynchroMode(hab : HAB;mode : LONG) : BOOL;[SYSTEM];
-    function WinInSendMsg(hab : HAB) : BOOL;[SYSTEM];
-    function WinBroadcastMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM;rgf : ULONG) : BOOL;[SYSTEM];
-    function WinWaitMsg(hab : HAB;msgFirst : ULONG;msgLast : ULONG) : BOOL;[SYSTEM];
-    function WinQueryQueueStatus(hwndDesktop : HWND) : ULONG;[SYSTEM];
-    function WinQueryMsgPos(hab : HAB;pptl : PPOINTL) : BOOL;[SYSTEM];
-    function WinQueryMsgTime(hab : HAB) : ULONG;[SYSTEM];
-    function WinWaitEventSem(hev : HEV;ulTimeout : ULONG) : APIRET;[SYSTEM];
-    function WinRequestMutexSem(hmtx : HMTX;ulTimeout : ULONG) : APIRET;[SYSTEM];
-    function WinWaitMuxWaitSem(hmux : HMUX;ulTimeout : ULONG;pulUser : PULONG) : APIRET;[SYSTEM];
-    function WinPostQueueMsg(hmq : HMQ;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : BOOL;[SYSTEM];
-    function WinSetMsgInterest(hwnd : HWND;msg_class : ULONG;control : LONG) : BOOL;[SYSTEM];
-    function WinSetClassMsgInterest(hab : HAB;pszClassName : PSZ;msg_class : ULONG;control : LONG) : BOOL;[SYSTEM];
-    function WinSetFocus(hwndDesktop : HWND;hwndSetFocus : HWND) : BOOL;[SYSTEM];
-    function WinFocusChange(hwndDesktop : HWND;hwndSetFocus : HWND;flFocusChange : ULONG) : BOOL;[SYSTEM];
-    function WinSetCapture(hwndDesktop : HWND;hwnd : HWND) : BOOL;[SYSTEM];
-    function WinQueryCapture(hwndDesktop : HWND) : HWND;[SYSTEM];
-    function WinQueryFocus(hwndDesktop : HWND) : HWND;[SYSTEM];
-    function WinGetKeyState(hwndDesktop : HWND;vkey : LONG) : LONG;[SYSTEM];
-    function WinGetPhysKeyState(hwndDesktop : HWND;sc : LONG) : LONG;[SYSTEM];
-    function WinEnablePhysInput(hwndDesktop : HWND;fEnable : BOOL) : BOOL;[SYSTEM];
-    function WinIsPhysInputEnabled(hwndDesktop : HWND) : BOOL;[SYSTEM];
-    function WinSetKeyboardStateTable(hwndDesktop : HWND;pKeyStateTable : PBYTE;fSet : BOOL) : BOOL;[SYSTEM];
-    function WinGetDlgMsg(hwndDlg : HWND;pqmsg : PQMSG) : BOOL;[SYSTEM];
-    function WinLoadDlg(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;hmod : HMODULE;idDlg : ULONG;pCreateParams : PVOID) : HWND;[SYSTEM];
-    function WinDlgBox(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;hmod : HMODULE;idDlg : ULONG;pCreateParams : PVOID) : ULONG;[SYSTEM];
-    function WinDismissDlg(hwndDlg : HWND;usResult : ULONG) : BOOL;[SYSTEM];
-    function WinQueryDlgItemShort(hwndDlg : HWND;idItem : ULONG;pResult : PSHORT;fSigned : BOOL) : BOOL;[SYSTEM];
-    function WinSetDlgItemShort(hwndDlg : HWND;idItem : ULONG;usValue : USHORT;fSigned : BOOL) : BOOL;[SYSTEM];
-    function WinSetDlgItemText(hwndDlg : HWND;idItem : ULONG;pszText : PSZ) : BOOL;[SYSTEM];
-    function WinQueryDlgItemText(hwndDlg : HWND;idItem : ULONG;cchBufferMax : LONG;pchBuffer : PSZ) : ULONG;[SYSTEM];
-    function WinQueryDlgItemTextLength(hwndDlg : HWND;idItem : ULONG) : LONG;[SYSTEM];
-    function WinDefDlgProc(hwndDlg : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
-    function WinAlarm(hwndDesktop : HWND;rgfType : ULONG) : BOOL;[SYSTEM];
-    function WinMessageBox(hwndParent : HWND;hwndOwner : HWND;pszText : PSZ;pszCaption : PSZ;idWindow : ULONG;flStyle : ULONG) : ULONG;[SYSTEM];
-    function WinProcessDlg(hwndDlg : HWND) : ULONG;[SYSTEM];
-    function WinSendDlgItemMsg(hwndDlg : HWND;idItem : ULONG;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
-    function WinMapDlgPoints(hwndDlg : HWND;prgwptl : PPOINTL;cwpt : ULONG;fCalcWindowCoords : BOOL) : BOOL;[SYSTEM];
-    function WinEnumDlgItem(hwndDlg : HWND;hwnd : HWND;code : ULONG) : HWND;[SYSTEM];
-    function WinSubstituteStrings(hwnd : HWND;pszSrc : PSZ;cchDstMax : LONG;pszDst : PSZ) : LONG;[SYSTEM];
-    function WinCreateDlg(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;pdlgt : PDLGTEMPLATE;pCreateParams : PVOID) : HWND;[SYSTEM];
-    function WinLoadMenu(hwndFrame : HWND;hmod : HMODULE;idMenu : ULONG) : HWND;[SYSTEM];
-    function WinCreateMenu(hwndParent : HWND;lpmt : PVOID) : HWND;[SYSTEM];
-    function WinPopupMenu(hwndParent : HWND;hwndOwner : HWND;hwndMenu : HWND;x : LONG;y : LONG;idItem : LONG;fs : ULONG) : BOOL;[SYSTEM];
-    function WinCreateStdWindow(hwndParent : HWND;flStyle : ULONG;pflCreateFlags : PULONG;pszClientClass : PSZ;pszTitle : PSZ;styleClient : ULONG;hmod : HMODULE;idResources : ULONG;phwndClient : PHWND) : HWND;[SYSTEM];
-    function WinFlashWindow(hwndFrame : HWND;fFlash : BOOL) : BOOL;[SYSTEM];
-    function WinCreateFrameControls(hwndFrame : HWND;pfcdata : PFRAMECDATA;pszTitle : PSZ) : BOOL;[SYSTEM];
-    function WinCalcFrameRect(hwndFrame : HWND;prcl : PRECTL;fClient : BOOL) : BOOL;[SYSTEM];
-    function WinGetMinPosition(hwnd : HWND;pswp : PSWP;pptl : PPOINTL) : BOOL;[SYSTEM];
-    function WinGetMaxPosition(hwnd : HWND;pswp : PSWP) : BOOL;[SYSTEM];
-    function WinSaveWindowPos(hsvwp : HSAVEWP;pswp : PSWP;cswp : ULONG) : BOOL;[SYSTEM];
-    function WinCopyRect(hab : HAB;prclDst : PRECTL;prclSrc : PRECTL) : BOOL;[SYSTEM];
-    function WinSetRect(hab : HAB;prcl : PRECTL;xLeft : LONG;yBottom : LONG;xRight : LONG;yTop : LONG) : BOOL;[SYSTEM];
-    function WinIsRectEmpty(hab : HAB;prcl : PRECTL) : BOOL;[SYSTEM];
-    function WinEqualRect(hab : HAB;prcl1 : PRECTL;prcl2 : PRECTL) : BOOL;[SYSTEM];
-    function WinSetRectEmpty(hab : HAB;prcl : PRECTL) : BOOL;[SYSTEM];
-    function WinOffsetRect(hab : HAB;prcl : PRECTL;cx : LONG;cy : LONG) : BOOL;[SYSTEM];
-    function WinInflateRect(hab : HAB;prcl : PRECTL;cx : LONG;cy : LONG) : BOOL;[SYSTEM];
-    function WinPtInRect(hab : HAB;prcl : PRECTL;pptl : PPOINTL) : BOOL;[SYSTEM];
-    function WinIntersectRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL;[SYSTEM];
-    function WinUnionRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL;[SYSTEM];
-    function WinSubtractRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL;[SYSTEM];
-    function WinMakeRect(hab : HAB;pwrc : PRECTL) : BOOL;[SYSTEM];
-    function WinMakePoints(hab : HAB;pwpt : PPOINTL;cwpt : ULONG) : BOOL;[SYSTEM];
-    function WinQuerySysValue(hwndDesktop : HWND;iSysValue : LONG) : LONG;[SYSTEM];
-    function WinSetSysValue(hwndDesktop : HWND;iSysValue : LONG;lValue : LONG) : BOOL;[SYSTEM];
-    function WinSetPresParam(hwnd : HWND;id : ULONG;cbParam : ULONG;pbParam : PVOID) : BOOL;[SYSTEM];
-    function WinQueryPresParam(hwnd : HWND;id1 : ULONG;id2 : ULONG;pulId : PULONG;cbBuf : ULONG;pbBuf : PVOID;fs : ULONG) : ULONG;[SYSTEM];
-    function WinRemovePresParam(hwnd : HWND;id : ULONG) : BOOL;[SYSTEM];
-    function WinQuerySysColor(hwndDesktop : HWND;clr : LONG;lReserved : LONG) : LONG;[SYSTEM];
-    function WinSetSysColors(hwndDesktop : HWND;flOptions : ULONG;flFormat : ULONG;clrFirst : LONG;cclr : ULONG;pclr : PLONG) : BOOL;[SYSTEM];
-    function WinStartTimer(hab : HAB;hwnd : HWND;idTimer : ULONG;dtTimeout : ULONG) : ULONG;[SYSTEM];
-    function WinStopTimer(hab : HAB;hwnd : HWND;idTimer : ULONG) : BOOL;[SYSTEM];
-    function WinGetCurrentTime(hab : HAB) : ULONG;[SYSTEM];
-    function WinLoadAccelTable(hab : HAB;hmod : HMODULE;idAccelTable : ULONG) : HACCEL;[SYSTEM];
-    function WinCopyAccelTable(haccel : HACCEL;pAccelTable : PACCELTABLE;cbCopyMax : ULONG) : ULONG;[SYSTEM];
-    function WinCreateAccelTable(hab : HAB;pAccelTable : PACCELTABLE) : HACCEL;[SYSTEM];
-    function WinDestroyAccelTable(haccel : HACCEL) : BOOL;[SYSTEM];
-    function WinTranslateAccel(hab : HAB;hwnd : HWND;haccel : HACCEL;pqmsg : PQMSG) : BOOL;[SYSTEM];
-    function WinSetAccelTable(hab : HAB;haccel : HACCEL;hwndFrame : HWND) : BOOL;[SYSTEM];
-    function WinQueryAccelTable(hab : HAB;hwndFrame : HWND) : HACCEL;[SYSTEM];
-    function WinTrackRect(hwnd : HWND;hps : HPS;pti : PTRACKINFO) : BOOL;[SYSTEM];
-    function WinShowTrackRect(hwnd : HWND;fShow : BOOL) : BOOL;[SYSTEM];
-    function WinSetClipbrdOwner(hab : HAB;hwnd : HWND) : BOOL;[SYSTEM];
-    function WinSetClipbrdData(hab : HAB;ulData : ULONG;fmt : ULONG;rgfFmtInfo : ULONG) : BOOL;[SYSTEM];
-    function WinQueryClipbrdData(hab : HAB;fmt : ULONG) : ULONG;[SYSTEM];
-    function WinQueryClipbrdFmtInfo(hab : HAB;fmt : ULONG;prgfFmtInfo : PULONG) : BOOL;[SYSTEM];
-    function WinSetClipbrdViewer(hab : HAB;hwndNewClipViewer : HWND) : BOOL;[SYSTEM];
-    function WinEnumClipbrdFmts(hab : HAB;fmt : ULONG) : ULONG;[SYSTEM];
-    function WinEmptyClipbrd(hab : HAB) : BOOL;[SYSTEM];
-    function WinOpenClipbrd(hab : HAB) : BOOL;[SYSTEM];
-    function WinCloseClipbrd(hab : HAB) : BOOL;[SYSTEM];
-    function WinQueryClipbrdOwner(hab : HAB) : HWND;[SYSTEM];
-    function WinQueryClipbrdViewer(hab : HAB) : HWND;[SYSTEM];
-    function WinDestroyCursor(hwnd : HWND) : BOOL;[SYSTEM];
-    function WinShowCursor(hwnd : HWND;fShow : BOOL) : BOOL;[SYSTEM];
-    function WinCreateCursor(hwnd : HWND;x : LONG;y : LONG;cx : LONG;cy : LONG;fs : ULONG;prclClip : PRECTL) : BOOL;[SYSTEM];
-    function WinQueryCursorInfo(hwndDesktop : HWND;pCursorInfo : PCURSORINFO) : BOOL;[SYSTEM];
-    function WinSetPointer(hwndDesktop : HWND;hptrNew : HPOINTER) : BOOL;[SYSTEM];
-    function WinSetPointerOwner(hptr : HPOINTER;pid : PID;fDestroy : BOOL) : BOOL;[SYSTEM];
-    function WinShowPointer(hwndDesktop : HWND;fShow : BOOL) : BOOL;[SYSTEM];
-    function WinQuerySysPointer(hwndDesktop : HWND;iptr : LONG;fLoad : BOOL) : HPOINTER;[SYSTEM];
-    function WinLoadPointer(hwndDesktop : HWND;hmod : HMODULE;idres : ULONG) : HPOINTER;[SYSTEM];
-    function WinCreatePointer(hwndDesktop : HWND;hbmPointer : HBITMAP;fPointer : BOOL;xHotspot : LONG;yHotspot : LONG) : HPOINTER;[SYSTEM];
-    function WinSetPointerPos(hwndDesktop : HWND;x : LONG;y : LONG) : BOOL;[SYSTEM];
-    function WinDestroyPointer(hptr : HPOINTER) : BOOL;[SYSTEM];
-    function WinQueryPointer(hwndDesktop : HWND) : HPOINTER;[SYSTEM];
-    function WinQueryPointerPos(hwndDesktop : HWND;pptl : PPOINTL) : BOOL;[SYSTEM];
-    function WinCreatePointerIndirect(hwndDesktop : HWND;pptri : PPOINTERINFO) : HPOINTER;[SYSTEM];
-    function WinQueryPointerInfo(hptr : HPOINTER;pPointerInfo : PPOINTERINFO) : BOOL;[SYSTEM];
-    function WinDrawPointer(hps : HPS;x : LONG;y : LONG;hptr : HPOINTER;fs : ULONG) : BOOL;[SYSTEM];
-    function WinGetSysBitmap(hwndDesktop : HWND;ibm : ULONG) : HBITMAP;[SYSTEM];
-    function WinSetHook(hab : HAB;hmq : HMQ;iHook : LONG;pfnHook : PFN;hmod : HMODULE) : BOOL;[SYSTEM];
-    function WinReleaseHook(hab : HAB;hmq : HMQ;iHook : LONG;pfnHook : PFN;hmod : HMODULE) : BOOL;[SYSTEM];
-    function WinCallMsgFilter(hab : HAB;pqmsg : PQMSG;msgf : ULONG) : BOOL;[SYSTEM];
-    function WinSetClassThunkProc(pszClassname : PSZ;pfnThunkProc : PFN) : BOOL;[SYSTEM];
-    function WinQueryClassThunkProc(pszClassname : PSZ) : PFN;[SYSTEM];
-    function WinSetWindowThunkProc(hwnd : HWND;pfnThunkProc : PFN) : BOOL;[SYSTEM];
-    function WinQueryWindowThunkProc(hwnd : HWND) : PFN;[SYSTEM];
-    function WinQueryWindowModel(hwnd : HWND) : LONG;[SYSTEM];
-    function WinQueryCp(hmq : HMQ) : ULONG;[SYSTEM];
-    function WinSetCp(hmq : HMQ;idCodePage : ULONG) : BOOL;[SYSTEM];
-    function WinQueryCpList(hab : HAB;ccpMax : ULONG;prgcp : PULONG) : ULONG;[SYSTEM];
-    function WinCpTranslateString(hab : HAB;cpSrc : ULONG;pszSrc : PSZ;cpDst : ULONG;cchDestMax : ULONG;pchDest : PSZ) : BOOL;[SYSTEM];
-    function WinCpTranslateChar(hab : HAB;cpSrc : ULONG;chSrc : UCHAR;cpDst : ULONG) : UCHAR;[SYSTEM];
-    function WinUpper(hab : HAB;idcp : ULONG;idcc : ULONG;psz : PSZ) : ULONG;[SYSTEM];
-    function WinUpperChar(hab : HAB;idcp : ULONG;idcc : ULONG;c : ULONG) : ULONG;[SYSTEM];
-    function WinNextChar(hab : HAB;idcp : ULONG;idcc : ULONG;psz : PSZ) : PSZ;[SYSTEM];
-    function WinPrevChar(hab : HAB;idcp : ULONG;idcc : ULONG;pszStart : PSZ;psz : PSZ) : PSZ;[SYSTEM];
-    function WinCompareStrings(hab : HAB;idcp : ULONG;idcc : ULONG;psz1 : PSZ;psz2 : PSZ;reserved : ULONG) : ULONG;[SYSTEM];
-    function WinCreateAtomTable(cbInitial : ULONG;cBuckets : ULONG) : HATOMTBL;[SYSTEM];
-    function WinDestroyAtomTable(hAtomTbl : HATOMTBL) : HATOMTBL;[SYSTEM];
-    function WinAddAtom(hAtomTbl : HATOMTBL;pszAtomName : PSZ) : ATOM;[SYSTEM];
-    function WinFindAtom(hAtomTbl : HATOMTBL;pszAtomName : PSZ) : ATOM;[SYSTEM];
-    function WinDeleteAtom(hAtomTbl : HATOMTBL;atom : ATOM) : ATOM;[SYSTEM];
-    function WinQueryAtomUsage(hAtomTbl : HATOMTBL;atom : ATOM) : ULONG;[SYSTEM];
-    function WinQueryAtomLength(hAtomTbl : HATOMTBL;atom : ATOM) : ULONG;[SYSTEM];
-    function WinQueryAtomName(hAtomTbl : HATOMTBL;atom : ATOM;pchBuffer : PSZ;cchBufferMax : ULONG) : ULONG;[SYSTEM];
-    function WinGetLastError(hab : HAB) : ERRORID;[SYSTEM];
-    function WinGetErrorInfo(hab : HAB) : PERRINFO;[SYSTEM];
-    function WinFreeErrorInfo(perrinfo : PERRINFO) : BOOL;[SYSTEM];
-    function WinDdeInitiate(hwndClient : HWND;pszAppName : PSZ;pszTopicName : PSZ;pcctxt : PCONVCONTEXT) : BOOL;[SYSTEM];
-    function WinDdeRespond(hwndClient : HWND;hwndServer : HWND;pszAppName : PSZ;pszTopicName : PSZ;pcctxt : PCONVCONTEXT) : MRESULT;[SYSTEM];
-    function WinDdePostMsg(hwndTo : HWND;hwndFrom : HWND;wm : ULONG;pddest : PDDESTRUCT;flOptions : ULONG) : BOOL;[SYSTEM];
-    function WinDeleteProcedure(hab : HAB;wndproc : PFNWP) : BOOL;[SYSTEM];
-    function WinDeleteLibrary(hab : HAB;libhandle : HLIB) : BOOL;[SYSTEM];
-    function WinLoadProcedure(hab : HAB;libhandle : HLIB;procname : PSZ) : PFNWP;[SYSTEM];
-    function WinLoadLibrary(hab : HAB;libname : PSZ) : HLIB;[SYSTEM];
-    function WinSetDesktopBkgnd(hwndDesktop : HWND;pdskNew : PDESKTOP) : HBITMAP;[SYSTEM];
-    function WinQueryDesktopBkgnd(hwndDesktop : HWND;pdsk : PDESKTOP) : BOOL;[SYSTEM];
-    function WinRealizePalette(hwnd : HWND;hps : HPS;pcclr : PULONG) : LONG;[SYSTEM];
-
-    function HWNDFROMMP(mp : MPARAM) : HWND;
-
-      begin
-         HWNDFROMMP:=HWND(mp);
-      end;
-
-    function SHORT1FROMMP(mp : MPARAM) : USHORT;
-
-      begin
-         SHORT1FROMMP:=lo(ULONG(mp));
-      end;
-
-    function SHORT2FROMMP(mp : MPARAM) : USHORT;
-
-      begin
-         SHORT2FROMMP:=hi(ULONG(mp));
-      end;
-
-end.
+{****************************************************************************
+
+                   Copyright (c) 1993,94 by Florian Kl„mpfl
+                  
+ ****************************************************************************}
+unit pmwin;
+
+  interface
+
+    uses
+       os2def;    
+
+    type
+       QVERSDATA = record
+          environment : word;
+          version : word;
+       end;
+       PQVERSDATA = ^QVERSDATA;
+       SWP = record
+          fl : cardinal;
+          cy : longint;
+          cx : longint;
+          y : longint;
+          x : longint;
+          hwndInsertBehind : cardinal;
+          hwnd : cardinal;
+          ulReserved1 : cardinal;
+          ulReserved2 : cardinal;
+       end;
+       PSWP = ^SWP;
+       CREATESTRUCT = record
+          pPresParams : pointer;
+          pCtlData : pointer;
+          id : cardinal;
+          hwndInsertBehind : cardinal;
+          hwndOwner : cardinal;
+          cy : longint;
+          cx : longint;
+          y : longint;
+          x : longint;
+          flStyle : cardinal;
+          pszText : pshortint;
+          pszClass : pshortint;
+          hwndParent : cardinal;
+       end;
+       PCREATESTRUCT = ^CREATESTRUCT;
+       CLASSINFO = record
+          flClassStyle : cardinal;
+          pfnWindowProc : ppointer;
+          cbWindowData : cardinal;
+       end;
+       PCLASSINFO = ^CLASSINFO;
+       QMSG = record
+          hwnd : cardinal;
+          msg : cardinal;
+          mp1 : pointer;
+          mp2 : pointer;
+          time : cardinal;
+          ptl : POINTL;
+          reserved : cardinal;
+       end;
+       PQMSG = ^QMSG;
+       MQINFO = record
+          cb : cardinal;
+          pid : cardinal;
+          tid : cardinal;
+          cmsgs : cardinal;
+          pReserved : pointer;
+       end;
+       PMQINFO = ^MQINFO;
+       WNDPARAMS = record
+          fsStatus : cardinal;
+          cchText : cardinal;
+          pszText : pshortint;
+          cbPresParams : cardinal;
+          pPresParams : pointer;
+          cbCtlData : cardinal;
+          pCtlData : pointer;
+       end;    
+       PWNDPARAMS = ^WNDPARAMS;
+       USERBUTTON = record
+          hwnd : cardinal;
+          hps : cardinal;
+          fsState : cardinal;
+          fsStateOld : cardinal;
+       end;
+       PUSERBUTTON = ^USERBUTTON;
+       OWNERITEM = record
+          hwnd : cardinal;
+          hps : cardinal;
+          fsState : cardinal;
+          fsAttribute : cardinal;
+          fsStateOld : cardinal;
+          fsAttributeOld : cardinal;
+          rclItem : RECTL;
+          idItem : longint;
+          hItem : cardinal;
+       end;     
+       POWNERITEM = ^OWNERITEM;
+       PARAM = record
+          id : cardinal;
+          cb : cardinal;
+          ab : array[0..1-1] of BYTE;
+       end;
+       PPARAM = ^PARAM;
+       PRESPARAMS = record
+          cb : cardinal;
+          aparam : array[0..1-1] of PARAM;
+       end;
+       PPRESPARAMS = ^PRESPARAMS;
+       TRACKINFO = record
+          cxBorder : longint;
+          cyBorder : longint;
+          cxGrid : longint;
+          cyGrid : longint;
+          cxKeyboard : longint;
+          cyKeyboard : longint;
+          rclTrack : RECTL;
+          rclBoundary : RECTL;
+          ptlMinTrackSize : POINTL;
+          ptlMaxTrackSize : POINTL;
+          fs : cardinal;
+       end;          
+       PTRACKINFO = ^TRACKINFO;
+       CURSORINFO = record
+          hwnd : cardinal;
+          x : longint;
+          y : longint;
+          cx : longint;
+          cy : longint;
+          fs : cardinal;
+          rclClip : RECTL;
+       end;
+       PCURSORINFO = ^CURSORINFO;
+       POINTERINFO = record
+          fPointer : cardinal;
+          xHotspot : longint;
+          yHotspot : longint;
+          hbmPointer : cardinal;
+          hbmColor : cardinal;
+          hbmMiniPointer : cardinal;
+          hbmMiniColor : cardinal;
+       end;
+       PPOINTERINFO = ^POINTERINFO;
+       SMHSTRUCT = record
+          mp2 : pointer;
+          mp1 : pointer;
+          msg : cardinal;
+          hwnd : cardinal;
+          model : cardinal;
+       end;
+       PSMHSTRUCT = ^SMHSTRUCT;
+       ERRINFO = record
+          cbFixedErrInfo : cardinal;
+          idError : cardinal;
+          cDetailLevel : cardinal;
+          offaoffszMsg : cardinal;
+          offBinaryData : cardinal;
+       end;
+       PERRINFO = ^ERRINFO;
+       CONVCONTEXT = record
+          cb : cardinal;
+          fsContext : cardinal;
+          idCountry : cardinal;
+          usCodepage : cardinal;
+          usLangID : cardinal;
+          usSubLangID : cardinal;
+       end;
+       PCONVCONTEXT = ^CONVCONTEXT;
+       DDEINIT = record
+          cb : cardinal;
+          pszAppName : pshortint;
+          pszTopic : pshortint;
+          offConvContext : cardinal;
+       end;
+       PDDEINIT = ^DDEINIT;
+       DDESTRUCT = record
+          cbData : cardinal;
+          fsStatus : word;
+          usFormat : word;
+          offszItemName : word;
+          offabData : word;
+       end;                
+       PDDESTRUCT = ^DDESTRUCT;
+       DESKTOP = record
+          cbSize : cardinal;
+          hbm : cardinal;
+          x : longint;
+          y : longint;
+          fl : cardinal;
+          lTileCount : longint;
+          szFile : array[0..260-1] of shortint;
+       end;
+       PDESKTOP = ^DESKTOP;
+{$PACKRECORDS 1}  
+       CMDMSG = record
+          cmd : word;
+          unused : word;
+          source : word;
+          fMouse : word;
+       end;
+       PCMDMSG = ^CMDMSG;
+       MSEMSG = record
+          x : integer;
+          y : integer;
+          codeHitTest : word;
+          fsInp : word;
+       end;   
+       PMSEMSG = ^MSEMSG;
+       CHRMSG = record
+          fs : word;
+          cRepeat : byte;
+          scancode : byte;
+          chr : word;
+          vkey : word;
+       end;              
+       PCHRMSG = ^CHRMSG;
+{$PACKRECORDS NORMAL}
+
+{$PACKRECORDS 2}
+    DLGTITEM = record
+          fsItemStatus : word;
+          cChildren : word;
+          cchClassName : word;
+          offClassName : word;
+          cchText : word;
+          offText : word;
+          flStyle : cardinal;
+          x : integer;
+          y : integer;
+          cx : integer;
+          cy : integer;
+          id : word;
+          offPresParams : word;
+          offCtlData : word;
+       end;     
+       PDLGTITEM = ^DLGTITEM;    
+       DLGTEMPLATE = record
+          cbTemplate : word;
+          _type : word;
+          codepage : word;
+          offadlgti : word;
+          fsTemplateStatus : word;
+          iItemFocus : word;
+          coffPresParams : word;
+          adlgti : array[0..0] of DLGTITEM;
+       end;
+       PDLGTEMPLATE = ^DLGTEMPLATE;
+       BTNCDATA = record
+          cb : word;
+          fsCheckState : word;
+          fsHiliteState : word;
+          hImage : cardinal;
+       end;
+       PBTNCDATA = ^BTNCDATA;  
+       ENTRYFDATA = record
+          cb : word;
+          cchEditLimit : word;
+          ichMinSel : word;
+          ichMaxSel : word;
+       end;                
+       PENTRYFDATA = ^ENTRYFDATA;
+       MENUITEM = record
+          iPosition : integer;
+          afStyle : word;
+          afAttribute : word;
+          id : word;
+          hwndSubMenu : cardinal;
+          hItem : cardinal;
+       end;
+       PMENUITEM = ^MENUITEM;
+       SBCDATA = record
+          cb : word;
+          sHilite : word;
+          posFirst : integer;
+          posLast : integer;
+          posThumb : integer;
+          cVisible : integer;
+          cTotal : integer;
+       end;
+       PSBCDATA = ^SBCDATA;
+       FRAMECDATA = record
+          cb : word;
+          flCreateFlags : cardinal;
+          hmodResources : word;
+          idResources : word;
+       end;
+       PFRAMECDATA = ^FRAMECDATA;
+       ACCEL = record
+          fs : word;
+          key : word;
+          cmd : word;
+       end;
+       PACCEL = ^ACCEL;
+       ACCELTABLE = record
+          cAccel : word;
+          codepage : word;
+          aaccel : array[0..1-1] of ACCEL;
+       end;            
+       PACCELTABLE = ^ACCELTABLE; 
+       MFP = record
+          sizeBounds : POINTL;
+          sizeMM : POINTL;
+          cbLength : cardinal;
+          mapMode : word;
+          reserved : word;
+          abData : array[0..1-1] of BYTE;
+       end;
+       PMFP = ^MFP;
+       CPTEXT = record
+          idCountry : word;
+          usCodepage : word;
+          usLangID : word;
+          usSubLangID : word;
+          abText : array[0..1-1] of BYTE;
+       end;
+       PCPTEXT = ^CPTEXT;
+{$PACKRECORDS NORMAL}
+
+
+const
+       WS_VISIBLE = $80000000;
+       WS_DISABLED = $40000000;
+       WS_CLIPCHILDREN = $20000000;
+       WS_CLIPSIBLINGS = $10000000;
+       WS_PARENTCLIP = $08000000;
+       WS_SAVEBITS = $04000000;
+       WS_SYNCPAINT = $02000000;
+       WS_MINIMIZED = $01000000;
+       WS_MAXIMIZED = $00800000;
+       WS_ANIMATE = $00400000;
+       WS_GROUP = $00010000;
+       WS_TABSTOP = $00020000;
+       WS_MULTISELECT = $00040000;
+       CS_MOVENOTIFY = $00000001;
+       CS_SIZEREDRAW = $00000004;
+       CS_HITTEST = $00000008;
+       CS_PUBLIC = $00000010;
+       CS_FRAME = $00000020;
+       CS_CLIPCHILDREN = $20000000;
+       CS_CLIPSIBLINGS = $10000000;
+       CS_PARENTCLIP = $08000000;
+       CS_SAVEBITS = $04000000;
+       CS_SYNCPAINT = $02000000;
+
+       HWND_DESKTOP = 1;
+       HWND_OBJECT = 2;
+       HWND_TOP = 3;
+       HWND_BOTTOM = 4;
+       HWND_THREADCAPTURE = 5;
+
+       PSF_LOCKWINDOWUPDATE = $0001;
+       PSF_CLIPUPWARDS = $0002;
+       PSF_CLIPDOWNWARDS = $0004;
+       PSF_CLIPSIBLINGS = $0008;
+       PSF_CLIPCHILDREN = $0010;
+       PSF_PARENTCLIP = $0020;
+       SW_SCROLLCHILDREN = $0001;
+       SW_INVALIDATERGN = $0002;
+
+       QV_OS2 = $0000;
+       QV_CMS = $0001;
+       QV_TSO = $0002;
+       QV_TSOBATCH = $0003;
+       QV_OS400 = $0004;
+
+       QW_NEXT = 0;
+       QW_PREV = 1;
+       QW_TOP = 2;
+       QW_BOTTOM = 3;
+       QW_OWNER = 4;
+       QW_PARENT = 5;
+       QW_NEXTTOP = 6;
+       QW_PREVTOP = 7;
+       QW_FRAMEOWNER = 8;
+
+       AWP_MINIMIZED = $00010000;
+       AWP_MAXIMIZED = $00020000;
+       AWP_RESTORED = $00040000;
+       AWP_ACTIVATE = $00080000;
+       AWP_DEACTIVATE = $00100000;
+       SWP_SIZE = $0001;
+       SWP_MOVE = $0002;
+       SWP_ZORDER = $0004;
+       SWP_SHOW = $0008;
+       SWP_HIDE = $0010;
+       SWP_NOREDRAW = $0020;
+       SWP_NOADJUST = $0040;
+       SWP_ACTIVATE = $0080;
+       SWP_DEACTIVATE = $0100;
+       SWP_EXTSTATECHANGE = $0200;
+       SWP_MINIMIZE = $0400;
+       SWP_MAXIMIZE = $0800;
+       SWP_RESTORE = $1000;
+       SWP_FOCUSACTIVATE = $2000;
+       SWP_FOCUSDEACTIVATE = $4000;
+       SWP_NOAUTOCLOSE = $8000;
+
+       DBM_NORMAL = $0000;
+       DBM_INVERT = $0001;
+       DBM_HALFTONE = $0002;
+       DBM_STRETCH = $0004;
+       DBM_IMAGEATTRS = $0008;
+
+       DT_LEFT = $0000;
+       DT_QUERYEXTENT = $0002;
+       DT_UNDERSCORE = $0010;
+       DT_STRIKEOUT = $0020;
+       DT_TEXTATTRS = $0040;
+       DT_EXTERNALLEADING = $0080;
+       DT_CENTER = $0100;
+       DT_RIGHT = $0200;
+       DT_TOP = $0000;
+       DT_VCENTER = $0400;
+       DT_BOTTOM = $0800;
+       DT_HALFTONE = $1000;
+       DT_MNEMONIC = $2000;
+       DT_WORDBREAK = $4000;
+       DT_ERASERECT = $8000;
+
+       DB_PATCOPY = $0000;
+       DB_PATINVERT = $0001;
+       DB_DESTINVERT = $0002;
+       DB_AREAMIXMODE = $0003;
+       DB_ROP = $0007;
+       DB_INTERIOR = $0008;
+       DB_AREAATTRS = $0010;
+       DB_STANDARD = $0100;
+       DB_DLGBORDER = $0200;
+
+       QWS_USER = 0;
+       QWS_ID = -1;
+       QWS_MIN = -1;
+       QWL_USER = 0;
+       QWL_STYLE = -2;
+       QWP_PFNWP = -3;
+       QWL_HMQ = -4;
+       QWL_RESERVED = -5;
+       QWL_MIN = -6;
+       QWL_HHEAP = $0004;
+       QWL_HWNDFOCUSSAVE = $0018;
+       QWL_DEFBUTTON = $0040;
+       QWL_PSSCBLK = $0048;
+       QWL_PFEPBLK = $004c;
+       QWL_PSTATBLK = $0050;
+       QWS_FLAGS = $0008;
+       QWS_RESULT = $000a;
+       QWS_XRESTORE = $000c;
+       QWS_YRESTORE = $000e;
+       QWS_CXRESTORE = $0010;
+       QWS_CYRESTORE = $0012;
+       QWS_XMINIMIZE = $0014;
+       QWS_YMINIMIZE = $0016;
+
+       WM_NULL = $0000;
+       WM_CREATE = $0001;
+       WM_DESTROY = $0002;
+       WM_ENABLE = $0004;
+       WM_SHOW = $0005;
+       WM_MOVE = $0006;
+       WM_SIZE = $0007;
+       WM_ADJUSTWINDOWPOS = $0008;
+       WM_CALCVALIDRECTS = $0009;
+       WM_SETWINDOWPARAMS = $000a;
+       WM_QUERYWINDOWPARAMS = $000b;
+       WM_HITTEST = $000c;
+       WM_ACTIVATE = $000d;
+       WM_SETFOCUS = $000f;
+       WM_SETSELECTION = $0010;
+       WM_PPAINT = $0011;
+       WM_PSETFOCUS = $0012;
+       WM_PSYSCOLORCHANGE = $0013;
+       WM_PSIZE = $0014;
+       WM_PACTIVATE = $0015;
+       WM_PCONTROL = $0016;
+       WM_COMMAND = $0020;
+       WM_SYSCOMMAND = $0021;
+       WM_HELP = $0022;
+       WM_PAINT = $0023;
+       WM_TIMER = $0024;
+       WM_SEM1 = $0025;
+       WM_SEM2 = $0026;
+       WM_SEM3 = $0027;
+       WM_SEM4 = $0028;
+       WM_CLOSE = $0029;
+       WM_QUIT = $002a;
+       WM_SYSCOLORCHANGE = $002b;
+       WM_SYSVALUECHANGED = $002d;
+       WM_APPTERMINATENOTIFY = $002e;
+       WM_PRESPARAMCHANGED = $002f;
+       WM_CONTROL = $0030;
+       WM_VSCROLL = $0031;
+       WM_HSCROLL = $0032;
+       WM_INITMENU = $0033;
+       WM_MENUSELECT = $0034;
+       WM_MENUEND = $0035;
+       WM_DRAWITEM = $0036;
+       WM_MEASUREITEM = $0037;
+       WM_CONTROLPOINTER = $0038;
+       WM_QUERYDLGCODE = $003a;
+       WM_INITDLG = $003b;
+       WM_SUBSTITUTESTRING = $003c;
+       WM_MATCHMNEMONIC = $003d;
+       WM_SAVEAPPLICATION = $003e;
+       WM_HELPBASE = $0F00;
+       WM_HELPTOP = $0FFF;
+       WM_USER = $1000;
+       CMDSRC_PUSHBUTTON = 1;
+       CMDSRC_MENU = 2;
+       CMDSRC_ACCELERATOR = 3;
+       CMDSRC_FONTDLG = 4;
+       CMDSRC_FILEDLG = 5;
+       CMDSRC_PRINTDLG = 6;
+       CMDSRC_COLORDLG = 7;
+       CMDSRC_OTHER = 0;
+
+       PM_REMOVE = $0001;
+       PM_NOREMOVE = $0000;
+       RUM_IN = 1;
+       RUM_OUT = 2;
+       RUM_INOUT = 3;
+       SMD_DELAYED = $0001;
+       SMD_IMMEDIATE = $0002;
+       SSM_SYNCHRONOUS = $0001;
+       SSM_ASYNCHRONOUS = $0002;
+       SSM_MIXED = $0003;
+       CVR_ALIGNLEFT = $0001;
+       CVR_ALIGNBOTTOM = $0002;
+       CVR_ALIGNRIGHT = $0004;
+       CVR_ALIGNTOP = $0008;
+       CVR_REDRAW = $0010;
+       HT_NORMAL = 0;
+       HT_TRANSPARENT = (-1);
+       HT_DISCARD = (-2);
+       HT_ERROR = (-3);
+
+       WPM_TEXT = $0001;
+       WPM_CTLDATA = $0002;
+       WPM_PRESPARAMS = $0004;
+       WPM_CCHTEXT = $0008;
+       WPM_CBCTLDATA = $0010;
+       WPM_CBPRESPARAMS = $0020;
+
+       BMSG_POST = $0000;
+       BMSG_SEND = $0001;
+       BMSG_POSTQUEUE = $0002;
+       BMSG_DESCENDANTS = $0004;
+       BMSG_FRAMEONLY = $0008;
+
+       QS_KEY = $0001;
+       QS_MOUSEBUTTON = $0002;
+       QS_MOUSEMOVE = $0004;
+       QS_MOUSE = $0006;
+       QS_TIMER = $0008;
+       QS_PAINT = $0010;
+       QS_POSTMSG = $0020;
+       QS_SEM1 = $0040;
+       QS_SEM2 = $0080;
+       QS_SEM3 = $0100;
+       QS_SEM4 = $0200;
+       QS_SENDMSG = $0400;
+
+       SMIM_ALL = $0EFF;
+       SMI_NOINTEREST = $0001;
+       SMI_INTEREST = $0002;
+       SMI_RESET = $0004;
+       SMI_AUTODISPATCH = $0008;
+
+       FC_NOSETFOCUS = $0001;
+       FC_NOBRINGTOTOP = FC_NOSETFOCUS;
+       FC_NOLOSEFOCUS = $0002;
+       FC_NOBRINGTOPFIRSTWINDOW = FC_NOLOSEFOCUS;
+       FC_NOSETACTIVE = $0004;
+       FC_NOLOSEACTIVE = $0008;
+       FC_NOSETSELECTION = $0010;
+       FC_NOLOSESELECTION = $0020;
+       QFC_NEXTINCHAIN = $0001;
+       QFC_ACTIVE = $0002;
+       QFC_FRAME = $0003;
+       QFC_SELECTACTIVE = $0004;
+       QFC_PARTOFCHAIN = $0005;
+
+       WM_MOUSEFIRST = $0070;
+       WM_MOUSELAST = $0079;
+       WM_BUTTONCLICKFIRST = $0071;
+       WM_BUTTONCLICKLAST = $0079;
+       WM_MOUSEMOVE = $0070;
+       WM_BUTTON1DOWN = $0071;
+       WM_BUTTON1UP = $0072;
+       WM_BUTTON1DBLCLK = $0073;
+       WM_BUTTON2DOWN = $0074;
+       WM_BUTTON2UP = $0075;
+       WM_BUTTON2DBLCLK = $0076;
+       WM_BUTTON3DOWN = $0077;
+       WM_BUTTON3UP = $0078;
+       WM_BUTTON3DBLCLK = $0079;
+       WM_EXTMOUSEFIRST = $0410;
+       WM_EXTMOUSELAST = $0419;
+       WM_CHORD = $0410;
+       WM_BUTTON1MOTIONSTART = $0411;
+       WM_BUTTON1MOTIONEND = $0412;
+       WM_BUTTON1CLICK = $0413;
+       WM_BUTTON2MOTIONSTART = $0414;
+       WM_BUTTON2MOTIONEND = $0415;
+       WM_BUTTON2CLICK = $0416;
+       WM_BUTTON3MOTIONSTART = $0417;
+       WM_BUTTON3MOTIONEND = $0418;
+       WM_BUTTON3CLICK = $0419;
+       WM_MOUSETRANSLATEFIRST = $0420;
+       WM_MOUSETRANSLATELAST = $0428;
+       WM_BEGINDRAG = $0420;
+       WM_ENDDRAG = $0421;
+       WM_SINGLESELECT = $0422;
+       WM_OPEN = $0423;
+       WM_CONTEXTMENU = $0424;
+       WM_CONTEXTHELP = $0425;
+       WM_TEXTEDIT = $0426;
+       WM_BEGINSELECT = $0427;
+       WM_ENDSELECT = $0428;
+
+       WM_CHAR = $007a;
+       WM_VIOCHAR = $007b;
+       KC_NONE = $0000;
+       KC_CHAR = $0001;
+       KC_VIRTUALKEY = $0002;
+       KC_SCANCODE = $0004;
+       KC_SHIFT = $0008;
+       KC_CTRL = $0010;
+       KC_ALT = $0020;
+       KC_KEYUP = $0040;
+       KC_PREVDOWN = $0080;
+       KC_LONEKEY = $0100;
+       KC_DEADKEY = $0200;
+       KC_COMPOSITE = $0400;
+       KC_INVALIDCOMP = $0800;
+       KC_TOGGLE = $1000;
+       KC_INVALIDCHAR = $2000;
+       KC_DBCSRSRVD1 = $4000;
+       KC_DBCSRSRVD2 = $8000;
+
+       INP_NONE = $0000;
+       INP_KBD = $0001;
+       INP_MULT = $0002;
+       INP_RES2 = $0004;
+       INP_SHIFT = $0008;
+       INP_CTRL = $0010;
+       INP_ALT = $0020;
+       INP_RES3 = $0040;
+       INP_RES4 = $0080;
+       INP_IGNORE = $FFFF;
+       VK_BUTTON1 = $01;
+       VK_BUTTON2 = $02;
+       VK_BUTTON3 = $03;
+       VK_BREAK = $04;
+       VK_BACKSPACE = $05;
+       VK_TAB = $06;
+       VK_BACKTAB = $07;
+       VK_NEWLINE = $08;
+       VK_SHIFT = $09;
+       VK_CTRL = $0A;
+       VK_ALT = $0B;
+       VK_ALTGRAF = $0C;
+       VK_PAUSE = $0D;
+       VK_CAPSLOCK = $0E;
+       VK_ESC = $0F;
+       VK_SPACE = $10;
+       VK_PAGEUP = $11;
+       VK_PAGEDOWN = $12;
+       VK_END = $13;
+       VK_HOME = $14;
+       VK_LEFT = $15;
+       VK_UP = $16;
+       VK_RIGHT = $17;
+       VK_DOWN = $18;
+       VK_PRINTSCRN = $19;
+       VK_INSERT = $1A;
+       VK_DELETE = $1B;
+       VK_SCRLLOCK = $1C;
+       VK_NUMLOCK = $1D;
+       VK_ENTER = $1E;
+       VK_SYSRQ = $1F;
+       VK_F1 = $20;
+       VK_F2 = $21;
+       VK_F3 = $22;
+       VK_F4 = $23;
+       VK_F5 = $24;
+       VK_F6 = $25;
+       VK_F7 = $26;
+       VK_F8 = $27;
+       VK_F9 = $28;
+       VK_F10 = $29;
+       VK_F11 = $2A;
+       VK_F12 = $2B;
+       VK_F13 = $2C;
+       VK_F14 = $2D;
+       VK_F15 = $2E;
+       VK_F16 = $2F;
+       VK_F17 = $30;
+       VK_F18 = $31;
+       VK_F19 = $32;
+       VK_F20 = $33;
+       VK_F21 = $34;
+       VK_F22 = $35;
+       VK_F23 = $36;
+       VK_F24 = $37;
+       VK_ENDDRAG = $38;
+       VK_MENU = VK_F10;
+       VK_DBCSFIRST = $0080;
+       VK_DBCSLAST = $00ff;
+       VK_USERFIRST = $0100;
+       VK_USERLAST = $01ff;
+
+       WM_JOURNALNOTIFY = $007c;
+       JRN_QUEUESTATUS = $00000001;
+       JRN_PHYSKEYSTATE = $00000002;
+
+       DID_OK = 1;
+       DID_CANCEL = 2;
+       DID_ERROR = $ffff;
+
+       WA_WARNING = 0;
+       WA_NOTE = 1;
+       WA_ERROR = 2;
+       WA_CWINALARMS = 3;
+
+       MB_OK = $0000;
+       MB_OKCANCEL = $0001;
+       MB_RETRYCANCEL = $0002;
+       MB_ABORTRETRYIGNORE = $0003;
+       MB_YESNO = $0004;
+       MB_YESNOCANCEL = $0005;
+       MB_CANCEL = $0006;
+       MB_ENTER = $0007;
+       MB_ENTERCANCEL = $0008;
+       MB_NOICON = $0000;
+       MB_CUANOTIFICATION = $0000;
+       MB_ICONQUESTION = $0010;
+       MB_ICONEXCLAMATION = $0020;
+       MB_CUAWARNING = $0020;
+       MB_ICONASTERISK = $0030;
+       MB_ICONHAND = $0040;
+       MB_CUACRITICAL = $0040;
+       MB_QUERY = MB_ICONQUESTION;
+       MB_WARNING = MB_CUAWARNING;
+       MB_INFORMATION = MB_ICONASTERISK;
+       MB_CRITICAL = MB_CUACRITICAL;
+       MB_ERROR = MB_CRITICAL;
+       MB_DEFBUTTON1 = $0000;
+       MB_DEFBUTTON2 = $0100;
+       MB_DEFBUTTON3 = $0200;
+       MB_APPLMODAL = $0000;
+       MB_SYSTEMMODAL = $1000;
+       MB_HELP = $2000;
+       MB_MOVEABLE = $4000;
+       MBID_OK = 1;
+       MBID_CANCEL = 2;
+       MBID_ABORT = 3;
+       MBID_RETRY = 4;
+       MBID_IGNORE = 5;
+       MBID_YES = 6;
+       MBID_NO = 7;
+       MBID_HELP = 8;
+       MBID_ENTER = 9;
+       MBID_ERROR = $ffff;
+       DLGC_ENTRYFIELD = $0001;
+       DLGC_BUTTON = $0002;
+       DLGC_RADIOBUTTON = $0004;
+       DLGC_STATIC = $0008;
+       DLGC_DEFAULT = $0010;
+       DLGC_PUSHBUTTON = $0020;
+       DLGC_CHECKBOX = $0040;
+       DLGC_SCROLLBAR = $0080;
+       DLGC_MENU = $0100;
+       DLGC_TABONCLICK = $0200;
+       DLGC_MLE = $0400;
+
+       EDI_FIRSTTABITEM = 0;
+       EDI_LASTTABITEM = 1;
+       EDI_NEXTTABITEM = 2;
+       EDI_PREVTABITEM = 3;
+       EDI_FIRSTGROUPITEM = 4;
+       EDI_LASTGROUPITEM = 5;
+       EDI_NEXTGROUPITEM = 6;
+       EDI_PREVGROUPITEM = 7;
+
+       SS_TEXT = $0001;
+       SS_GROUPBOX = $0002;
+       SS_ICON = $0003;
+       SS_BITMAP = $0004;
+       SS_FGNDRECT = $0005;
+       SS_HALFTONERECT = $0006;
+       SS_BKGNDRECT = $0007;
+       SS_FGNDFRAME = $0008;
+       SS_HALFTONEFRAME = $0009;
+       SS_BKGNDFRAME = $000a;
+       SS_SYSICON = $000b;
+       SS_AUTOSIZE = $0040;
+       SM_SETHANDLE = $0100;
+       SM_QUERYHANDLE = $0101;
+       BS_PUSHBUTTON = 0;
+       BS_CHECKBOX = 1;
+       BS_AUTOCHECKBOX = 2;
+       BS_RADIOBUTTON = 3;
+       BS_AUTORADIOBUTTON = 4;
+       BS_3STATE = 5;
+       BS_AUTO3STATE = 6;
+       BS_USERBUTTON = 7;
+       BS_PRIMARYSTYLES = $000f;
+       BS_BITMAP = $0040;
+       BS_ICON = $0080;
+       BS_HELP = $0100;
+       BS_SYSCOMMAND = $0200;
+       BS_DEFAULT = $0400;
+       BS_NOPOINTERFOCUS = $0800;
+       BS_NOBORDER = $1000;
+       BS_NOCURSORSELECT = $2000;
+       BS_AUTOSIZE = $4000;
+
+       BM_CLICK = $0120;
+       BM_QUERYCHECKINDEX = $0121;
+       BM_QUERYHILITE = $0122;
+       BM_SETHILITE = $0123;
+       BM_QUERYCHECK = $0124;
+       BM_SETCHECK = $0125;
+       BM_SETDEFAULT = $0126;
+       BN_CLICKED = 1;
+       BN_DBLCLICKED = 2;
+       BN_PAINT = 3;
+       BDS_HILITED = $0100;
+       BDS_DISABLED = $0200;
+       BDS_DEFAULT = $0400;
+       ES_LEFT = $00000000;
+       ES_CENTER = $00000001;
+       ES_RIGHT = $00000002;
+       ES_AUTOSCROLL = $00000004;
+       ES_MARGIN = $00000008;
+       ES_AUTOTAB = $00000010;
+       ES_READONLY = $00000020;
+       ES_COMMAND = $00000040;
+       ES_UNREADABLE = $00000080;
+       ES_AUTOSIZE = $00000200;
+       ES_ANY = $00000000;
+       ES_SBCS = $00001000;
+       ES_DBCS = $00002000;
+       ES_MIXED = $00003000;
+       CBS_SIMPLE = $0001;
+       CBS_DROPDOWN = $0002;
+       CBS_DROPDOWNLIST = $0004;
+       CBS_COMPATIBLE = $0008;
+       CBID_LIST = $029A;
+       CBID_EDIT = $029B;
+       CBM_SHOWLIST = $0170;
+       CBM_HILITE = $0171;
+       CBM_ISLISTSHOWING = $0172;
+       CBN_EFCHANGE = 1;
+       CBN_EFSCROLL = 2;
+       CBN_MEMERROR = 3;
+       CBN_LBSELECT = 4;
+       CBN_LBSCROLL = 5;
+       CBN_SHOWLIST = 6;
+       CBN_ENTER = 7;
+
+       EM_QUERYCHANGED = $0140;
+       EM_QUERYSEL = $0141;
+       EM_SETSEL = $0142;
+       EM_SETTEXTLIMIT = $0143;
+       EM_CUT = $0144;
+       EM_COPY = $0145;
+       EM_CLEAR = $0146;
+       EM_PASTE = $0147;
+       EM_QUERYFIRSTCHAR = $0148;
+       EM_SETFIRSTCHAR = $0149;
+       EM_QUERYREADONLY = $014a;
+       EM_SETREADONLY = $014b;
+       EM_SETINSERTMODE = $014c;
+       EN_SETFOCUS = $0001;
+       EN_KILLFOCUS = $0002;
+       EN_CHANGE = $0004;
+       EN_SCROLL = $0008;
+       EN_MEMERROR = $0010;
+       EN_OVERFLOW = $0020;
+       EN_INSERTMODETOGGLE = $0040;
+       LS_MULTIPLESEL = $00000001;
+       LS_OWNERDRAW = $00000002;
+       LS_NOADJUSTPOS = $00000004;
+       LS_HORZSCROLL = $00000008;
+       LS_EXTENDEDSEL = $00000010;
+       LN_SELECT = 1;
+       LN_SETFOCUS = 2;
+       LN_KILLFOCUS = 3;
+       LN_SCROLL = 4;
+       LN_ENTER = 5;
+       LM_QUERYITEMCOUNT = $0160;
+       LM_INSERTITEM = $0161;
+       LM_SETTOPINDEX = $0162;
+       LM_DELETEITEM = $0163;
+       LM_SELECTITEM = $0164;
+       LM_QUERYSELECTION = $0165;
+       LM_SETITEMTEXT = $0166;
+       LM_QUERYITEMTEXTLENGTH = $0167;
+       LM_QUERYITEMTEXT = $0168;
+       LM_SETITEMHANDLE = $0169;
+       LM_QUERYITEMHANDLE = $016a;
+       LM_SEARCHSTRING = $016b;
+       LM_SETITEMHEIGHT = $016c;
+       LM_QUERYTOPINDEX = $016d;
+       LM_DELETEALL = $016e;
+       LIT_CURSOR = (-4);
+       LIT_ERROR = (-3);
+       LIT_MEMERROR = (-2);
+       LIT_NONE = (-1);
+       LIT_FIRST = (-1);
+       LIT_END = (-1);
+       LIT_SORTASCENDING = (-2);
+       LIT_SORTDESCENDING = (-3);
+       LSS_SUBSTRING = $0001;
+       LSS_PREFIX = $0002;
+       LSS_CASESENSITIVE = $0004;
+       MS_ACTIONBAR = $00000001;
+       MS_TITLEBUTTON = $00000002;
+       MS_VERTICALFLIP = $00000004;
+       MS_CONDITIONALCASCADE = $00000040;
+
+       MM_INSERTITEM = $0180;
+       MM_DELETEITEM = $0181;
+       MM_QUERYITEM = $0182;
+       MM_SETITEM = $0183;
+       MM_QUERYITEMCOUNT = $0184;
+       MM_STARTMENUMODE = $0185;
+       MM_ENDMENUMODE = $0186;
+       MM_REMOVEITEM = $0188;
+       MM_SELECTITEM = $0189;
+       MM_QUERYSELITEMID = $018a;
+       MM_QUERYITEMTEXT = $018b;
+       MM_QUERYITEMTEXTLENGTH = $018c;
+       MM_SETITEMHANDLE = $018d;
+       MM_SETITEMTEXT = $018e;
+       MM_ITEMPOSITIONFROMID = $018f;
+       MM_ITEMIDFROMPOSITION = $0190;
+       MM_QUERYITEMATTR = $0191;
+       MM_SETITEMATTR = $0192;
+       MM_ISITEMVALID = $0193;
+       MM_QUERYITEMRECT = $0194;
+       MM_QUERYDEFAULTITEMID = $0431;
+       MM_SETDEFAULTITEMID = $0432;
+
+       MIT_END = (-1);
+       MIT_NONE = (-1);
+       MIT_MEMERROR = (-1);
+       MIT_ERROR = (-1);
+       MIT_FIRST = (-2);
+       MIT_LAST = (-3);
+       MID_NONE = MIT_NONE;
+       MID_ERROR = (-1);
+       MIS_TEXT = $0001;
+       MIS_BITMAP = $0002;
+       MIS_SEPARATOR = $0004;
+       MIS_OWNERDRAW = $0008;
+       MIS_SUBMENU = $0010;
+       MIS_MULTMENU = $0020;
+       MIS_SYSCOMMAND = $0040;
+       MIS_HELP = $0080;
+       MIS_STATIC = $0100;
+       MIS_BUTTONSEPARATOR = $0200;
+       MIS_BREAK = $0400;
+       MIS_BREAKSEPARATOR = $0800;
+       MIS_GROUP = $1000;
+       MIS_SINGLE = $2000;
+       MIA_NODISMISS = $0020;
+       MIA_FRAMED = $1000;
+       MIA_CHECKED = $2000;
+       MIA_DISABLED = $4000;
+       MIA_HILITED = $8000;
+
+       PU_POSITIONONITEM = $0001;
+       PU_HCONSTRAIN = $0002;
+       PU_VCONSTRAIN = $0004;
+       PU_NONE = $0000;
+       PU_MOUSEBUTTON1DOWN = $0008;
+       PU_MOUSEBUTTON2DOWN = $0010;
+       PU_MOUSEBUTTON3DOWN = $0018;
+       PU_SELECTITEM = $0020;
+       PU_MOUSEBUTTON1 = $0040;
+       PU_MOUSEBUTTON2 = $0080;
+       PU_MOUSEBUTTON3 = $0100;
+       PU_KEYBOARD = $0200;
+       SBS_HORZ = 0;
+       SBS_VERT = 1;
+       SBS_THUMBSIZE = 2;
+       SBS_AUTOTRACK = 4;
+       SBS_AUTOSIZE = $2000;
+       SBM_SETSCROLLBAR = $01a0;
+       SBM_SETPOS = $01a1;
+       SBM_QUERYPOS = $01a2;
+       SBM_QUERYRANGE = $01a3;
+       SBM_SETTHUMBSIZE = $01a6;
+       SB_LINEUP = 1;
+       SB_LINEDOWN = 2;
+       SB_LINELEFT = 1;
+       SB_LINERIGHT = 2;
+       SB_PAGEUP = 3;
+       SB_PAGEDOWN = 4;
+       SB_PAGELEFT = 3;
+       SB_PAGERIGHT = 4;
+       SB_SLIDERTRACK = 5;
+       SB_SLIDERPOSITION = 6;
+       SB_ENDSCROLL = 7;
+
+       FCF_TITLEBAR = $00000001;
+       FCF_SYSMENU = $00000002;
+       FCF_MENU = $00000004;
+       FCF_SIZEBORDER = $00000008;
+       FCF_MINBUTTON = $00000010;
+       FCF_MAXBUTTON = $00000020;
+       FCF_MINMAX = $00000030;
+       FCF_VERTSCROLL = $00000040;
+       FCF_HORZSCROLL = $00000080;
+       FCF_DLGBORDER = $00000100;
+       FCF_BORDER = $00000200;
+       FCF_SHELLPOSITION = $00000400;
+       FCF_TASKLIST = $00000800;
+       FCF_NOBYTEALIGN = $00001000;
+       FCF_NOMOVEWITHOWNER = $00002000;
+       FCF_ICON = $00004000;
+       FCF_ACCELTABLE = $00008000;
+       FCF_SYSMODAL = $00010000;
+       FCF_SCREENALIGN = $00020000;
+       FCF_MOUSEALIGN = $00040000;
+       FCF_HIDEBUTTON = $01000000;
+       FCF_HIDEMAX = $01000020;
+       FCF_DBE_APPSTAT = $80000000;
+       FCF_AUTOICON = $40000000;
+       FCF_STANDARD = $0000CC3F;
+       FS_ICON = $00000001;
+       FS_ACCELTABLE = $00000002;
+       FS_SHELLPOSITION = $00000004;
+       FS_TASKLIST = $00000008;
+       FS_NOBYTEALIGN = $00000010;
+       FS_NOMOVEWITHOWNER = $00000020;
+       FS_SYSMODAL = $00000040;
+       FS_DLGBORDER = $00000080;
+       FS_BORDER = $00000100;
+       FS_SCREENALIGN = $00000200;
+       FS_MOUSEALIGN = $00000400;
+       FS_SIZEBORDER = $00000800;
+       FS_AUTOICON = $00001000;
+       FS_DBE_APPSTAT = $00008000;
+       FS_STANDARD = $0000000F;
+       FF_FLASHWINDOW = $0001;
+       FF_ACTIVE = $0002;
+       FF_FLASHHILITE = $0004;
+       FF_OWNERHIDDEN = $0008;
+       FF_DLGDISMISSED = $0010;
+       FF_OWNERDISABLED = $0020;
+       FF_SELECTED = $0040;
+       FF_NOACTIVATESWP = $0080;
+
+       WM_FLASHWINDOW = $0040;
+       WM_FORMATFRAME = $0041;
+       WM_UPDATEFRAME = $0042;
+       WM_FOCUSCHANGE = $0043;
+       WM_SETBORDERSIZE = $0044;
+       WM_TRACKFRAME = $0045;
+       WM_MINMAXFRAME = $0046;
+       WM_SETICON = $0047;
+       WM_QUERYICON = $0048;
+       WM_SETACCELTABLE = $0049;
+       WM_QUERYACCELTABLE = $004a;
+       WM_TRANSLATEACCEL = $004b;
+       WM_QUERYTRACKINFO = $004c;
+       WM_QUERYBORDERSIZE = $004d;
+       WM_NEXTMENU = $004e;
+       WM_ERASEBACKGROUND = $004f;
+       WM_QUERYFRAMEINFO = $0050;
+       WM_QUERYFOCUSCHAIN = $0051;
+       WM_OWNERPOSCHANGE = $0052;
+       WM_CALCFRAMERECT = $0053;
+       WM_WINDOWPOSCHANGED = $0055;
+       WM_ADJUSTFRAMEPOS = $0056;
+       WM_QUERYFRAMECTLCOUNT = $0059;
+       WM_QUERYHELPINFO = $005B;
+       WM_SETHELPINFO = $005C;
+       WM_ERROR = $005D;
+       WM_REALIZEPALETTE = $005E;
+       FI_FRAME = $00000001;
+       FI_OWNERHIDE = $00000002;
+       FI_ACTIVATEOK = $00000004;
+       FI_NOMOVEWITHOWNER = $00000008;
+
+       FID_SYSMENU = $8002;
+       FID_TITLEBAR = $8003;
+       FID_MINMAX = $8004;
+       FID_MENU = $8005;
+       FID_VERTSCROLL = $8006;
+       FID_HORZSCROLL = $8007;
+       FID_CLIENT = $8008;
+       FID_DBE_APPSTAT = $8010;
+       FID_DBE_KBDSTAT = $8011;
+       FID_DBE_PECIC = $8012;
+       FID_DBE_KKPOPUP = $8013;
+       SC_SIZE = $8000;
+       SC_MOVE = $8001;
+       SC_MINIMIZE = $8002;
+       SC_MAXIMIZE = $8003;
+       SC_CLOSE = $8004;
+       SC_NEXT = $8005;
+       SC_APPMENU = $8006;
+       SC_SYSMENU = $8007;
+       SC_RESTORE = $8008;
+       SC_NEXTFRAME = $8009;
+       SC_NEXTWINDOW = $8010;
+       SC_TASKMANAGER = $8011;
+       SC_HELPKEYS = $8012;
+       SC_HELPINDEX = $8013;
+       SC_HELPEXTENDED = $8014;
+       SC_SWITCHPANELIDS = $8015;
+       SC_DBE_FIRST = $8018;
+       SC_DBE_LAST = $801F;
+       SC_BEGINDRAG = $8020;
+       SC_ENDDRAG = $8021;
+       SC_SELECT = $8022;
+       SC_OPEN = $8023;
+       SC_CONTEXTMENU = $8024;
+       SC_CONTEXTHELP = $8025;
+       SC_TEXTEDIT = $8026;
+       SC_BEGINSELECT = $8027;
+       SC_ENDSELECT = $8028;
+       SC_WINDOW = $8029;
+       SC_HIDE = $802a;
+       TBM_SETHILITE = $01e3;
+       TBM_QUERYHILITE = $01e4;
+
+       SV_SWAPBUTTON = 0;
+       SV_DBLCLKTIME = 1;
+       SV_CXDBLCLK = 2;
+       SV_CYDBLCLK = 3;
+       SV_CXSIZEBORDER = 4;
+       SV_CYSIZEBORDER = 5;
+       SV_ALARM = 6;
+       SV_RESERVEDFIRST1 = 7;
+       SV_RESERVEDLAST1 = 8;
+       SV_CURSORRATE = 9;
+       SV_FIRSTSCROLLRATE = 10;
+       SV_SCROLLRATE = 11;
+       SV_NUMBEREDLISTS = 12;
+       SV_WARNINGFREQ = 13;
+       SV_NOTEFREQ = 14;
+       SV_ERRORFREQ = 15;
+       SV_WARNINGDURATION = 16;
+       SV_NOTEDURATION = 17;
+       SV_ERRORDURATION = 18;
+       SV_RESERVEDFIRST = 19;
+       SV_RESERVEDLAST = 19;
+       SV_CXSCREEN = 20;
+       SV_CYSCREEN = 21;
+       SV_CXVSCROLL = 22;
+       SV_CYHSCROLL = 23;
+       SV_CYVSCROLLARROW = 24;
+       SV_CXHSCROLLARROW = 25;
+       SV_CXBORDER = 26;
+       SV_CYBORDER = 27;
+       SV_CXDLGFRAME = 28;
+       SV_CYDLGFRAME = 29;
+       SV_CYTITLEBAR = 30;
+       SV_CYVSLIDER = 31;
+       SV_CXHSLIDER = 32;
+       SV_CXMINMAXBUTTON = 33;
+       SV_CYMINMAXBUTTON = 34;
+       SV_CYMENU = 35;
+       SV_CXFULLSCREEN = 36;
+       SV_CYFULLSCREEN = 37;
+       SV_CXICON = 38;
+       SV_CYICON = 39;
+       SV_CXPOINTER = 40;
+       SV_CYPOINTER = 41;
+       SV_DEBUG = 42;
+       SV_CMOUSEBUTTONS = 43;
+       SV_CPOINTERBUTTONS = 43;
+       SV_POINTERLEVEL = 44;
+       SV_CURSORLEVEL = 45;
+       SV_TRACKRECTLEVEL = 46;
+       SV_CTIMERS = 47;
+       SV_MOUSEPRESENT = 48;
+       SV_CXBYTEALIGN = 49;
+       SV_CXALIGN = 49;
+       SV_CYBYTEALIGN = 50;
+       SV_CYALIGN = 50;
+       SV_NOTRESERVED = 56;
+       SV_EXTRAKEYBEEP = 57;
+       SV_SETLIGHTS = 58;
+       SV_INSERTMODE = 59;
+       SV_MENUROLLDOWNDELAY = 64;
+       SV_MENUROLLUPDELAY = 65;
+       SV_ALTMNEMONIC = 66;
+       SV_TASKLISTMOUSEACCESS = 67;
+       SV_CXICONTEXTWIDTH = 68;
+       SV_CICONTEXTLINES = 69;
+       SV_CHORDTIME = 70;
+       SV_CXCHORD = 71;
+       SV_CYCHORD = 72;
+       SV_CXMOTION = 73;
+       SV_CYMOTION = 74;
+       SV_BEGINDRAG = 75;
+       SV_ENDDRAG = 76;
+       SV_SINGLESELECT = 77;
+       SV_OPEN = 78;
+       SV_CONTEXTMENU = 79;
+       SV_CONTEXTHELP = 80;
+       SV_TEXTEDIT = 81;
+       SV_BEGINSELECT = 82;
+       SV_ENDSELECT = 83;
+       SV_BEGINDRAGKB = 84;
+       SV_ENDDRAGKB = 85;
+       SV_SELECTKB = 86;
+       SV_OPENKB = 87;
+       SV_CONTEXTMENUKB = 88;
+       SV_CONTEXTHELPKB = 89;
+       SV_TEXTEDITKB = 90;
+       SV_BEGINSELECTKB = 91;
+       SV_ENDSELECTKB = 92;
+       SV_ANIMATION = 93;
+       SV_ANIMATIONSPEED = 94;
+       SV_MONOICONS = 95;
+       SV_KBDALTERED = 96;
+       SV_PRINTSCREEN = 97;
+       SV_CSYSVALUES = 98;
+
+       PP_FOREGROUNDCOLOR = 1;
+       PP_FOREGROUNDCOLORINDEX = 2;
+       PP_BACKGROUNDCOLOR = 3;
+       PP_BACKGROUNDCOLORINDEX = 4;
+       PP_HILITEFOREGROUNDCOLOR = 5;
+       PP_HILITEFOREGROUNDCOLORINDEX = 6;
+       PP_HILITEBACKGROUNDCOLOR = 7;
+       PP_HILITEBACKGROUNDCOLORINDEX = 8;
+       PP_DISABLEDFOREGROUNDCOLOR = 9;
+       PP_DISABLEDFOREGROUNDCOLORINDEX = 10;
+       PP_DISABLEDBACKGROUNDCOLOR = 11;
+       PP_DISABLEDBACKGROUNDCOLORINDEX = 12;
+       PP_BORDERCOLOR = 13;
+       PP_BORDERCOLORINDEX = 14;
+       PP_FONTNAMESIZE = 15;
+       PP_FONTHANDLE = 16;
+       PP_RESERVED = 17;
+       PP_ACTIVECOLOR = 18;
+       PP_ACTIVECOLORINDEX = 19;
+       PP_INACTIVECOLOR = 20;
+       PP_INACTIVECOLORINDEX = 21;
+       PP_ACTIVETEXTFGNDCOLOR = 22;
+       PP_ACTIVETEXTFGNDCOLORINDEX = 23;
+       PP_ACTIVETEXTBGNDCOLOR = 24;
+       PP_ACTIVETEXTBGNDCOLORINDEX = 25;
+       PP_INACTIVETEXTFGNDCOLOR = 26;
+       PP_INACTIVETEXTFGNDCOLORINDEX = 27;
+       PP_INACTIVETEXTBGNDCOLOR = 28;
+       PP_INACTIVETEXTBGNDCOLORINDEX = 29;
+       PP_SHADOW = 30;
+       PP_MENUFOREGROUNDCOLOR = 31;
+       PP_MENUFOREGROUNDCOLORINDEX = 32;
+       PP_MENUBACKGROUNDCOLOR = 33;
+       PP_MENUBACKGROUNDCOLORINDEX = 34;
+       PP_MENUHILITEFGNDCOLOR = 35;
+       PP_MENUHILITEFGNDCOLORINDEX = 36;
+       PP_MENUHILITEBGNDCOLOR = 37;
+       PP_MENUHILITEBGNDCOLORINDEX = 38;
+       PP_MENUDISABLEDFGNDCOLOR = 39;
+       PP_MENUDISABLEDFGNDCOLORINDEX = 40;
+       PP_MENUDISABLEDBGNDCOLOR = 41;
+       PP_MENUDISABLEDBGNDCOLORINDEX = 42;
+       PP_USER = $8000;
+       QPF_NOINHERIT = $0001;
+       QPF_ID1COLORINDEX = $0002;
+       QPF_ID2COLORINDEX = $0004;
+       QPF_PURERGBCOLOR = $0008;
+       QPF_VALIDFLAGS = $000F;
+
+       SYSCLR_SHADOWHILITEBGND = (-50);
+       SYSCLR_SHADOWHILITEFGND = (-49);
+       SYSCLR_SHADOWTEXT = (-48);
+       SYSCLR_ENTRYFIELD = (-47);
+       SYSCLR_MENUDISABLEDTEXT = (-46);
+       SYSCLR_MENUHILITE = (-45);
+       SYSCLR_MENUHILITEBGND = (-44);
+       SYSCLR_PAGEBACKGROUND = (-43);
+       SYSCLR_FIELDBACKGROUND = (-42);
+       SYSCLR_BUTTONLIGHT = (-41);
+       SYSCLR_BUTTONMIDDLE = (-40);
+       SYSCLR_BUTTONDARK = (-39);
+       SYSCLR_BUTTONDEFAULT = (-38);
+       SYSCLR_TITLEBOTTOM = (-37);
+       SYSCLR_SHADOW = (-36);
+       SYSCLR_ICONTEXT = (-35);
+       SYSCLR_DIALOGBACKGROUND = (-34);
+       SYSCLR_HILITEFOREGROUND = (-33);
+       SYSCLR_HILITEBACKGROUND = (-32);
+       SYSCLR_INACTIVETITLETEXTBGND = (-31);
+       SYSCLR_ACTIVETITLETEXTBGND = (-30);
+       SYSCLR_INACTIVETITLETEXT = (-29);
+       SYSCLR_ACTIVETITLETEXT = (-28);
+       SYSCLR_OUTPUTTEXT = (-27);
+       SYSCLR_WINDOWSTATICTEXT = (-26);
+       SYSCLR_SCROLLBAR = (-25);
+       SYSCLR_BACKGROUND = (-24);
+       SYSCLR_ACTIVETITLE = (-23);
+       SYSCLR_INACTIVETITLE = (-22);
+       SYSCLR_MENU = (-21);
+       SYSCLR_WINDOW = (-20);
+       SYSCLR_WINDOWFRAME = (-19);
+       SYSCLR_MENUTEXT = (-18);
+       SYSCLR_WINDOWTEXT = (-17);
+       SYSCLR_TITLETEXT = (-16);
+       SYSCLR_ACTIVEBORDER = (-15);
+       SYSCLR_INACTIVEBORDER = (-14);
+       SYSCLR_APPWORKSPACE = (-13);
+       SYSCLR_HELPBACKGROUND = (-12);
+       SYSCLR_HELPTEXT = (-11);
+       SYSCLR_HELPHILITE = (-10);
+       SYSCLR_CSYSCOLORS = 41;
+
+       TID_CURSOR = $ffff;
+       TID_SCROLL = $fffe;
+       TID_FLASHWINDOW = $fffd;
+       TID_USERMAX = $7fff;
+
+       AF_CHAR = $0001;
+       AF_VIRTUALKEY = $0002;
+       AF_SCANCODE = $0004;
+       AF_SHIFT = $0008;
+       AF_CONTROL = $0010;
+       AF_ALT = $0020;
+       AF_LONEKEY = $0040;
+       AF_SYSCOMMAND = $0100;
+       AF_HELP = $0200;
+
+       EAF_DEFAULTOWNER = $0001;
+       EAF_UNCHANGEABLE = $0002;
+       EAF_REUSEICON = $0004;
+
+       TF_LEFT = $0001;
+       TF_TOP = $0002;
+       TF_RIGHT = $0004;
+       TF_BOTTOM = $0008;
+       TF_MOVE = $000F;
+       TF_SETPOINTERPOS = $0010;
+       TF_GRID = $0020;
+       TF_STANDARD = $0040;
+       TF_ALLINBOUNDARY = $0080;
+       TF_VALIDATETRACKRECT = $0100;
+       TF_PARTINBOUNDARY = $0200;
+       WM_RENDERFMT = $0060;
+       WM_RENDERALLFMTS = $0061;
+       WM_DESTROYCLIPBOARD = $0062;
+       WM_PAINTCLIPBOARD = $0063;
+       WM_SIZECLIPBOARD = $0064;
+       WM_HSCROLLCLIPBOARD = $0065;
+       WM_VSCROLLCLIPBOARD = $0066;
+       WM_DRAWCLIPBOARD = $0067;
+       CF_TEXT = 1;
+       CF_BITMAP = 2;
+       CF_DSPTEXT = 3;
+       CF_DSPBITMAP = 4;
+       CF_METAFILE = 5;
+       CF_DSPMETAFILE = 6;
+       CF_PALETTE = 9;
+       SZFMT_TEXT = '#1';
+       SZFMT_BITMAP = '#2';
+       SZFMT_DSPTEXT = '#3';
+       SZFMT_DSPBITMAP = '#4';
+       SZFMT_METAFILE = '#5';
+       SZFMT_DSPMETAFILE = '#6';
+       SZFMT_PALETTE = '#9';
+       SZFMT_SYLK = 'Sylk';
+       SZFMT_DIF = 'Dif';
+       SZFMT_TIFF = 'Tiff';
+       SZFMT_OEMTEXT = 'OemText';
+       SZFMT_DIB = 'Dib';
+       SZFMT_OWNERDISPLAY = 'OwnerDisplay';
+       SZFMT_LINK = 'Link';
+       SZFMT_METAFILEPICT = 'MetaFilePict';
+       SZFMT_DSPMETAFILEPICT = 'DspMetaFilePict';
+       SZFMT_CPTEXT = 'Codepage Text';
+       SZDDEFMT_RTF = 'Rich Text Format';
+       SZDDEFMT_PTRPICT = 'Printer_Picture';
+
+       CFI_OWNERFREE = $0001;
+       CFI_OWNERDISPLAY = $0002;
+       CFI_POINTER = $0400;
+       CFI_HANDLE = $0200;
+
+       CURSOR_SOLID = $0000;
+       CURSOR_HALFTONE = $0001;
+       CURSOR_FRAME = $0002;
+       CURSOR_FLASH = $0004;
+       CURSOR_SETPOS = $8000;
+
+       SPTR_ARROW = 1;
+       SPTR_TEXT = 2;
+       SPTR_WAIT = 3;
+       SPTR_SIZE = 4;
+       SPTR_MOVE = 5;
+       SPTR_SIZENWSE = 6;
+       SPTR_SIZENESW = 7;
+       SPTR_SIZEWE = 8;
+       SPTR_SIZENS = 9;
+       SPTR_APPICON = 10;
+       SPTR_ICONINFORMATION = 11;
+       SPTR_ICONQUESTION = 12;
+       SPTR_ICONERROR = 13;
+       SPTR_ICONWARNING = 14;
+       SPTR_CPTR = 14;
+       SPTR_ILLEGAL = 18;
+       SPTR_FILE = 19;
+       SPTR_FOLDER = 20;
+       SPTR_MULTFILE = 21;
+       SPTR_PROGRAM = 22;
+       SPTR_HANDICON = SPTR_ICONERROR;
+       SPTR_QUESICON = SPTR_ICONQUESTION;
+       SPTR_BANGICON = SPTR_ICONWARNING;
+       SPTR_NOTEICON = SPTR_ICONINFORMATION;
+
+       DP_NORMAL = $0000;
+       DP_HALFTONED = $0001;
+       DP_INVERTED = $0002;
+
+       SBMP_OLD_SYSMENU = 1;
+       SBMP_OLD_SBUPARROW = 2;
+       SBMP_OLD_SBDNARROW = 3;
+       SBMP_OLD_SBRGARROW = 4;
+       SBMP_OLD_SBLFARROW = 5;
+       SBMP_MENUCHECK = 6;
+       SBMP_OLD_CHECKBOXES = 7;
+       SBMP_BTNCORNERS = 8;
+       SBMP_OLD_MINBUTTON = 9;
+       SBMP_OLD_MAXBUTTON = 10;
+       SBMP_OLD_RESTOREBUTTON = 11;
+       SBMP_OLD_CHILDSYSMENU = 12;
+       SBMP_DRIVE = 15;
+       SBMP_FILE = 16;
+       SBMP_FOLDER = 17;
+       SBMP_TREEPLUS = 18;
+       SBMP_TREEMINUS = 19;
+       SBMP_PROGRAM = 22;
+       SBMP_MENUATTACHED = 23;
+       SBMP_SIZEBOX = 24;
+       SBMP_SYSMENU = 25;
+       SBMP_MINBUTTON = 26;
+       SBMP_MAXBUTTON = 27;
+       SBMP_RESTOREBUTTON = 28;
+       SBMP_CHILDSYSMENU = 29;
+       SBMP_SYSMENUDEP = 30;
+       SBMP_MINBUTTONDEP = 31;
+       SBMP_MAXBUTTONDEP = 32;
+       SBMP_RESTOREBUTTONDEP = 33;
+       SBMP_CHILDSYSMENUDEP = 34;
+       SBMP_SBUPARROW = 35;
+       SBMP_SBDNARROW = 36;
+       SBMP_SBLFARROW = 37;
+       SBMP_SBRGARROW = 38;
+       SBMP_SBUPARROWDEP = 39;
+       SBMP_SBDNARROWDEP = 40;
+       SBMP_SBLFARROWDEP = 41;
+       SBMP_SBRGARROWDEP = 42;
+       SBMP_SBUPARROWDIS = 43;
+       SBMP_SBDNARROWDIS = 44;
+       SBMP_SBLFARROWDIS = 45;
+       SBMP_SBRGARROWDIS = 46;
+       SBMP_COMBODOWN = 47;
+       SBMP_CHECKBOXES = 48;
+
+       HK_SENDMSG = 0;
+       HK_INPUT = 1;
+       HK_MSGFILTER = 2;
+       HK_JOURNALRECORD = 3;
+       HK_JOURNALPLAYBACK = 4;
+       HK_HELP = 5;
+       HK_LOADER = 6;
+       HK_REGISTERUSERMSG = 7;
+       HK_MSGCONTROL = 8;
+       HK_PLIST_ENTRY = 9;
+       HK_PLIST_EXIT = 10;
+       HK_FINDWORD = 11;
+       HK_CODEPAGECHANGED = 12;
+       HK_WINDOWDC = 15;
+       HK_DESTROYWINDOW = 16;
+       HK_CHECKMSGFILTER = 20;
+       HMQ_CURRENT = 1;
+       MSGF_DIALOGBOX = 1;
+       MSGF_MESSAGEBOX = 2;
+       MSGF_TRACK = 8;
+       MSGF_DDEPOSTMSG = 3;
+       HLPM_FRAME = (-1);
+       HLPM_WINDOW = (-2);
+       HLPM_MENU = (-3);
+       PM_MODEL_1X = 0;
+       PM_MODEL_2X = 1;
+
+       LHK_DELETEPROC = 1;
+       LHK_DELETELIB = 2;
+       LHK_LOADPROC = 3;
+       LHK_LOADLIB = 4;
+       MCHK_MSGINTEREST = 1;
+       MCHK_CLASSMSGINTEREST = 2;
+       MCHK_SYNCHRONISATION = 3;
+       MCHK_MSGMODE = 4;
+       RUMHK_DATATYPE = 1;
+       RUMHK_MSG = 2;
+
+       {WinCompareStrings}
+       WCS_ERROR = 0;
+       WCS_EQ = 1;
+       WCS_LT = 2;
+       WCS_GT = 3;
+
+       WINDBG_HWND_NOT_DESTROYED = $1022;
+       WINDBG_HPTR_NOT_DESTROYED = $1023;
+       WINDBG_HACCEL_NOT_DESTROYED = $1024;
+       WINDBG_HENUM_NOT_DESTROYED = $1025;
+       WINDBG_VISRGN_SEM_BUSY = $1026;
+       WINDBG_USER_SEM_BUSY = $1027;
+       WINDBG_DC_CACHE_BUSY = $1028;
+       WINDBG_HOOK_STILL_INSTALLED = $1029;
+       WINDBG_WINDOW_STILL_LOCKED = $102a;
+       WINDBG_UPDATEPS_ASSERTION_FAIL = $102b;
+       WINDBG_SENDMSG_WITHIN_USER_SEM = $102c;
+       WINDBG_USER_SEM_NOT_ENTERED = $102d;
+       WINDBG_PROC_NOT_EXPORTED = $102e;
+       WINDBG_BAD_SENDMSG_cardinal = $102f;
+       WINDBG_ABNORMAL_EXIT = $1030;
+       WINDBG_INTERNAL_REVISION = $1031;
+       WINDBG_INITSYSTEM_FAILED = $1032;
+       WINDBG_HATOMTBL_NOT_DESTROYED = $1033;
+       WINDBG_WINDOW_UNLOCK_WAIT = $1035;
+
+       SZDDESYS_TOPIC = 'System';
+       SZDDESYS_ITEM_TOPICS = 'Topics';
+       SZDDESYS_ITEM_SYSITEMS = 'SysItems';
+       SZDDESYS_ITEM_RTNMSG = 'ReturnMessage';
+       SZDDESYS_ITEM_STATUS = 'Status';
+       SZDDESYS_ITEM_FORMATS = 'Formats';
+       SZDDESYS_ITEM_SECURITY = 'Security';
+       SZDDESYS_ITEM_ITEMFORMATS = 'ItemFormats';
+       SZDDESYS_ITEM_HELP = 'Help';
+       SZDDESYS_ITEM_PROTOCOLS = 'Protocols';
+       SZDDESYS_ITEM_RESTART = 'Restart'; 
+       
+       DDECTXT_CASESENSITIVE = $0001;     
+
+       {DDE}
+       DDE_FACK = $0001;
+       DDE_FBUSY = $0002;
+       DDE_FNODATA = $0004;
+       DDE_FACKREQ = $0008;
+       DDE_FRESPONSE = $0010;
+       DDE_NOTPROCESSED = $0020;
+       DDE_FRESERVED = $00C0;
+       DDE_FAPPSTATUS = $FF00;
+       DDEFMT_TEXT = $0001;
+       DDEPM_RETRY = $00000001;
+       DDEPM_NOFREE = $00000002;
+       WM_DDE_FIRST = $00A0;
+       WM_DDE_INITIATE = $00A0;
+       WM_DDE_REQUEST = $00A1;
+       WM_DDE_ACK = $00A2;
+       WM_DDE_DATA = $00A3;
+       WM_DDE_ADVISE = $00A4;
+       WM_DDE_UNADVISE = $00A5;
+       WM_DDE_POKE = $00A6;
+       WM_DDE_EXECUTE = $00A7;
+       WM_DDE_TERMINATE = $00A8;
+       WM_DDE_INITIATEACK = $00A9;
+       WM_DDE_LAST = $00AF;
+       WM_QUERYCONVERTPOS = $00b0;
+       QCP_CONVERT = $0001;
+       QCP_NOCONVERT = $0000;
+
+       SDT_DESTROY = $0001;
+       SDT_NOBKGND = $0002;
+       SDT_TILE = $0004;
+       SDT_SCALE = $0008;
+       SDT_PATTERN = $0010;
+       SDT_CENTER = $0020;
+       SDT_RETAIN = $0040;
+       SDT_LOADFILE = $0080;
+
+       STR_DLLNAME = 'keyremap';
+       WM_DBCSFIRST = $00b0;
+       WM_DBCSLAST = $00cf;
+
+    function WinRegisterClass(hab : cardinal;pszClassName : pshortint;pfnWndProc : ppointer;flStyle,cbWindowData : cardinal) : longbool; cdecl;
+    function WinDefWindowProc(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;
+    function WinDestroyWindow(hwnd : cardinal) : longbool; cdecl;
+    function WinShowWindow(hwnd : cardinal;fShow : longbool) : longbool;  cdecl;
+    function WinQueryWindowRect(hwnd : cardinal;prclDest : PRECTL) : longbool; cdecl;
+    function WinGetPS(hwnd : cardinal) : cardinal;  cdecl;
+    function WinReleasePS(hps : cardinal) : longbool;  cdecl;
+    function WinEndPaint(hps : cardinal) : longbool; cdecl;
+    function WinGetClipPS(hwnd,hwndClip,fl : cardinal) : cardinal; cdecl;
+    function WinIsWindowShowing(hwnd : cardinal) : longbool; cdecl;
+    function WinBeginPaint(hwnd,hps : cardinal;prclPaint : PRECTL) : cardinal; cdecl;
+    function WinOpenWindowDC(hwnd : cardinal) : cardinal; cdecl;
+    function WinScrollWindow(hwnd : cardinal;dx,dy : longint;prclScroll,prclClip : PRECTL;hrgnUpdate : cardinal;prclUpdate : PRECTL;rgfsw : cardinal) : longint; cdecl;                                             
+    function WinFillRect(hps : cardinal;prcl : PRECTL;lColor : longint) : longbool; cdecl;
+    function WinQueryVersion(hab : cardinal) : cardinal; cdecl;
+    function WinInitialize(flOptions : cardinal) : cardinal; cdecl;
+    function WinTerminate(hab : cardinal) : longbool; cdecl;      
+    function WinQueryAnchorBlock(hwnd : cardinal) : cardinal; cdecl;
+    function WinCreateWindow(hwndParent : cardinal;pszClass,pszName : pshortint;flStyle : cardinal;x,y,cx,cy : longint;hwndOwner,hwndInsertBehind,id : cardinal;pCtlData,pPresParams : pointer) : cardinal; cdecl;
+    function WinEnableWindow(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;
+    function WinIsWindowEnabled(hwnd : cardinal) : longbool; cdecl;
+    function WinEnableWindowUpdate(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;
+    function WinIsWindowVisible(hwnd : cardinal) : longbool; cdecl;
+    function WinQueryWindowText(hwnd : cardinal;cchBufferMax : longint;pchBuffer : pshortint) : longint; cdecl;                                                                 
+    function WinSetWindowText(hwnd : cardinal;pszText : pshortint) : longbool; cdecl;
+    function WinQueryWindowTextLength(hwnd : cardinal) : longint; cdecl;
+    function WinWindowFromID(hwndParent,id : cardinal) : cardinal; cdecl;
+    function WinIsWindow(hab,hwnd : cardinal) : longbool; cdecl;
+    function WinQueryWindow(hwnd : cardinal;cmd : longint) : cardinal; cdecl;
+    function WinMultWindowFromIDs(hwndParent : cardinal;prghwnd : pcardinal;idFirst,idLast : cardinal) : longint; cdecl;
+    function WinSetParent(hwnd,hwndNewParent : cardinal;fRedraw : longbool) : longbool; cdecl;
+    function WinIsChild(hwnd,hwndParent : cardinal) : longbool; cdecl;
+    function WinSetOwner(hwnd,hwndNewOwner : cardinal) : longbool; cdecl;
+    function WinQueryWindowProcess(hwnd : cardinal;ppid,ptid : pcardinal) : longbool; cdecl;
+    function WinQueryObjectWindow(hwndDesktop : cardinal) : cardinal; cdecl;
+    function WinQueryDesktopWindow(hab,hdc : cardinal) : cardinal; cdecl;
+    function WinSetWindowPos(hwnd,hwndInsertBehind : cardinal;x,y,cx,cy : longint;fl : cardinal) : longbool; cdecl; 
+    function WinSetMultWindowPos(hab : cardinal;pswp : PSWP;cswp : cardinal) : longbool; cdecl;
+    function WinQueryWindowPos(hwnd : cardinal;pswp : PSWP) : longbool; cdecl;
+    function WinUpdateWindow(hwnd : cardinal) : longbool; cdecl;
+    function WinInvalidateRect(hwnd : cardinal;pwrc : PRECTL;fIncludeChildren : longbool) : longbool; cdecl;
+    function WinInvalidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;
+    function WinInvertRect(hps : cardinal;prcl : PRECTL) : longbool; cdecl;
+    function WinDrawBitmap(hpsDst,hbm : cardinal;pwrcSrc : PRECTL;pptlDst : PPOINTL;clrFore : longint;clrBack : longint;fl : cardinal) : longbool; cdecl;
+    function WinDrawText(hps : cardinal;cchText : longint;lpchText : pshortint;prcl : PRECTL;clrFore,clrBack : longint;flCmd : cardinal) : longint; cdecl;
+    function WinDrawBorder(hps : cardinal;prcl : PRECTL;cx,cy : longint;clrFore,clrBack : longint;flCmd : cardinal) : longbool; cdecl;
+    function WinLoadString(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pshortint) : longint; cdecl;
+    function WinLoadMessage(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pshortint) : longint; cdecl;
+    function WinSetActiveWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl;
+    function WinSubclassWindow(hwnd : cardinal;pfnwp : ppointer) : ppointer; cdecl;
+    function WinQueryClassName(hwnd : cardinal;cchMax : longint;pch : pshortint) : longint; cdecl;
+    function WinQueryClassInfo(hab : cardinal;pszClassName : pshortint;pClassInfo : PCLASSINFO) : longbool; cdecl;
+    function WinQueryActiveWindow(hwndDesktop : cardinal) : cardinal; cdecl;
+    function WinIsThreadActive(hab : cardinal) : longbool; cdecl;
+    function WinQuerySysModalWindow(hwndDesktop : cardinal) : cardinal; cdecl;
+    function WinSetSysModalWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl; 
+    function WinQueryWindowUShort(hwnd : cardinal;index : longint) : word; cdecl;
+    function WinSetWindowUShort(hwnd : cardinal;index : longint;us : word) : longbool; cdecl;
+    function WinQueryWindowULong(hwnd : cardinal;index : longint) : cardinal; cdecl;
+    function WinSetWindowULong(hwnd : cardinal;index : longint;ul : cardinal) : longbool; cdecl;
+    function WinQueryWindowPtr(hwnd : cardinal;index : longint) : pointer; cdecl;    
+    function WinSetWindowPtr(hwnd : cardinal;index : longint;p : pointer) : longbool; cdecl;
+    function WinSetWindowBits(hwnd : cardinal;index : longint;flData,flMask : cardinal) : longbool; cdecl;
+    function WinBeginEnumWindows(hwnd : cardinal) : cardinal; cdecl;                                             
+    function WinGetNextWindow(henum : cardinal) : cardinal; cdecl;                                               
+    function WinEndEnumWindows(henum : cardinal) : longbool; cdecl;                                                  
+    function WinWindowFromPoint(hwnd : cardinal;pptl : PPOINTL;fChildren : longbool) : cardinal; cdecl;              
+    function WinMapWindowPoints(hwndFrom,hwndTo : cardinal;prgptl : PPOINTL;cwpt : longint) : longbool; cdecl;
+    function WinValidateRect(hwnd : cardinal;prcl : PRECTL;fIncludeChildren : longbool) : longbool; cdecl;                   
+    function WinValidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;                   
+    function WinWindowFromDC(hdc : cardinal) : cardinal; cdecl;                                                      
+    function WinQueryWindowDC(hwnd : cardinal) : cardinal; cdecl;                                                    
+    function WinGetScreenPS(hwndDesktop : cardinal) : cardinal; cdecl;                                               
+    function WinLockWindowUpdate(hwndDesktop,hwndLockUpdate : cardinal) : longbool; cdecl;                    
+    function WinLockVisRegions(hwndDesktop : cardinal;fLock : longbool) : longbool; cdecl;                                   
+    function WinQueryUpdateRect(hwnd : cardinal;prcl : PRECTL) : longbool; cdecl;                                        
+    function WinQueryUpdateRegion(hwnd,hrgn : cardinal) : longint; cdecl;                                     
+    function WinExcludeUpdateRegion(hps,hwnd : cardinal) : longint; cdecl;
+    function WinSendMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;
+    function WinCreateMsgQueue(hab : cardinal;cmsg : longint) : cardinal; cdecl;                        
+    function WinDestroyMsgQueue(hmq : cardinal) : longbool; cdecl;                                          
+    function WinQueryQueueInfo(hmq : cardinal;pmqi : PMQINFO;cbCopy : cardinal) : longbool; cdecl;          
+    function WinCancelShutdown(hmq : cardinal;fCancelAlways : longbool) : longbool; cdecl;                      
+    function WinGetMsg(hab : cardinal;pqmsg : PQMSG;hwndFilter,msgFilterFirst,msgFilterLast : cardinal) : longbool; cdecl;
+    function WinPeekMsg(hab : cardinal;pqmsg : PQMSG;hwndFilter,msgFilterFirst,msgFilterLast,fl : cardinal) : longbool; cdecl; 
+    function WinDispatchMsg(hab : cardinal;pqmsg : PQMSG) : pointer; cdecl;
+    function WinPostMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;
+    function WinRegisterUserMsg(hab,msgid : cardinal;datatype1,dir1,datatype2,dir2,datatyper : longint) : longbool; cdecl;
+    function WinRegisterUserDatatype(hab : cardinal;datatype,count : longint;types : Plongint) : longbool; cdecl;
+    function WinSetMsgMode(hab : cardinal;classname : pshortint;control : longint) : longbool; cdecl;                      
+    function WinSetSynchroMode(hab : cardinal;mode : longint) : longbool;  cdecl;                        
+    function WinInSendMsg(hab : cardinal) : longbool; cdecl; 
+    function WinBroadcastMsg(hwnd,msg : cardinal;mp1,mp2 : pointer;rgf : cardinal) : longbool; cdecl;
+    function WinWaitMsg(hab,msgFirst,msgLast : cardinal) : longbool; cdecl;                       
+    function WinQueryQueueStatus(hwndDesktop : cardinal) : cardinal; cdecl;
+    function WinQueryMsgPos(hab : cardinal;pptl : PPOINTL) : longbool; cdecl;  
+    function WinQueryMsgTime(hab : cardinal) : cardinal; cdecl;            
+    function WinWaitEventSem(hev,ulTimeout : cardinal) : cardinal; cdecl;   
+    function WinRequestMutexSem(hmtx,ulTimeout : cardinal) : cardinal; cdecl;
+    function WinWaitMuxWaitSem(hmux,ulTimeout:cardinal;pulUser : pcardinal) : cardinal; cdecl;   
+    function WinPostQueueMsg(hmq,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;  
+    function WinSetMsgInterest(hwnd,msg_class : cardinal;control : longint) : longbool; cdecl;
+    function WinSetClassMsgInterest(hab : cardinal;pszClassName : pshortint;msg_class : cardinal;control : longint) : longbool; cdecl;     
+    function WinSetFocus(hwndDesktop,hwndSetFocus : cardinal) : longbool; cdecl;                                                
+    function WinFocusChange(hwndDesktop,hwndSetFocus,flFocusChange : cardinal) : longbool; cdecl;                    
+    function WinSetCapture(hwndDesktop,hwnd : cardinal) : longbool; cdecl; 
+    function WinQueryCapture(hwndDesktop : cardinal) : cardinal; cdecl;
+    function WinQueryFocus(hwndDesktop : cardinal) : cardinal; cdecl;   
+    function WinGetKeyState(hwndDesktop : cardinal;vkey : longint) : longint; cdecl;     
+    function WinGetPhysKeyState(hwndDesktop : cardinal;sc : longint) : longint; cdecl;   
+    function WinEnablePhysInput(hwndDesktop : cardinal;fEnable : longbool) : longbool; cdecl;    
+    function WinIsPhysInputEnabled(hwndDesktop : cardinal) : longbool; cdecl;                
+    function WinSetKeyboardStateTable(hwndDesktop : cardinal;pKeyStateTable : PBYTE;fSet : longbool) : longbool; cdecl;
+    function WinGetDlgMsg(hwndDlg : cardinal;pqmsg : PQMSG) : longbool; cdecl;             
+    function WinLoadDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : ppointer;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;  
+    function WinDlgBox(hwndParent,hwndOwner : cardinal;pfnDlgProc : ppointer;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;   
+    function WinDismissDlg(hwndDlg,usResult : cardinal) : longbool; cdecl;  
+    function WinQueryDlgItemShort(hwndDlg,idItem : cardinal;pResult : Pinteger;fSigned : longbool) : longbool; cdecl;  
+    function WinSetDlgItemShort(hwndDlg,idItem : cardinal;usValue : word;fSigned : longbool) : longbool; cdecl;        
+    function WinSetDlgItemText(hwndDlg,idItem : cardinal;pszText : pshortint) : longbool; cdecl;
+    function WinQueryDlgItemText(hwndDlg,idItem : cardinal;cchBufferMax : longint;pchBuffer : pshortint) : cardinal; cdecl;       
+    function WinQueryDlgItemTextLength(hwndDlg,idItem : cardinal) : longint; cdecl;                                               
+    function WinDefDlgProc(hwndDlg,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;                              
+    function WinAlarm(hwndDesktop,rgfType : cardinal) : longbool; cdecl;
+    function WinMessageBox(hwndParent,hwndOwner : cardinal;pszText,pszCaption : pshortint;idWindow,flStyle : cardinal) : cardinal; cdecl;
+    function WinProcessDlg(hwndDlg : cardinal) : cardinal; cdecl;
+    function WinSendDlgItemMsg(hwndDlg,idItem,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;
+    function WinMapDlgPoints(hwndDlg : cardinal;prgwptl : PPOINTL;cwpt : cardinal;fCalcWindowCoords : longbool) : longbool; cdecl;     
+    function WinEnumDlgItem(hwndDlg,hwnd,code : cardinal) : cardinal; cdecl;                             
+    function WinSubstituteStrings(hwnd : cardinal;pszSrc : pshortint;cchDstMax : longint;pszDst : pshortint) : longint; cdecl;     
+    function WinCreateDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : ppointer;pdlgt : PDLGTEMPLATE;pCreateParams : pointer) : cardinal; cdecl;
+    function WinLoadMenu(hwndFrame,hmod,idMenu : cardinal) : cardinal; cdecl;
+    function WinCreateMenu(hwndParent : cardinal;lpmt : pointer) : cardinal; cdecl; 
+    function WinPopupMenu(hwndParent,hwndOwner,hwndMenu : cardinal;x,y,idItem : longint;fs : cardinal) : longbool; cdecl;
+    function WinCreateStdWindow(hwndParent,flStyle : cardinal;pflCreateFlags : pcardinal;pszClientClass,pszTitle : pshortint;styleClient,hmod,idResources : cardinal;phwndClient : pcardinal) : cardinal; cdecl;
+    function WinFlashWindow(hwndFrame : cardinal;fFlash : longbool) : longbool; cdecl; 
+    function WinCreateFrameControls(hwndFrame : cardinal;pfcdata : PFRAMECDATA;pszTitle : pshortint) : longbool;  cdecl;    
+    function WinCalcFrameRect(hwndFrame : cardinal;prcl : PRECTL;fClient : longbool) : longbool; cdecl;                         
+    function WinGetMinPosition(hwnd : cardinal;pswp : PSWP;pptl : PPOINTL) : longbool; cdecl;                               
+    function WinGetMaxPosition(hwnd : cardinal;pswp : PSWP) : longbool; cdecl;                                              
+    function WinSaveWindowPos(hsvwp : cardinal;pswp : PSWP;cswp : cardinal) : longbool; cdecl;        
+    function WinCopyRect(hab : cardinal;prclDst,prclSrc : PRECTL) : longbool; cdecl;         
+    function WinSetRect(hab : cardinal;prcl : PRECTL;xLeft,yBottom,xRight,yTop : longint) : longbool; cdecl; 
+    function WinIsRectEmpty(hab : cardinal;prcl : PRECTL) : longbool; cdecl;                                                              
+    function WinEqualRect(hab : cardinal;prcl1,prcl2 : PRECTL) : longbool; cdecl;                                                
+    function WinSetRectEmpty(hab : cardinal;prcl : PRECTL) : longbool; cdecl;                                                             
+    function WinOffsetRect(hab : cardinal;prcl : PRECTL;cx,cy : longint) : longbool; cdecl;                                     
+    function WinInflateRect(hab : cardinal;prcl : PRECTL;cx,cy : longint) : longbool; cdecl;                                    
+    function WinPtInRect(hab : cardinal;prcl : PRECTL;pptl : PPOINTL) : longbool; cdecl;                                                  
+    function WinIntersectRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRECTL) : longbool; cdecl;                     
+    function WinUnionRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRECTL) : longbool; cdecl;                         
+    function WinSubtractRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRECTL) : longbool; cdecl;                      
+    function WinMakeRect(hab : cardinal;pwrc : PRECTL) : longbool; cdecl;                                                                 
+    function WinMakePoints(hab : cardinal;pwpt : PPOINTL;cwpt : cardinal) : longbool; cdecl;                                              
+    function WinQuerySysValue(hwndDesktop : cardinal;iSysValue : longint) : longint; cdecl;                                           
+    function WinSetSysValue(hwndDesktop : cardinal;iSysValue,lValue : longint) : longbool; cdecl;                               
+    function WinSetPresParam(hwnd,id,cbParam : cardinal;pbParam : pointer) : longbool;  cdecl; 
+    function WinQueryPresParam(hwnd,id1,id2 : cardinal;pulId : pcardinal;cbBuf : cardinal;pbBuf : pointer;fs : cardinal) : cardinal; cdecl;    
+    function WinRemovePresParam(hwnd,id : cardinal) : longbool; cdecl; 
+    function WinQuerySysColor(hwndDesktop : cardinal;clr,lReserved : longint) : longint; cdecl; 
+    function WinSetSysColors(hwndDesktop,flOptions,flFormat : cardinal;clrFirst : longint;cclr : cardinal;pclr : Plongint) : longbool; cdecl;        
+    function WinStartTimer(hab,hwnd,idTimer,dtTimeout : cardinal) : cardinal; cdecl; 
+    function WinStopTimer(hab,hwnd,idTimer : cardinal) : longbool; cdecl; 
+    function WinGetCurrentTime(hab : cardinal) : cardinal; cdecl;                           
+    function WinLoadAccelTable(hab,hmod,idAccelTable : cardinal) : cardinal; cdecl;    
+    function WinCopyAccelTable(haccel : cardinal;pAccelTable : PACCELTABLE;cbCopyMax : cardinal) : cardinal; cdecl;
+    function WinCreateAccelTable(hab : cardinal;pAccelTable : PACCELTABLE) : cardinal; cdecl;                      
+    function WinDestroyAccelTable(haccel : cardinal) : longbool; cdecl;                                                
+    function WinTranslateAccel(hab,hwnd,haccel : cardinal;pqmsg : PQMSG) : longbool; cdecl;      
+    function WinSetAccelTable(hab,haccel,hwndFrame : cardinal) : longbool; cdecl;                
+    function WinQueryAccelTable(hab,hwndFrame : cardinal) : cardinal; cdecl;                            
+    function WinTrackRect(hwnd,hps : cardinal;pti : PTRACKINFO) : longbool; cdecl;        
+    function WinShowTrackRect(hwnd : cardinal;fShow : longbool) : longbool; cdecl;
+    function WinSetClipbrdOwner(hab,hwnd : cardinal) : longbool; cdecl;  
+    function WinSetClipbrdData(hab,ulData,fmt,rgfFmtInfo : cardinal) : longbool;  cdecl;  
+    function WinQueryClipbrdData(hab,fmt : cardinal) : cardinal;  cdecl;                                    
+    function WinQueryClipbrdFmtInfo(hab,fmt : cardinal;prgfFmtInfo : pcardinal) : longbool; cdecl;              
+    function WinSetClipbrdViewer(hab,hwndNewClipViewer : cardinal) : longbool;  cdecl;                      
+    function WinEnumClipbrdFmts(hab,fmt : cardinal) : cardinal; cdecl;   
+    function WinEmptyClipbrd(hab : cardinal) : longbool; cdecl;                         
+    function WinOpenClipbrd(hab : cardinal) : longbool;  cdecl;                         
+    function WinCloseClipbrd(hab : cardinal) : longbool; cdecl;                         
+    function WinQueryClipbrdOwner(hab : cardinal) : cardinal; cdecl;                
+    function WinQueryClipbrdViewer(hab : cardinal) : cardinal; cdecl;               
+    function WinDestroyCursor(hwnd : cardinal) : longbool; cdecl;                       
+    function WinShowCursor(hwnd : cardinal;fShow : longbool) : longbool; cdecl;             
+    function WinCreateCursor(hwnd : cardinal;x,y,cx,cy : longint;fs : cardinal;prclClip : PRECTL) : longbool; cdecl; 
+    function WinQueryCursorInfo(hwndDesktop : cardinal;pCursorInfo : PCURSORINFO) : longbool; cdecl;
+    function WinSetPointer(hwndDesktop,hptrNew : cardinal) : longbool; cdecl;       
+    function WinSetPointerOwner(hptr,pid : cardinal;fDestroy : longbool) : longbool; cdecl;  
+    function WinShowPointer(hwndDesktop : cardinal;fShow : longbool) : longbool; cdecl;            
+    function WinQuerySysPointer(hwndDesktop : cardinal;iptr : longint;fLoad : longbool) : cardinal; cdecl;
+    function WinLoadPointer(hwndDesktop,hmod,idres : cardinal) : cardinal; cdecl;           
+    function WinCreatePointer(hwndDesktop,hbmPointer : cardinal;fPointer : longbool;xHotspot,yHotspot : longint) : cardinal; cdecl; 
+    function WinSetPointerPos(hwndDesktop : cardinal;x,y : longint) : longbool; cdecl;                                                        
+    function WinDestroyPointer(hptr : cardinal) : longbool; cdecl;        
+    function WinQueryPointer(hwndDesktop : cardinal) : cardinal; cdecl;
+    function WinQueryPointerPos(hwndDesktop : cardinal;pptl : PPOINTL) : longbool; cdecl;
+    function WinCreatePointerIndirect(hwndDesktop : cardinal;pptri : PPOINTERINFO) : cardinal; cdecl;        
+    function WinQueryPointerInfo(hptr : cardinal;pPointerInfo : PPOINTERINFO) : longbool; cdecl;                 
+    function WinDrawPointer(hps : cardinal;x,y : longint;hptr,fs : cardinal) : longbool; cdecl;  
+    function WinGetSysBitmap(hwndDesktop,ibm : cardinal) : cardinal; cdecl;
+    function WinSetHook(hab : cardinal;hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl;
+    function WinReleaseHook(hab,hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl; 
+    function WinCallMsgFilter(hab : cardinal;pqmsg : PQMSG;msgf : cardinal) : longbool; cdecl;         
+    function WinSetClassThunkProc(pszClassname : pshortint;pfnThunkProc : pointer) : longbool; cdecl;      
+    function WinQueryClassThunkProc(pszClassname : pshortint) : pointer; cdecl;                        
+    function WinSetWindowThunkProc(hwnd : cardinal;pfnThunkProc : pointer) : longbool; cdecl;              
+    function WinQueryWindowThunkProc(hwnd : cardinal) : pointer; cdecl;                                
+    function WinQueryWindowModel(hwnd : cardinal) : longint; cdecl;                                
+    function WinQueryCp(hmq : cardinal) : cardinal; cdecl;                                         
+    function WinSetCp(hmq,idCodePage : cardinal) : longbool; cdecl;                         
+    function WinQueryCpList(hab,ccpMax : cardinal;prgcp : pcardinal) : cardinal; cdecl; 
+    function WinCpTranslateString(hab,cpSrc : cardinal;pszSrc : pshortint;cpDst,cchDestMax : cardinal;pchDest : pshortint) : longbool; cdecl; 
+    function WinCpTranslateChar(hab,cpSrc : cardinal;chSrc : byte;cpDst : cardinal) : byte; cdecl;                                                   
+    function WinUpper(hab,idcp,idcc : cardinal;psz : pshortint) : cardinal; cdecl;                                                        
+    function WinUpperChar(hab,idcp,idcc,c : cardinal) : cardinal; cdecl;                                                       
+    function WinNextChar(hab,idcp,idcc : cardinal;psz : pshortint) : pshortint; cdecl;                                                    
+    function WinPrevChar(hab,idcp,idcc : cardinal;pszStart,psz : pshortint) : pshortint; cdecl;                               
+    function WinCompareStrings(hab,idcp,idcc : cardinal;psz1,psz2 : pshortint;reserved : cardinal) : cardinal; cdecl;         
+    function WinCreateAtomTable(cbInitial,cBuckets : cardinal) : cardinal; cdecl;         
+    function WinDestroyAtomTable(hAtomTbl : cardinal) : cardinal; cdecl;                             
+    function WinAddAtom(hAtomTbl : cardinal;pszAtomName : pshortint) : cardinal; cdecl;              
+    function WinFindAtom(hAtomTbl : cardinal;pszAtomName : pshortint) : cardinal; cdecl;             
+    function WinDeleteAtom(hAtomTbl,atom : cardinal) : cardinal; cdecl;                   
+    function WinQueryAtomUsage(hAtomTbl,atom : cardinal) : cardinal; cdecl;               
+    function WinQueryAtomLength(hAtomTbl,atom : cardinal) : cardinal; cdecl;              
+    function WinQueryAtomName(hAtomTbl,atom : cardinal;pchBuffer : pshortint;cchBufferMax : cardinal) : cardinal; cdecl;
+    function WinGetLastError(hab : cardinal) : cardinal; cdecl;
+    function WinGetErrorInfo(hab : cardinal) : PERRINFO; cdecl;
+    function WinFreeErrorInfo(perrinfo : PERRINFO) : longbool; cdecl;
+    {DDE Functions}
+    function WinDdeInitiate(hwndClient : cardinal;pszAppName,pszTopicName : pshortint;pcctxt : PCONVCONTEXT) : longbool; cdecl;
+    function WinDdeRespond(hwndClient,hwndServer : cardinal;pszAppName,pszTopicName : pshortint;pcctxt : PCONVCONTEXT) : pointer; cdecl;
+    function WinDdePostMsg(hwndTo,hwndFrom,wm : cardinal;pddest : PDDESTRUCT;flOptions : cardinal) : longbool; cdecl;                        
+    {Library related functions}
+    function WinDeleteProcedure(hab : cardinal;wndproc : ppointer) : longbool; cdecl;
+    function WinDeleteLibrary(hab,libhandle : cardinal) : longbool; cdecl;
+    function WinLoadProcedure(hab,libhandle : cardinal;procname : pshortint) : ppointer; cdecl; 
+    function WinLoadLibrary(hab : cardinal;libname : pshortint) : cardinal; cdecl;                      
+    function WinSetDesktopBkgnd(hwndDesktop : cardinal;pdskNew : PDESKTOP) : cardinal; cdecl;
+    function WinQueryDesktopBkgnd(hwndDesktop : cardinal;pdsk : PDESKTOP) : longbool; cdecl;    
+    function WinRealizePalette(hwnd,hps : cardinal;pcclr : pcardinal) : longint; cdecl;
+    function cardinalFROMMP(mp : pointer) : cardinal; cdecl;
+    function integer1FROMMP(mp : pointer) : word; cdecl;
+    function integer2FROMMP(mp : pointer) : word; cdecl;
+
+  implementation
+
+    function WinRegisterClass(hab : cardinal;pszClassName : pshortint;pfnWndProc : ppointer;flStyle,cbWindowData : cardinal) : longbool; cdecl;external;
+    function WinDefWindowProc(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external;
+    function WinDestroyWindow(hwnd : cardinal) : longbool; cdecl;external;
+    function WinShowWindow(hwnd : cardinal;fShow : longbool) : longbool; cdecl;external;
+    function WinQueryWindowRect(hwnd : cardinal;prclDest : PRECTL) : longbool; cdecl;external;
+    function WinGetPS(hwnd : cardinal) : cardinal; cdecl;external;
+    function WinReleasePS(hps : cardinal) : longbool; cdecl;external;
+    function WinEndPaint(hps : cardinal) : longbool; cdecl;external;
+    function WinGetClipPS(hwnd,hwndClip,fl : cardinal) : cardinal; cdecl;external;
+    function WinIsWindowShowing(hwnd : cardinal) : longbool; cdecl;external;
+    function WinBeginPaint(hwnd,hps : cardinal;prclPaint : PRECTL) : cardinal; cdecl;external;
+    function WinOpenWindowDC(hwnd : cardinal) : cardinal; cdecl;external;
+    function WinScrollWindow(hwnd : cardinal;dx,dy : longint;prclScroll,prclClip : PRECTL;hrgnUpdate : cardinal;prclUpdate : PRECTL;rgfsw : cardinal) : longint; cdecl;external;
+    function WinFillRect(hps : cardinal;prcl : PRECTL;lColor : longint) : longbool; cdecl;external;
+    function WinQueryVersion(hab : cardinal) : cardinal; cdecl;external;
+    function WinInitialize(flOptions : cardinal) : cardinal; cdecl;external;
+    function WinTerminate(hab : cardinal) : longbool; cdecl;external;
+    function WinQueryAnchorBlock(hwnd : cardinal) : cardinal; cdecl;external;
+    function WinCreateWindow(hwndParent : cardinal;pszClass,pszName : pshortint;flStyle : cardinal;x,y,cx,cy : longint;hwndOwner,hwndInsertBehind,id : cardinal;pCtlData,pPresParams : pointer) : cardinal; cdecl;external;
+    function WinEnableWindow(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;external;
+    function WinIsWindowEnabled(hwnd : cardinal) : longbool; cdecl;external;
+    function WinEnableWindowUpdate(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;external;
+    function WinIsWindowVisible(hwnd : cardinal) : longbool; cdecl;external;
+    function WinQueryWindowText(hwnd : cardinal;cchBufferMax : longint;pchBuffer : pshortint) : longint; cdecl;external;
+    function WinSetWindowText(hwnd : cardinal;pszText : pshortint) : longbool; cdecl;external;
+    function WinQueryWindowTextLength(hwnd : cardinal) : longint; cdecl;external;
+    function WinWindowFromID(hwndParent,id : cardinal) : cardinal; cdecl;external;
+    function WinIsWindow(hab,hwnd : cardinal) : longbool; cdecl;external;
+    function WinQueryWindow(hwnd : cardinal;cmd : longint) : cardinal; cdecl;external;
+    function WinMultWindowFromIDs(hwndParent : cardinal;prghwnd : pcardinal;idFirst,idLast : cardinal) : longint; cdecl;external;
+    function WinSetParent(hwnd,hwndNewParent : cardinal;fRedraw : longbool) : longbool; cdecl;external;
+    function WinIsChild(hwnd,hwndParent : cardinal) : longbool; cdecl;external;
+    function WinSetOwner(hwnd,hwndNewOwner : cardinal) : longbool; cdecl;external;
+    function WinQueryWindowProcess(hwnd : cardinal;ppid,ptid : pcardinal) : longbool; cdecl;external;
+    function WinQueryObjectWindow(hwndDesktop : cardinal) : cardinal; cdecl;external;
+    function WinQueryDesktopWindow(hab,hdc : cardinal) : cardinal; cdecl;external;
+    function WinSetWindowPos(hwnd,hwndInsertBehind : cardinal;x,y,cx,cy : longint;fl : cardinal) : longbool; cdecl;external;
+    function WinSetMultWindowPos(hab : cardinal;pswp : PSWP;cswp : cardinal) : longbool; cdecl;external;
+    function WinQueryWindowPos(hwnd : cardinal;pswp : PSWP) : longbool; cdecl;external;
+    function WinUpdateWindow(hwnd : cardinal) : longbool; cdecl;external;
+    function WinInvalidateRect(hwnd : cardinal;pwrc : PRECTL;fIncludeChildren : longbool) : longbool; cdecl;external;
+    function WinInvalidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;external;
+    function WinInvertRect(hps : cardinal;prcl : PRECTL) : longbool; cdecl;external;
+    function WinDrawBitmap(hpsDst,hbm : cardinal;pwrcSrc : PRECTL;pptlDst : PPOINTL;clrFore,clrBack : longint;fl : cardinal) : longbool; cdecl;external;
+    function WinDrawText(hps : cardinal;cchText : longint;lpchText : pshortint;prcl : PRECTL;clrFore,clrBack : longint;flCmd : cardinal) : longint; cdecl;external;
+    function WinDrawBorder(hps : cardinal;prcl : PRECTL;cx,cy,clrFore,clrBack : longint;flCmd : cardinal) : longbool; cdecl;external; 
+    function WinLoadString(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pshortint) : longint; cdecl;external;
+    function WinLoadMessage(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pshortint) : longint; cdecl;external;
+    function WinSetActiveWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl;external;
+    function WinSubclassWindow(hwnd : cardinal;pfnwp : ppointer) : ppointer; cdecl;external;
+    function WinQueryClassName(hwnd : cardinal;cchMax : longint;pch : pshortint) : longint; cdecl;external;
+    function WinQueryClassInfo(hab : cardinal;pszClassName : pshortint;pClassInfo : PCLASSINFO) : longbool; cdecl;external;
+    function WinQueryActiveWindow(hwndDesktop : cardinal) : cardinal; cdecl;external;
+    function WinIsThreadActive(hab : cardinal) : longbool; cdecl;external;
+    function WinQuerySysModalWindow(hwndDesktop : cardinal) : cardinal; cdecl;external;
+    function WinSetSysModalWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl;external;
+    function WinQueryWindowUShort(hwnd : cardinal;index : longint) : word; cdecl;external;
+    function WinSetWindowUShort(hwnd : cardinal;index : longint;us : word) : longbool; cdecl;external;
+    function WinQueryWindowULong(hwnd : cardinal;index : longint) : cardinal; cdecl;external;
+    function WinSetWindowULong(hwnd : cardinal;index : longint;ul : cardinal) : longbool; cdecl;external;
+    function WinQueryWindowPtr(hwnd : cardinal;index : longint) : pointer; cdecl;external;
+    function WinSetWindowPtr(hwnd : cardinal;index : longint;p : pointer) : longbool; cdecl;external;
+    function WinSetWindowBits(hwnd : cardinal;index : longint;flData,flMask : cardinal) : longbool; cdecl;external;
+    function WinBeginEnumWindows(hwnd : cardinal) : cardinal; cdecl;external;
+    function WinGetNextWindow(henum : cardinal) : cardinal; cdecl;external;
+    function WinEndEnumWindows(henum : cardinal) : longbool; cdecl;external;
+    function WinWindowFromPoint(hwnd : cardinal;pptl : PPOINTL;fChildren : longbool) : cardinal; cdecl;external;
+    function WinMapWindowPoints(hwndFrom,hwndTo : cardinal;prgptl : PPOINTL;cwpt : longint) : longbool; cdecl;external;
+    function WinValidateRect(hwnd : cardinal;prcl : PRECTL;fIncludeChildren : longbool) : longbool; cdecl;external;
+    function WinValidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;external;
+    function WinWindowFromDC(hdc : cardinal) : cardinal; cdecl;external;
+    function WinQueryWindowDC(hwnd : cardinal) : cardinal; cdecl;external;
+    function WinGetScreenPS(hwndDesktop : cardinal) : cardinal; cdecl;external;
+    function WinLockWindowUpdate(hwndDesktop,hwndLockUpdate : cardinal) : longbool; cdecl;external;
+    function WinLockVisRegions(hwndDesktop : cardinal;fLock : longbool) : longbool; cdecl;external;
+    function WinQueryUpdateRect(hwnd : cardinal;prcl : PRECTL) : longbool; cdecl;external;
+    function WinQueryUpdateRegion(hwnd,hrgn : cardinal) : longint; cdecl;external;
+    function WinExcludeUpdateRegion(hps,hwnd : cardinal) : longint; cdecl;external;
+    function WinSendMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external;
+    function WinCreateMsgQueue(hab : cardinal;cmsg : longint) : cardinal; cdecl;external;
+    function WinDestroyMsgQueue(hmq : cardinal) : longbool; cdecl;external;
+    function WinQueryQueueInfo(hmq : cardinal;pmqi : PMQINFO;cbCopy : cardinal) : longbool; cdecl;external;
+    function WinCancelShutdown(hmq : cardinal;fCancelAlways : longbool) : longbool; cdecl;external;
+    function WinGetMsg(hab : cardinal;pqmsg : PQMSG;hwndFilter,msgFilterFirst,msgFilterLast : cardinal) : longbool; cdecl;external; 
+    function WinPeekMsg(hab : cardinal;pqmsg : PQMSG;hwndFilter,msgFilterFirst,msgFilterLast,fl : cardinal) : longbool; cdecl;external;
+    function WinDispatchMsg(hab : cardinal;pqmsg : PQMSG) : pointer; cdecl;external;
+    function WinPostMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;external;
+    function WinRegisterUserMsg(hab,msgid : cardinal;datatype1,dir1,datatype2,dir2,datatyper : longint) : longbool; cdecl;external;
+    function WinRegisterUserDatatype(hab : cardinal;datatype,count : longint;types : Plongint) : longbool; cdecl;external;
+    function WinSetMsgMode(hab : cardinal;classname : pshortint;control : longint) : longbool; cdecl;external;
+    function WinSetSynchroMode(hab : cardinal;mode : longint) : longbool; cdecl;external;
+    function WinInSendMsg(hab : cardinal) : longbool; cdecl;external;
+    function WinBroadcastMsg(hwnd,msg : cardinal;mp1,mp2 : pointer;rgf : cardinal) : longbool; cdecl;external;
+    function WinWaitMsg(hab,msgFirst,msgLast : cardinal) : longbool; cdecl;external;
+    function WinQueryQueueStatus(hwndDesktop : cardinal) : cardinal; cdecl;external;
+    function WinQueryMsgPos(hab : cardinal;pptl : PPOINTL) : longbool; cdecl;external;
+    function WinQueryMsgTime(hab : cardinal) : cardinal; cdecl;external;
+    function WinWaitEventSem(hev,ulTimeout : cardinal) : cardinal; cdecl;external;
+    function WinRequestMutexSem(hmtx,ulTimeout : cardinal) : cardinal; cdecl;external;
+    function WinWaitMuxWaitSem(hmux,ulTimeout : cardinal;pulUser : pcardinal) : cardinal; cdecl;external;
+    function WinPostQueueMsg(hmq,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;external;
+    function WinSetMsgInterest(hwnd,msg_class : cardinal;control : longint) : longbool; cdecl;external;
+    function WinSetClassMsgInterest(hab : cardinal;pszClassName : pshortint;msg_class : cardinal;control : longint) : longbool; cdecl;external;
+    function WinSetFocus(hwndDesktop,hwndSetFocus : cardinal) : longbool; cdecl;external;
+    function WinFocusChange(hwndDesktop,hwndSetFocus,flFocusChange : cardinal) : longbool; cdecl;external;
+    function WinSetCapture(hwndDesktop,hwnd : cardinal) : longbool; cdecl;external;
+    function WinQueryCapture(hwndDesktop : cardinal) : cardinal; cdecl;external;
+    function WinQueryFocus(hwndDesktop : cardinal) : cardinal; cdecl;external;
+    function WinGetKeyState(hwndDesktop : cardinal;vkey : longint) : longint; cdecl;external;
+    function WinGetPhysKeyState(hwndDesktop : cardinal;sc : longint) : longint; cdecl;external;
+    function WinEnablePhysInput(hwndDesktop : cardinal;fEnable : longbool) : longbool; cdecl;external;
+    function WinIsPhysInputEnabled(hwndDesktop : cardinal) : longbool; cdecl;external;
+    function WinSetKeyboardStateTable(hwndDesktop : cardinal;pKeyStateTable : PBYTE;fSet : longbool) : longbool; cdecl;external;
+    function WinGetDlgMsg(hwndDlg : cardinal;pqmsg : PQMSG) : longbool; cdecl;external;
+    function WinLoadDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : ppointer;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;external;
+    function WinDlgBox(hwndParent,hwndOwner : cardinal;pfnDlgProc : ppointer;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;external;
+    function WinDismissDlg(hwndDlg,usResult : cardinal) : longbool; cdecl;external;
+    function WinQueryDlgItemShort(hwndDlg,idItem : cardinal;pResult : Pinteger;fSigned : longbool) : longbool; cdecl;external;
+    function WinSetDlgItemShort(hwndDlg,idItem : cardinal;usValue : word;fSigned : longbool) : longbool; cdecl;external;
+    function WinSetDlgItemText(hwndDlg,idItem : cardinal;pszText : pshortint) : longbool; cdecl;external;
+    function WinQueryDlgItemText(hwndDlg,idItem : cardinal;cchBufferMax : longint;pchBuffer : pshortint) : cardinal; cdecl;external;
+    function WinQueryDlgItemTextLength(hwndDlg,idItem : cardinal) : longint; cdecl;external;
+    function WinDefDlgProc(hwndDlg,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external;
+    function WinAlarm(hwndDesktop,rgfType : cardinal) : longbool; cdecl;external;
+    function WinMessageBox(hwndParent,hwndOwner : cardinal;pszText,pszCaption : pshortint;idWindow,flStyle : cardinal) : cardinal; cdecl;external;
+    function WinProcessDlg(hwndDlg : cardinal) : cardinal; cdecl;external;
+    function WinSendDlgItemMsg(hwndDlg,idItem,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external;
+    function WinMapDlgPoints(hwndDlg : cardinal;prgwptl : PPOINTL;cwpt : cardinal;fCalcWindowCoords : longbool) : longbool; cdecl;external;
+    function WinEnumDlgItem(hwndDlg,hwnd,code : cardinal) : cardinal; cdecl;external;
+    function WinSubstituteStrings(hwnd : cardinal;pszSrc : pshortint;cchDstMax : longint;pszDst : pshortint) : longint; cdecl;external;
+    function WinCreateDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : ppointer;pdlgt : PDLGTEMPLATE;pCreateParams : pointer) : cardinal; cdecl;external;
+    function WinLoadMenu(hwndFrame,hmod,idMenu : cardinal) : cardinal; cdecl;external;
+    function WinCreateMenu(hwndParent : cardinal;lpmt : pointer) : cardinal; cdecl;external;
+    function WinPopupMenu(hwndParent,hwndOwner,hwndMenu : cardinal;x,y,idItem : longint;fs : cardinal) : longbool; cdecl;external;
+    function WinCreateStdWindow(hwndParent,flStyle : cardinal;pflCreateFlags : pcardinal;pszClientClass,pszTitle : pshortint;styleClient,hmod,idResources : cardinal;phwndClient : pcardinal) : cardinal; cdecl;external;
+    function WinFlashWindow(hwndFrame : cardinal;fFlash : longbool) : longbool; cdecl;external;
+    function WinCreateFrameControls(hwndFrame : cardinal;pfcdata : PFRAMECDATA;pszTitle : pshortint) : longbool; cdecl;external;
+    function WinCalcFrameRect(hwndFrame : cardinal;prcl : PRECTL;fClient : longbool) : longbool; cdecl;external;
+    function WinGetMinPosition(hwnd : cardinal;pswp : PSWP;pptl : PPOINTL) : longbool; cdecl;external;
+    function WinGetMaxPosition(hwnd : cardinal;pswp : PSWP) : longbool; cdecl;external;
+    function WinSaveWindowPos(hsvwp : cardinal;pswp : PSWP;cswp : cardinal) : longbool; cdecl;external;
+    function WinCopyRect(hab : cardinal;prclDst,prclSrc : PRECTL) : longbool; cdecl;external; 
+    function WinSetRect(hab : cardinal;prcl : PRECTL;xLeft,yBottom,xRight,yTop : longint) : longbool; cdecl;external;
+    function WinIsRectEmpty(hab : cardinal;prcl : PRECTL) : longbool; cdecl;external;
+    function WinEqualRect(hab : cardinal;prcl1,prcl2 : PRECTL) : longbool; cdecl;external;
+    function WinSetRectEmpty(hab : cardinal;prcl : PRECTL) : longbool; cdecl;external;
+    function WinOffsetRect(hab : cardinal;prcl : PRECTL;cx,cy : longint) : longbool; cdecl;external;
+    function WinInflateRect(hab : cardinal;prcl : PRECTL;cx,cy : longint) : longbool; cdecl;external;
+    function WinPtInRect(hab : cardinal;prcl : PRECTL;pptl : PPOINTL) : longbool; cdecl;external;
+    function WinIntersectRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRECTL) : longbool; cdecl;external;
+    function WinUnionRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRECTL) : longbool; cdecl;external;
+    function WinSubtractRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRECTL) : longbool; cdecl;external;
+    function WinMakeRect(hab : cardinal;pwrc : PRECTL) : longbool; cdecl;external;
+    function WinMakePoints(hab : cardinal;pwpt : PPOINTL;cwpt : cardinal) : longbool; cdecl;external;
+    function WinQuerySysValue(hwndDesktop : cardinal;iSysValue : longint) : longint; cdecl;external;
+    function WinSetSysValue(hwndDesktop : cardinal;iSysValue,lValue : longint) : longbool; cdecl;external;
+    function WinSetPresParam(hwnd,id,cbParam : cardinal;pbParam : pointer) : longbool; cdecl;external;
+    function WinQueryPresParam(hwnd,id1,id2 : cardinal;pulId : pcardinal;cbBuf : cardinal;pbBuf : pointer;fs : cardinal) : cardinal; cdecl;external;
+    function WinRemovePresParam(hwnd,id : cardinal) : longbool; cdecl;external;
+    function WinQuerySysColor(hwndDesktop : cardinal;clr,lReserved : longint) : longint; cdecl;external;
+    function WinSetSysColors(hwndDesktop,flOptions,flFormat : cardinal;clrFirst : longint;cclr : cardinal;pclr : Plongint) : longbool; cdecl;external;
+    function WinStartTimer(hab,hwnd,idTimer,dtTimeout : cardinal) : cardinal; cdecl;external;
+    function WinStopTimer(hab,hwnd,idTimer : cardinal) : longbool; cdecl;external;
+    function WinGetCurrentTime(hab : cardinal) : cardinal; cdecl;external;
+    function WinLoadAccelTable(hab,hmod,idAccelTable : cardinal) : cardinal; cdecl;external;
+    function WinCopyAccelTable(haccel : cardinal;pAccelTable : PACCELTABLE;cbCopyMax : cardinal) : cardinal; cdecl;external;
+    function WinCreateAccelTable(hab : cardinal;pAccelTable : PACCELTABLE) : cardinal; cdecl;external;
+    function WinDestroyAccelTable(haccel : cardinal) : longbool; cdecl;external;
+    function WinTranslateAccel(hab,hwnd,haccel : cardinal;pqmsg : PQMSG) : longbool; cdecl;external;
+    function WinSetAccelTable(hab,haccel,hwndFrame : cardinal) : longbool; cdecl;external;
+    function WinQueryAccelTable(hab,hwndFrame : cardinal) : cardinal; cdecl;external;
+    function WinTrackRect(hwnd,hps : cardinal;pti : PTRACKINFO) : longbool; cdecl;external;
+    function WinShowTrackRect(hwnd : cardinal;fShow : longbool) : longbool; cdecl;external;
+    function WinSetClipbrdOwner(hab,hwnd : cardinal) : longbool; cdecl;external;
+    function WinSetClipbrdData(hab,ulData,fmt,rgfFmtInfo : cardinal) : longbool; cdecl;external;
+    function WinQueryClipbrdData(hab,fmt : cardinal) : cardinal; cdecl;external;
+    function WinQueryClipbrdFmtInfo(hab,fmt : cardinal;prgfFmtInfo : pcardinal) : longbool; cdecl;external;
+    function WinSetClipbrdViewer(hab,hwndNewClipViewer : cardinal) : longbool; cdecl;external;
+    function WinEnumClipbrdFmts(hab,fmt : cardinal) : cardinal; cdecl;external;
+    function WinEmptyClipbrd(hab : cardinal) : longbool; cdecl;external;
+    function WinOpenClipbrd(hab : cardinal) : longbool; cdecl;external;
+    function WinCloseClipbrd(hab : cardinal) : longbool; cdecl;external;
+    function WinQueryClipbrdOwner(hab : cardinal) : cardinal; cdecl;external;
+    function WinQueryClipbrdViewer(hab : cardinal) : cardinal; cdecl;external;
+    function WinDestroyCursor(hwnd : cardinal) : longbool; cdecl;external;
+    function WinShowCursor(hwnd : cardinal;fShow : longbool) : longbool; cdecl;external;
+    function WinCreateCursor(hwnd : cardinal;x,y,cx,cy : longint;fs : cardinal;prclClip : PRECTL) : longbool; cdecl;external;
+    function WinQueryCursorInfo(hwndDesktop : cardinal;pCursorInfo : PCURSORINFO) : longbool; cdecl;external;
+    function WinSetPointer(hwndDesktop,hptrNew : cardinal) : longbool; cdecl;external;
+    function WinSetPointerOwner(hptr,pid : cardinal;fDestroy : longbool) : longbool; cdecl;external;
+    function WinShowPointer(hwndDesktop : cardinal;fShow : longbool) : longbool; cdecl;external;
+    function WinQuerySysPointer(hwndDesktop : cardinal;iptr : longint;fLoad : longbool) : cardinal; cdecl;external;
+    function WinLoadPointer(hwndDesktop,hmod,idres : cardinal) : cardinal; cdecl;external;
+    function WinCreatePointer(hwndDesktop,hbmPointer : cardinal;fPointer : longbool;xHotspot,yHotspot : longint) : cardinal; cdecl;external;
+    function WinSetPointerPos(hwndDesktop : cardinal;x,y : longint) : longbool; cdecl;external;
+    function WinDestroyPointer(hptr : cardinal) : longbool; cdecl;external;
+    function WinQueryPointer(hwndDesktop : cardinal) : cardinal; cdecl;external;
+    function WinQueryPointerPos(hwndDesktop : cardinal;pptl : PPOINTL) : longbool; cdecl;external;
+    function WinCreatePointerIndirect(hwndDesktop : cardinal;pptri : PPOINTERINFO) : cardinal; cdecl;external;
+    function WinQueryPointerInfo(hptr : cardinal;pPointerInfo : PPOINTERINFO) : longbool; cdecl;external;
+    function WinDrawPointer(hps : cardinal;x,y : longint;hptr,fs : cardinal) : longbool; cdecl;external;
+    function WinGetSysBitmap(hwndDesktop,ibm : cardinal) : cardinal; cdecl;external;
+    function WinSetHook(hab,hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl;external;
+    function WinReleaseHook(hab,hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl;external;
+    function WinCallMsgFilter(hab : cardinal;pqmsg : PQMSG;msgf : cardinal) : longbool; cdecl;external;
+    function WinSetClassThunkProc(pszClassname : pshortint;pfnThunkProc : pointer) : longbool; cdecl;external;
+    function WinQueryClassThunkProc(pszClassname : pshortint) : pointer; cdecl;external;
+    function WinSetWindowThunkProc(hwnd : cardinal;pfnThunkProc : pointer) : longbool; cdecl;external;
+    function WinQueryWindowThunkProc(hwnd : cardinal) : pointer; cdecl;external;
+    function WinQueryWindowModel(hwnd : cardinal) : longint; cdecl;external;
+    function WinQueryCp(hmq : cardinal) : cardinal; cdecl;external;
+    function WinSetCp(hmq,idCodePage : cardinal) : longbool; cdecl;external;
+    function WinQueryCpList(hab,ccpMax : cardinal;prgcp : pcardinal) : cardinal; cdecl;external;
+    function WinCpTranslateString(hab,cpSrc : cardinal;pszSrc : pshortint;cpDst,cchDestMax : cardinal;pchDest : pshortint) : longbool; cdecl;external;
+    function WinCpTranslateChar(hab,cpSrc : cardinal;chSrc : byte;cpDst : cardinal) : byte; cdecl;external;
+    function WinUpper(hab,idcp,idcc : cardinal;psz : pshortint) : cardinal; cdecl;external;
+    function WinUpperChar(hab,idcp,idcc,c : cardinal) : cardinal; cdecl;external;
+    function WinNextChar(hab,idcp,idcc : cardinal;psz : pshortint) : pshortint; cdecl;external;
+    function WinPrevChar(hab,idcp,idcc : cardinal;pszStart,psz : pshortint) : pshortint; cdecl;external;
+    function WinCompareStrings(hab,idcp,idcc : cardinal;psz1,psz2 : pshortint;reserved : cardinal) : cardinal; cdecl;external;
+    function WinCreateAtomTable(cbInitial,cBuckets : cardinal) : cardinal; cdecl;external;
+    function WinDestroyAtomTable(hAtomTbl : cardinal) : cardinal; cdecl;external;
+    function WinAddAtom(hAtomTbl : cardinal;pszAtomName : pshortint) : cardinal; cdecl;external;
+    function WinFindAtom(hAtomTbl : cardinal;pszAtomName : pshortint) : cardinal; cdecl;external;
+    function WinDeleteAtom(hAtomTbl,atom : cardinal) : cardinal; cdecl;external;
+    function WinQueryAtomUsage(hAtomTbl,atom : cardinal) : cardinal; cdecl;external;
+    function WinQueryAtomLength(hAtomTbl,atom : cardinal) : cardinal; cdecl;external;
+    function WinQueryAtomName(hAtomTbl,atom : cardinal;pchBuffer : pshortint;cchBufferMax : cardinal) : cardinal; cdecl;external;
+    function WinGetLastError(hab : cardinal) : cardinal; cdecl;external;
+    function WinGetErrorInfo(hab : cardinal) : PERRINFO; cdecl;external;
+    function WinFreeErrorInfo(perrinfo : PERRINFO) : longbool; cdecl;external;
+    function WinDdeInitiate(hwndClient : cardinal;pszAppName,pszTopicName : pshortint;pcctxt : PCONVCONTEXT) : longbool; cdecl;external;
+    function WinDdeRespond(hwndClient,hwndServer : cardinal;pszAppName,pszTopicName : pshortint;pcctxt : PCONVCONTEXT) : pointer; cdecl;external;
+    function WinDdePostMsg(hwndTo,hwndFrom,wm : cardinal;pddest : PDDESTRUCT;flOptions : cardinal) : longbool; cdecl;external;
+    function WinDeleteProcedure(hab : cardinal;wndproc : ppointer) : longbool; cdecl;external;
+    function WinDeleteLibrary(hab,libhandle : cardinal) : longbool; cdecl;external;
+    function WinLoadProcedure(hab,libhandle : cardinal;procname : pshortint) : ppointer; cdecl;external;
+    function WinLoadLibrary(hab : cardinal;libname : pshortint) : cardinal; cdecl;external;
+    function WinSetDesktopBkgnd(hwndDesktop : cardinal;pdskNew : PDESKTOP) : cardinal; cdecl;external;
+    function WinQueryDesktopBkgnd(hwndDesktop : cardinal;pdsk : PDESKTOP) : longbool; cdecl;external;
+    function WinRealizePalette(hwnd,hps : cardinal;pcclr : pcardinal) : longint; cdecl;external;          
+    function cardinalFROMMP(mp : pointer) : cardinal;cdecl;
+      begin
+         cardinalFROMMP:=cardinal(mp);
+      end;                                         
+    function integer1FROMMP(mp : pointer) : word;cdecl;
+      begin
+         integer1FROMMP:=lo(cardinal(mp));   
+      end;                                             
+    function integer2FROMMP(mp : pointer) : word;cdecl; 
+      begin
+         integer2FROMMP:=hi(cardinal(mp));   
+      end;                                             
+end.