; WinPatcheur v1.3.6
;=============
; APIs
;=============
Extrn RegSetValueExA :PROC
Extrn RegCreateKeyExA :PROC
Extrn RegCloseKey :PROC
Extrn FindWindowA :PROC
Extrn UpdateWindow :PROC
Extrn MoveWindow :PROC
Extrn EndPaint :PROC
Extrn BeginPaint :PROC
Extrn GetCloseFileNameA :PROC
Extrn SetFocus :PROC
Extrn SendMessageA :PROC
Extrn GetDlgItem :PROC
Extrn SetWindowTextA :PROC
Extrn SendDlgItemTextA :PROC
Extrn DestroyWindow :PROC
Extrn MessageBoxA :PROC
Extrn DialogBoxParamA :PROC
Extrn SendDlgItemMessageA:PROC
Extrn SetDlgItemTextA :PROC
Extrn TranslateMessage :PROC
Extrn ExitProcess :PROC
Extrn GetMessageA :PROC
Extrn DispatchMessageA :PROC
Extrn GetDlgItemTextA :PROC
Extrn GetModuleHandleA :PROC
Extrn DefWindowProcA :PROC
Extrn DispatchMessageA :PROC
Extrn GetMessageA :PROC
Extrn CreateFileA :PROC
Extrn DeleteFileA :PROC
Extrn GetOpenFileNameA :PROC
Extrn GetFileSize :PROC
Extrn CopyFileA :PROC
Extrn SetFilePointer :PROC
Extrn WriteFile :PROC
Extrn ReadFile :PROC
Extrn CloseHandle :PROC
Extrn GetWindowTextA :PROC
Extrn GetWindowText :PROC
Extrn DlgProcedure :PROC
Extrn lstrcat :PROC
Extrn MessageBeep :PROC
Extrn ShowWindow :PROC
Extrn CreateDialogParamA :PROC
Extrn EndDialog :PROC
Extrn LoadIconA :PROC
Extrn RegisterClassA :PROC
Extrn GetWindowRect :PROC
Extrn SetCapture :PROC
Extrn ReleaseCapture :PROC
Extrn SetWindowPos :PROC
Extrn EnableWindow :PROC
Extrn GetCursorPos :PROC
Extrn LoadCursorA :PROC
Extrn SetCursor :PROC
Extrn CreateRoundRectRgn :PROC
Extrn CreateRectRgn :PROC
Extrn SetWindowRgn :PROC
Extrn CombineRgn :PROC
Extrn CreatePolygonRgn :PROC
Extrn CreateEllipticRgn :PROC
Extrn SetTextColor :PROC
Extrn SetBkColor :PROC
Extrn SetBkMode :PROC
Extrn SelectObject :PROC
Extrn CreateSolidBrush :PROC
Extrn CreateWindowExA :PROC
Extrn DeleteObject :PROC
Extrn LoadBitmapA :PROC
Extrn GetDC :PROC
Extrn CreateCompatibleDC :PROC
Extrn SelectObject :PROC
Extrn BitBlt :PROC
Extrn DeleteDC :PROC
Extrn ReleaseDC :PROC
Extrn CreateFontA :PROC
UINT EQU
; 32 bits for WIN32
ULONG EQU
;===================================================================
;
; Window Class structure
;
;===================================================================
;NULL EQU 0h
HRGN typedef DWORD ;region handle
WNDCLASS struc
clsStyle UINT ?
clsLpfnWndProc ULONG ?
clsCbClsExtra UINT ?
clsCbWndExtra UINT ?
clsHInstance UINT ?
clsHIcon UINT ?
clsHCursor UINT ?
clsHbrBackground UINT ?
clsLpszMenuName ULONG ?
clsLpszClassName ULONG ?
hIconSm UINT ?
WNDCLASS ends
MSGSTRUCT struc
msHWND UINT ?
msMESSAGE UINT ?
msWPARAM UINT ?
msLPARAM ULONG ?
msTIME ULONG ?
msPT ULONG 2 dup(?)
MSGSTRUCT ends
RECT struc
left ULONG ?
top ULONG ?
right ULONG ?
bottom ULONG ?
RECT ends
TRG struc
x1 ULONG ?
y1 ULONG ?
x2 ULONG ?
y2 ULONG ?
x3 ULONG ?
y3 ULONG ?
x4 ULONG ?
y4 ULONG ?
TRG ends
TRG_long struc
x1 ULONG ?
y1 ULONG ?
x2 ULONG ?
y2 ULONG ?
x3 ULONG ?
y3 ULONG ?
x4 ULONG ?
y4 ULONG ?
x5 ULONG ?
y5 ULONG ?
x6 ULONG ?
y6 ULONG ?
TRG_long ends
FILE_ATTRIBUTE_NORMAL equ 80h
;
;==================
; Liens evenements
;==================
ID_DLG equ 5001
IDD_OPEN equ 1000
IDD_EXIT equ 1001
IDD_ABT equ 1002
IDD_REDUC equ 1003
IDD_CROSS equ 1004
IDD_NFO equ 1005
ID_NFODLG equ 5002
IDD_REDUCNFO equ 1111
IDD_CLOSENFO equ 1112
IDD_BOX1 equ 1101
IDD_BOX2 equ 1102
IDD_BOX3 equ 1103
ID_FILE equ 103
ID_BACKUP equ 104
ID_NFOICON equ 105
ID_PIC equ 65535
; ==================
; MessageBox() flags
; ==================
MB_OK equ 00000000h
MB_OKCANCEL equ 00000001h
MB_ABORTRETRYIGNORE equ 00000002h
MB_YESNOCANCEL equ 00000003h
MB_YESNO equ 00000004h
MB_RETRYCANCEL equ 00000005h
;
; Icones
MB_ICONHAND equ 10h
MB_ICONQUESTION equ 20h
MB_ICONEXCLAMATION equ 30h
MB_ICONASTERISK equ 40h
;============================
; Retour infos de MessageBox
;============================
IDCANCEL equ 2
IDNO equ 7
;=====================
; Gestion de fichiers
;=====================
FILE_ATTRIBUTE_NORMAL equ 80h
OPEN_EXISTING equ 3
FILE_SHARE_READ equ 1
GENERIC_WRITE equ 40000000h
INVALID_HANDLE_VALUE equ 0FFFFFFFFh
TRUE equ 1
FILE_BEGIN equ 0
OFN_HIDEREADONLY equ 4h
OFN_FILEMUSTEXIST equ 1000h
OFN_PATHMUSTEXIST equ 800h
NULL equ 0
GENERIC_WRITE EQU 040000000h
CS_VREDRAW equ 0001h
CS_HREDRAW equ 0002h
CS_GLOBALCLASS equ 4000h ; Global window class
; handle
HWND typedef DWORD
; =============
; window styles
; =============
;
WS_OVERLAPPED equ 00000000h
WS_TABSTOP equ 00010000h
WS_GROUP equ 00020000h
WS_MAXIMIZEBOX equ 00010000h
WS_MINIMIZEBOX equ 00020000h
WS_THICKFRAME equ 00040000h
WS_SYSMENU equ 00080000h
WS_HSCROLL equ 00100000h
WS_VSCROLL equ 00200000h
WS_DLGFRAME equ 00400000h
WS_BORDER equ 00800000h
WS_MAXIMIZE equ 01000000h
WS_CLIPCHILDREN equ 02000000h
WS_CLIPSIBLINGS equ 04000000h
WS_DISABLED equ 08000000h
WS_VISIBLE equ 10000000h
WS_MINIMIZE equ 20000000h
WS_CHILD equ 40000000h
WS_POPUP equ 80000000h
;
WS_CAPTION equ WS_BORDER+WS_DLGFRAME
WS_POPUPWINDOW equ WS_POPUP+WS_BORDER+WS_SYSMENU
WS_MODAL equ WS_CAPTION+WS_SYSMENU+WS_VISIBLE
WS_MODELESS equ WS_CAPTION+WS_SYSMENU+WS_VISIBLE
WS_CONTROL equ WS_CHILD+WS_VISIBLE
WS_OVERLAPPEDWINDOW equ WS_OVERLAPPED+WS_CAPTION+WS_SYSMENU+\
WS_THICKFRAME+WS_MINIMIZEBOX+\
WS_MAXIMIZEBOX
;
WS_TILED equ WS_OVERLAPPED
WS_CHILDWINDOW equ WS_CHILD
WS_ICONIC equ WS_MINIMIZE
WS_SIZEBOX equ WS_THICKFRAME
WS_TILEDWINDOW equ WS_OVERLAPPEDWINDOW
;
;------------------------------------------------------------------------------
;
; ======================
; extended window styles
; ======================
;
WS_EX_NONE equ 00000000h
WS_EX_DLGMODALFRAME equ 00000001h
WS_EX_NOPARENTNOTIFY equ 00000004h
WS_EX_TOPMOST equ 00000008h
WS_EX_ACCEPTFILES equ 00000010h
WS_EX_TRANSPARENT equ 00000020h
WS_EX_MDICHILD equ 00000040h
WS_EX_TOOLWINDOW equ 00000080h
WS_EX_WINDOWEDGE equ 00000100h
WS_EX_CLIENTEDGE equ 00000200h
WS_EX_CONTEXTHELP equ 00000400h
WS_EX_RIGHT equ 00001000h
WS_EX_LEFT equ 00000000h
WS_EX_RTLREADING equ 00002000h
WS_EX_LTRREADING equ 00000000h
WS_EX_LEFTSCROLLBAR equ 00004000h
WS_EX_RIGHTSCROLLBAR equ 00000000h
WS_EX_CONTROLPARENT equ 00010000h
WS_EX_STATICEDGE equ 00020000h
WS_EX_APPWINDOW equ 00040000h
;
WS_EX_OVERLAPPEDWINDOW equ 00000300h
WS_EX_PALETTEWINDOW equ 00000188h
;
;===================
; Evenements souris
;===================
GW_HWNDLAST equ 1
BM_GETCHECK equ 00F0h
BM_SETCHECK equ 00F1h
BM_GETSTATE equ 00F2h
BM_SETSTATE equ 00F3h
BM_SETSTYLE equ 00F4h
BM_CLICK equ 00F5h
BM_GETIMAGE equ 00F6h
BM_SETIMAGE equ 00F7h
BST_CHECKED equ 01h
;================
; window mode
;================
SW_SHOWMINIMIZED equ 2
SW_RESTORE equ 3
SW_HIDE equ 4
SW_MAXIMIZE equ 5
SW_MINIMIZE equ 6
SW_SHOW equ 7
SW_SHOWDEFAULT equ 8
SW_SHOWMAXIMIZED equ 9
SW_SHOWMINNOACTIVE equ 10
SW_SHOWNA equ 11
SW_SHOWNOACTIVATE equ 12
SW_SHOWNORMAL equ 13
; ====================
; SetWindowPos() flags
; ====================
SWP_NOSIZE equ 0001h
SWP_NOMOVE equ 0002h
SWP_NOZORDER equ 0004h
SWP_NOREDRAW equ 0008h
SWP_NOACTIVATE equ 0010h
SWP_FRAMECHANGED equ 0020h
SWP_SHOWWINDOW equ 0040h
SWP_HIDEWINDOW equ 0080h
SWP_NOCOPYBITS equ 0100h
SWP_NOOWNERZORDER equ 0200h
SWP_NOSENDCHANGING equ 0400h
SWP_DEFERERASE equ 2000h
SWP_ASYNCWINDOWPOS equ 4000h
;===============
; Task bar
;===============
;TB_ISBUTTONPRESSED equ 2
;->
IDD_BACK equ 1100
; ===================
; CombineRgn() styles
; ===================
;
RGN_AND equ 1
RGN_OR equ 2
RGN_XOR equ 3
RGN_DIFF equ 4
RGN_COPY equ 5
RGN_MIN equ RGN_AND
RGN_MAX equ RGN_COPY
RGB_BLACK equ 00000000h
RGB_VDKGRAY32 equ 00202020h
RGB_DKGRAY equ 00404040h
RGB_SOLIDGRAY equ 00808080h
RGB_SOLIDLTGRAY equ 00C0C0C0h
RGB_EBONY equ 00E0E0E0h
RGB_BLUE equ 00FF0000h
RGB_GREEN equ 0000FF00h
RGB_RED equ 000000FFh
; =======================
; button control messages
; =======================
;
BM_GETCHECK equ 00F0h
BM_SETCHECK equ 00F1h
BM_GETSTATE equ 00F2h
BM_SETSTATE equ 00F3h
BM_SETSTYLE equ 00F4h
BM_CLICK equ 00F5h
BM_GETIMAGE equ 00F6h
BM_SETIMAGE equ 00F7h
;
IMAGE_BITMAP EQU 00000h
IMAGE_ICON EQU 00001h
IMAGE_CURSOR EQU 00002h
; =========================
; ternary raster operations
; =========================
;
SRCCOPY equ 00CC0020h ;dest = src
SRCPAINT equ 00EE0086h ;dest = src or dest
SRCAND equ 008800C6h ;dest = src and dest
SRCINVERT equ 00660046h ;dest = src xor dest
SRCERASE equ 00440328h ;dest = src and -dest
NOTSRCCOPY equ 00330008h ;dest = -src
NOTSRCERASE equ 001100A6h ;dest = -src and -dest
MERGECOPY equ 00C000CAh ;dest = src and pat
MERGEPAINT equ 00BB0226h ;dest = -src or dest
PATCOPY equ 00F00021h ;dest = pat
PATPAINT equ 00FB0A09h ;dest = DPSnoo
PATINVERT equ 005A0049h ;dest = pat xor dest
DSTINVERT equ 00550009h ;dest = -dest
BLACKNESS equ 00000042h ;dest = black
WHITENESS equ 00FF0062h ;dest = white
; ===============
; window messages
; ===============
;
WM_NULL equ 0000h
WM_CREATE equ 0001h
WM_DESTROY equ 0002h
WM_MOVE equ 0003h
WM_SIZE equ 0005h
WM_ACTIVATE equ 0006h
WM_SETFOCUS equ 0007h
WM_KILLFOCUS equ 0008h
WM_ENABLE equ 000Ah
WM_SETREDRAW equ 000Bh
WM_SETTEXT equ 000Ch
WM_GETTEXT equ 000Dh
WM_GETTEXTLENGTH equ 000Eh
WM_PAINT equ 000Fh
WM_CLOSE equ 0010h
WM_QUERYENDSESSION equ 0011h
WM_QUIT equ 0012h
WM_QUERYOPEN equ 0013h
WM_ERASEBKGND equ 0014h
WM_SYSCOLORCHANGE equ 0015h
WM_ENDSESSION equ 0016h
WM_SHOWWINDOW equ 0018h
WM_WININICHANGE equ 001Ah
WM_SETTINGCHANGE equ WM_WININICHANGE
WM_DEVMODECHANGE equ 001Bh
WM_ACTIVATEAPP equ 001Ch
WM_FONTCHANGE equ 001Dh
WM_TIMECHANGE equ 001Eh
WM_CANCELMODE equ 001Fh
WM_SETCURSOR equ 0020h
WM_MOUSEACTIVATE equ 0021h
WM_CHILDACTIVATE equ 0022h
WM_QUEUESYNC equ 0023h
WM_GETMINMAXINFO equ 0024h
WM_PAINTICON equ 0026h
WM_ICONERASEBKGND equ 0027h
WM_NEXTDLGCTL equ 0028h
WM_SPOOLERSTATUS equ 002Ah
WM_DRAWITEM equ 002Bh
WM_MEASUREITEM equ 002Ch
WM_DELETEITEM equ 002Dh
WM_VKEYTOITEM equ 002Eh
WM_CHARTOITEM equ 002Fh
WM_SETFONT equ 0030h
WM_GETFONT equ 0031h
WM_SETHOTKEY equ 0032h
WM_GETHOTKEY equ 0033h
WM_QUERYDRAGICON equ 0037h
WM_COMPAREITEM equ 0039h
WM_COMPACTING equ 0041h
WM_COMMNOTIFY equ 0044h ;no longer suported
WM_WINDOWPOSCHANGING equ 0046h
WM_WINDOWPOSCHANGED equ 0047h
WM_POWER equ 0048h
WM_COPYDATA equ 004Ah
WM_CANCELJOURNAL equ 004Bh
WM_NOTIFY equ 004Eh
WM_INPUTLANGCHANGEREQUEST equ 0050h
WM_INPUTLANGCHANGE equ 0051h
WM_TCARD equ 0052h
WM_HELP equ 0053h
WM_USERCHANGED equ 0054h
WM_NOTIFYFORMAT equ 0055h
WM_CONTEXTMENU equ 007Bh
WM_STYLECHANGING equ 007Ch
WM_STYLECHANGED equ 007Dh
WM_DISPLAYCHANGE equ 007Eh
WM_GETICON equ 007Fh
WM_SETICON equ 0080h
WM_NCCREATE equ 0081h
WM_NCDESTROY equ 0082h
WM_NCCALCSIZE equ 0083h
WM_NCHITTEST equ 0084h
WM_NCPAINT equ 0085h
WM_NCACTIVATE equ 0086h
WM_GETDLGCODE equ 0087h
;
WM_NCMOUSEMOVE equ 00A0h
WM_NCLBUTTONDOWN equ 00A1h
WM_NCLBUTTONUP equ 00A2h
WM_NCLBUTTONDBLCLK equ 00A3h
WM_NCRBUTTONDOWN equ 00A4h
WM_NCRBUTTONUP equ 00A5h
WM_NCRBUTTONDBLCLK equ 00A6h
WM_NCMBUTTONDOWN equ 00A7h
WM_NCMBUTTONUP equ 00A8h
WM_NCMBUTTONDBLCLK equ 00A9h
;
WM_KEYFIRST equ 0100h
WM_KEYDOWN equ 0100h
WM_KEYUP equ 0101h
WM_CHAR equ 0102h
WM_DEADCHAR equ 0103h
WM_SYSKEYDOWN equ 0104h
WM_SYSKEYUP equ 0105h
WM_SYSCHAR equ 0106h
WM_SYSDEADCHAR equ 0107h
WM_KEYLAST equ 0108h
;
WM_IME_STARTCOMPOSITION equ 010Dh
WM_IME_ENDCOMPOSITION equ 010Eh
WM_IME_COMPOSITION equ 010Fh
WM_IME_KEYLAST equ 010Fh
WM_INITDIALOG equ 0110h
WM_COMMAND equ 0111h
WM_SYSCOMMAND equ 0112h
WM_TIMER equ 0113h
WM_HSCROLL equ 0114h
WM_VSCROLL equ 0115h
WM_INITMENU equ 0116h
WM_INITMENUPOPUP equ 0117h
WM_MENUSELECT equ 011Fh
WM_MENUCHAR equ 0120h
WM_ENTERIDLE equ 0121h
WM_CTLCOLORMSGBOX equ 0132h
WM_CTLCOLOREDIT equ 0133h
WM_CTLCOLORLISTBOX equ 0134h
WM_CTLCOLORBTN equ 0135h
WM_CTLCOLORDLG equ 0136h
WM_CTLCOLORSCROLLBAR equ 0137h
WM_CTLCOLORSTATIC equ 0138h
;
WM_MOUSEFIRST equ 0200h
WM_MOUSEMOVE equ 0200h
WM_LBUTTONDOWN equ 0201h
WM_LBUTTONUP equ 0202h
WM_LBUTTONDBLCLK equ 0203h
WM_RBUTTONDOWN equ 0204h
WM_RBUTTONUP equ 0205h
WM_RBUTTONDBLCLK equ 0206h
WM_MBUTTONDOWN equ 0207h
WM_MBUTTONUP equ 0208h
WM_MBUTTONDBLCLK equ 0209h
WM_MOUSELAST equ 0209h
;
WM_PARENTNOTIFY equ 0210h
WM_ENTERMENULOOP equ 0211h
WM_EXITMENULOOP equ 0212h
WM_NEXTMENU equ 0213h
WM_SIZING equ 0214h
WM_CAPTURECHANGED equ 0215h
WM_MOVING equ 0216h
WM_POWERBROADCAST equ 0218h
WM_DEVICECHANGE equ 0219h
WM_MDICREATE equ 0220h
WM_MDIDESTROY equ 0221h
WM_MDIACTIVATE equ 0222h
WM_MDIRESTORE equ 0223h
WM_MDINEXT equ 0224h
WM_MDIMAXIMIZE equ 0225h
WM_MDITILE equ 0226h
WM_MDICASCADE equ 0227h
WM_MDIICONARRANGE equ 0228h
WM_MDIGETACTIVE equ 0229h
WM_MDISETMENU equ 0230h
WM_ENTERSIZEMOVE equ 0231h
WM_EXITSIZEMOVE equ 0232h
WM_DROPFILES equ 0233h
WM_MDIREFRESHMENU equ 0234h
;
WM_IME_SETCONTEXT equ 0281h
WM_IME_NOTIFY equ 0282h
WM_IME_CONTROL equ 0283h
WM_IME_COMPOSITIONFULL equ 0284h
WM_IME_SELECT equ 0285h
WM_IME_CHAR equ 0286h
WM_IME_KEYDOWN equ 0290h
WM_IME_KEYUP equ 0291h
;
WM_CUT equ 0300h
WM_COPY equ 0301h
WM_PASTE equ 0302h
WM_CLEAR equ 0303h
WM_UNDO equ 0304h
WM_RENDERFORMAT equ 0305h
WM_RENDERALLFORMATS equ 0306h
WM_DESTROYCLIPBOARD equ 0307h
WM_DRAWCLIPBOARD equ 0308h
WM_PAINTCLIPBOARD equ 0309h
WM_VSCROLLCLIPBOARD equ 030Ah
WM_SIZECLIPBOARD equ 030Bh
WM_ASKCBFORMATNAME equ 030Ch
WM_CHANGECBCHAIN equ 030Dh
WM_HSCROLLCLIPBOARD equ 030Eh
WM_QUERYNEWPALETTE equ 030Fh
WM_PALETTEISCHANGING equ 0310h
WM_PALETTECHANGED equ 0311h
WM_HOTKEY equ 0312h
WM_PRINT equ 0317h
WM_PRINTCLIENT equ 0318h
;
WM_HANDHELDFIRST equ 0358h
WM_HANDHELDLAST equ 035Fh
;
WM_AFXFIRST equ 0360h
WM_AFXLAST equ 037Fh
;
WM_PENWINFIRST equ 0380h
WM_PENWINLAST equ 038Fh
;
WM_DDE_FIRST equ 03E0h
WM_DDE_INITIATE equ WM_DDE_FIRST
WM_DDE_TERMINATE equ WM_DDE_FIRST+1
WM_DDE_ADVISE equ WM_DDE_FIRST+2
WM_DDE_UNADVISE equ WM_DDE_FIRST+3
WM_DDE_ACK equ WM_DDE_FIRST+4
WM_DDE_DATA equ WM_DDE_FIRST+5
WM_DDE_REQUEST equ WM_DDE_FIRST+6
WM_DDE_POKE equ WM_DDE_FIRST+7
WM_DDE_EXECUTE equ WM_DDE_FIRST+8
WM_DDE_LAST equ 03E8h
;
WM_USER equ 0400h
WM_APP equ 8000h
; =================
; owner draw states
; =================
;
ODS_SELECTED equ 0001h
ODS_GRAYED equ 0002h
ODS_DISABLED equ 0004h
ODS_CHECKED equ 0008h
ODS_FOCUS equ 0010h
ODS_DEFAULT equ 0020h
ODS_COMBOBOXEDIT equ 1000h
;
;------------------------------------------------------------------------------
;
; ================
; owner draw types
; ================
;
ODT_MENU equ 1
ODT_LISTBOX equ 2
ODT_COMBOBOX equ 3
ODT_BUTTON equ 4
ODT_STATIC equ 5
;
; =====================
; static control styles
; =====================
;
SS_LEFT equ 0000h
SS_CENTER equ 0001h
SS_RIGHT equ 0002h
SS_ICON equ 0003h
SS_BLACKRECT equ 0004h
SS_GRAYRECT equ 0005h
SS_WHITERECT equ 0006h
SS_BLACKFRAME equ 0007h
SS_GRAYFRAME equ 0008h
SS_WHITEFRAME equ 0009h
SS_USERITEM equ 000Ah
SS_SIMPLE equ 000Bh
SS_LEFTNOWORDWRAP equ 000Ch
SS_BITMAP equ 000Eh
SS_OWNERDRAW equ 000Dh
SS_ENHMETAFILE equ 000Fh
SS_ETCHEDHORZ equ 0010h
SS_ETCHEDVERT equ 0011h
SS_ETCHEDFRAME equ 0012h
SS_TYPEMASK equ 001Fh
SS_NOPREFIX equ 0080h
SS_NOTIFY equ 0100h
SS_CENTERIMAGE equ 0200h
SS_RIGHTJUST equ 0400h
SS_REALSIZEIMAGE equ 0800h
SS_SUNKEN equ 1000h
OUT_DEFAULT_PRECIS equ 0
OUT_STRING_PRECIS equ 1
OUT_CHARACTER_PRECIS equ 2
OUT_STROKE_PRECIS equ 3
OUT_TT_PRECIS equ 4
OUT_DEVICE_PRECIS equ 5
OUT_RASTER_PRECIS equ 6
OUT_TT_ONLY_PRECIS equ 7
OUT_OUTLINE_PRECIS equ 8
CLIP_DEFAULT_PRECIS equ 0
CLIP_CHARACTER_PRECIS equ 1
CLIP_STROKE_PRECIS equ 2
CLIP_MASK equ 0Fh
CLIP_LH_ANGLES equ 16
CLIP_TT_ALWAYS equ 32
CLIP_EMBEDDED equ 128
DEFAULT_QUALITY equ 0
DRAFT_QUALITY equ 1
PROOF_QUALITY equ 2
DEFAULT_PITCH equ 0
FIXED_PITCH equ 1
VARIABLE_PITCH equ 2
ANSI_CHARSET equ 0
DEFAULT_CHARSET equ 1
SYMBOL_CHARSET equ 2
SHIFTJIS_CHARSET equ 128
HANGEUL_CHARSET equ 129
CHINESEBIG5_CHARSET equ 136
OEM_CHARSET equ 255
FF_DONTCARE equ 0
FF_ROMAN equ 16
FF_SWISS equ 32
FF_MODERN equ 48
FF_SCRIPT equ 64
FF_DECORATIVE equ 80
FW_DONTCARE equ 0
FW_THIN equ 100
FW_EXTRALIGHT equ 200
FW_LIGHT equ 300
FW_NORMAL equ 400
FW_MEDIUM equ 500
FW_SEMIBOLD equ 600
FW_BOLD equ 700
FW_EXTRABOLD equ 800
FW_HEAVY equ 900
FW_ULTRALIGHT equ FW_EXTRALIGHT
FW_REGULAR equ FW_NORMAL
FW_DEMIBOLD equ FW_SEMIBOLD
FW_ULTRABOLD equ FW_EXTRABOLD
FW_BLACK equ FW_HEAVY