📄 win32.inc
字号:
si_dwXCountChars DWORD 0 ;screen buffer width
si_dwYCountChars DWORD 0 ;screen buffer height
si_dwFillAttribute DWORD 0 ;console window initialization
si_dwFlags DWORD 0 ;structure member flags
si_wShowWindow WORD 0 ;ShowWindow() parameter
si_cbReserved2 WORD 0 ;(reserved)
si_lpReserved2 LPBYTE 0 ;(reserved)
si_hStdInput HANDLE 0 ;standard input handle
si_hStdOutput HANDLE 0 ;standard output handle
si_hStdError HANDLE 0 ;standard error handle
STARTUPINFO ends
SECURITY_ATTRIBUTES_ equ 4+4+4
SECURITY_ATTRIBUTES struct
sa_nLength DWORD SECURITY_ATTRIBUTES_ ;structure size
sa_lpSecurityDescriptor LPVOID 30h ;security descriptor
sa_bInheritHandle BOOL 0 ;handle inheritance flag
SECURITY_ATTRIBUTES ends
DBG_CONTINUE EQU 10002h
DBG_TERMINATE_THREAD EQU 40010003h
DBG_TERMINATE_PROCESS EQU 40010004h
DBG_CONTROL_C EQU 40010005h
DBG_CONTROL_BREAK EQU 40010008h
DBG_EXCEPTION_NOT_HANDLED EQU 80010001h
EXCEPTION_CONTINUE_EXECUTION EQU 00000000h
EXCEPTION_CONTINUE_SEARCH EQU 00000001h
EXCEPTION_EXECUTE_HANDLER EQU 00000002h
SEM_FAILCRITICALERRORS EQU 00000001h
SEM_NOGPFAULTERRORBOX EQU 00000002h
SEM_NOALIGNMENTFAULTEXCEPT EQU 00000004h
SEM_NOOPENFILEERRORBOX EQU 00008000h
;
;------------------------------------------------------------------------------
;
; ====================
; thread context flags
; ====================
;
CONTEXT_i386 equ 00010000h
CONTEXT_i486 equ 00010000h
;
CONTEXT_CONTROL equ CONTEXT_i386+00000001h
CONTEXT_INTEGER equ CONTEXT_i386+00000002h
CONTEXT_SEGMENTS equ CONTEXT_i386+00000004h
CONTEXT_FLOATING_POINT equ CONTEXT_i386+00000008h
CONTEXT_DEBUG_REGISTERS equ CONTEXT_i386+00000010h
;
CONTEXT_FULL equ CONTEXT_CONTROL+\
CONTEXT_INTEGER+\
CONTEXT_SEGMENTS
;
SIZE_OF_80387_REGISTERS equ 80
CONTEXT struct
;
cx_ContextFlags DWORD 0 ;context flags
;
; CONTEXT_DEBUG_REGISTERS
;
cx_Dr0 DWORD 0 ;debug register #0
cx_Dr1 DWORD 0 ;debug register #1
cx_Dr2 DWORD 0 ;debug register #2
cx_Dr3 DWORD 0 ;debug register #3
cx_Dr6 DWORD 0 ;debug register #6
cx_Dr7 DWORD 0 ;debug register #7
;
; CONTEXT_FLOATING_POINT
;
cx_ControlWord DWORD 0 ;fpu context
cx_StatusWord DWORD 0
cx_TagWord DWORD 0
cx_ErrorOffset DWORD 0
cx_ErrorSelector DWORD 0
cx_DataOffset DWORD 0
cx_DataSelector DWORD 0
cx_RegisterArea BYTE SIZE_OF_80387_REGISTERS dup (0)
cx_Cr0NpxState DWORD 0
;
; CONTEXT_SEGMENTS
;
cx_SegGs DWORD 0 ;gs register
cx_SegFs DWORD 0 ;fs register
cx_SegEs DWORD 0 ;es register
cx_SegDs DWORD 0 ;ds register
;
; CONTEXT_INTEGER
;
cx_Edi DWORD 0 ;edi register
cx_Esi DWORD 0 ;esi register
cx_Ebx DWORD 0 ;ebx register
cx_Edx DWORD 0 ;edx register
cx_Ecx DWORD 0 ;ecx register
cx_Eax DWORD 0 ;eax register
;
; CONTEXT_CONTROL
;
cx_Ebp DWORD 0 ;ebp register
cx_Eip DWORD 0 ;eip register
cx_SegCs DWORD 0 ;cs register
cx_EFlags DWORD 0 ;eflags register
cx_Esp DWORD 0 ;esp register
cx_SegSs DWORD 0 ;ss register
;
CONTEXT ends
;
CONTEXT_FLAGS_ equ 4
CONTEXT_DEBUG_REGISTERS_ equ 4+4+4+4+4+4
CONTEXT_FLOATING_POINT_ equ 4+4+4+4+4+4+4+SIZE_OF_80387_REGISTERS+4
CONTEXT_SEGMENTS_ equ 4+4+4+4
CONTEXT_INTEGER_ equ 4+4+4+4+4+4
CONTEXT_CONTROL_ equ 4+4+4+4+4+4
;
CONTEXT_FULL_ equ CONTEXT_FLAGS_+\
CONTEXT_SEGMENTS_+\
CONTEXT_INTEGER_+\
CONTEXT_CONTROL_
CONTEXT_STDREG_ EQU CONTEXT_FLAGS_+CONTEXT_SEGMENTS_+CONTEXT_DEBUG_REGISTERS_+CONTEXT_FLOATING_POINT_
_CONTEXT EQU CONTEXT_FLAGS_+\
CONTEXT_DEBUG_REGISTERS_+\
CONTEXT_FLOATING_POINT_+\
CONTEXT_SEGMENTS_+\
CONTEXT_INTEGER_+\
CONTEXT_CONTROL_
DEBUGEVENT_ EQU 4+4+4+4
DEBUGEVENT STRUCT
de_dwDebugEventCode DWORD 0
de_dwProcessId DWORD 0
de_dwThreadId DWORD 0
de_dwException DD 20 dup (0)
de_dwFirstChance DWORD 0
de_dwcreatethread DWORD 0
de_dwthreadbase DWORD 0
de_dwthreadtstart DWORD 0
de_dwhfile DWORD 0
de_dwhprocess DWORD 0
de_dwhthread DWORD 0
u DB 40h dup(0)
DEBUGEVENT ENDS
;
;------------------------------------------------------------------------------
;
; ============
; status codes
; ============
;
STATUS_WAIT_0 equ 000000000h
STATUS_ABANDONED_WAIT_0 equ 000000080h
STATUS_USER_APC equ 0000000C0h
STATUS_TIMEOUT equ 000000102h
STATUS_PENDING equ 000000103h
STATUS_SEGMENT_NOTIFICATION equ 040000005h
STATUS_GUARD_PAGE_VIOLATION equ 080000001h
STATUS_DATATYPE_MISALIGNMENT equ 080000002h
STATUS_BREAKPOINT equ 080000003h
STATUS_SINGLE_STEP equ 080000004h
STATUS_ACCESS_VIOLATION equ 0C0000005h
STATUS_IN_PAGE_ERROR equ 0C0000006h
STATUS_NO_MEMORY equ 0C0000017h
STATUS_ILLEGAL_INSTRUCTION equ 0C000001Dh
STATUS_NONCONTINUABLE_EXCEPTION equ 0C0000025h
STATUS_INVALID_DISPOSITION equ 0C0000026h
STATUS_ARRAY_BOUNDS_EXCEEDED equ 0C000008Ch
STATUS_FLOAT_DENORMAL_OPERAND equ 0C000008Dh
STATUS_FLOAT_DIVIDE_BY_ZERO equ 0C000008Eh
STATUS_FLOAT_INEXACT_RESULT equ 0C000008Fh
STATUS_FLOAT_INVALID_OPERATION equ 0C0000090h
STATUS_FLOAT_OVERFLOW equ 0C0000091h
STATUS_FLOAT_STACK_CHECK equ 0C0000092h
STATUS_FLOAT_UNDERFLOW equ 0C0000093h
STATUS_INTEGER_DIVIDE_BY_ZERO equ 0C0000094h
STATUS_INTEGER_OVERFLOW equ 0C0000095h
STATUS_PRIVILEGED_INSTRUCTION equ 0C0000096h
STATUS_STACK_OVERFLOW equ 0C00000FDh
STATUS_CONTROL_C_EXIT equ 0C000013Ah
;
; Stock Logical Objects
;
WHITE_BRUSH = 0
LTGRAY_BRUSH = 1
GRAY_BRUSH = 2
DKGRAY_BRUSH = 3
BLACK_BRUSH = 4
NULL_BRUSH = 5
HOLLOW_BRUSH = 5
WHITE_PEN = 6
BLACK_PEN = 7
NULL_PEN = 8
DOT_MARKER = 9
OEM_FIXED_FONT = 10
ANSI_FIXED_FONT = 11
ANSI_VAR_FONT = 12
SYSTEM_FONT = 13
DEVICE_DEFAULT_FONT = 14
DEFAULT_PALETTE = 15
SYSTEM_FIXED_FONT = 16
;
; Brush Styles
;
BS_SOLID = 0
BS_NULL = 1
BS_HOLLOW = BS_NULL
BS_HATCHED = 2
BS_PATTERN = 3
BS_INDEXED = 4
BS_DIBPATTERN = 5
;
; Hatch Styles
;
HS_HORIZONTAL = 0 ; -----
HS_VERTICAL = 1 ; |||||
HS_FDIAGONAL = 2 ; \\\\\
HS_BDIAGONAL = 3 ; /////
HS_CROSS = 4 ; +++++
HS_DIAGCROSS = 5 ; xxxxx
;
; Pen Styles
;
PS_SOLID = 0
PS_DASH = 1 ; -------
PS_DOT = 2 ; .......
PS_DASHDOT = 3 ; _._._._
PS_DASHDOTDOT = 4 ; _.._.._
PS_NULL = 5
PS_INSIDEFRAME = 6
;============================================================
;===== Win32 Constants ======================================
LVIS_FOCUSED EQU 0001
LVIS_SELECTED EQU 0002
LVIS_CUT EQU 0004
LVIS_DROPHILITED EQU 0008
LVIS_OVERLAYMASK EQU 00F00h
LVIS_STATEIMAGEMASK EQU 0F000h
TPM_LEFTBUTTON EQU 0000h
TPM_RIGHTBUTTON EQU 0002h
TPM_LEFTALIGN EQU 0000h
TPM_CENTERALIGN EQU 0004h
TPM_RIGHTALIGN EQU 0008h
TPM_TOPALIGN EQU 0000h
TPM_VCENTERALIGN EQU 0010h
TPM_BOTTOMALIGN EQU 0020h
TPM_HORIZONTAL EQU 0000h
TPM_VERTICAL EQU 0040h
TPM_NONOTIFY EQU 0080h
TPM_RETURNCMD EQU 0100h
TPM_RECURSE EQU 0001h
NM_FIRST EQU 0
NM_LAST EQU 0-99
NM_OUTOFMEMORY EQU NM_FIRST-1
NM_CLICK EQU NM_FIRST-2
NM_DBLCLK EQU NM_FIRST-3
NM_RETURN EQU NM_FIRST-4
NM_RCLICK EQU NM_FIRST-5
NM_RDBLCLK EQU NM_FIRST-6
NM_SETFOCUS EQU NM_FIRST-7
NM_KILLFOCUS EQU NM_FIRST-8
NM_CUSTOMDRAW EQU NM_FIRST-12
NM_HOVER EQU NM_FIRST-13
NM_NCHITTEST EQU NM_FIRST-14
NM_KEYDOWN EQU NM_FIRST-15
NM_RELEASEDCAPTURE EQU NM_FIRST-16
NM_SETCURSOR EQU NM_FIRST-17
NM_CHAR EQU NM_FIRST-18
;
; Window State Messages
BST_UNCHECKED EQU 00h
BST_CHECKED EQU 01h
BST_INDETERMINATE EQU 02h
;
IFNDEF NOWM
;
;------------------------------------------------------------------------------
;
; ===============
; 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -