⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user64.inc

📁 一个用纯汇编 写的操作系统 源代码 是用 TASM 编译器写的
💻 INC
📖 第 1 页 / 共 3 页
字号:

WA_INACTIVE    = 0
WA_ACTIVE      = 1
WA_CLICKACTIVE = 2

; WM_SHOWWINDOW identifiers

SW_PARENTCLOSING = 1
SW_OTHERZOOM	 = 2
SW_PARENTOPENING = 3
SW_OTHERUNZOOM	 = 4

; WM_MOUSEACTIVATE return codes

MA_ACTIVATE	    = 1
MA_ACTIVATEANDEAT   = 2
MA_NOACTIVATE	    = 3
MA_NOACTIVATEANDEAT = 4

; WM_MDITILE flags

MDITILE_VERTICAL     = 0
MDITILE_HORIZONTAL   = 1
MDITILE_SKIPDISABLED = 2

; WM_NOTIFY codes

NM_OUTOFMEMORY = -1
NM_CLICK       = -2
NM_DBLCLICK    = -3
NM_RETURN      = -4
NM_RCLICK      = -5
NM_RDBLCLK     = -6
NM_SETFOCUS    = -7
NM_KILLFOCUS   = -8

; WM_SETICON types

ICON_SMALL = 0
ICON_BIG   = 1

; WM_HOTKEY commands

HOTKEYF_SHIFT	= 01h
HOTKEYF_CONTROL = 02h
HOTKEYF_ALT	= 04h
HOTKEYF_EXT	= 08h

; Keystroke flags

KF_EXTENDED = 0100h
KF_DLGMODE  = 0800h
KF_MENUMODE = 1000h
KF_ALTDOWN  = 2000h
KF_REPEAT   = 4000h
KF_UP	    = 8000h

; Key state masks for mouse messages

MK_LBUTTON = 01h
MK_RBUTTON = 02h
MK_SHIFT   = 04h
MK_CONTROL = 08h
MK_MBUTTON = 10h

; WM_SIZING codes

WMSZ_LEFT	 = 1
WMSZ_RIGHT	 = 2
WMSZ_TOP	 = 3
WMSZ_TOPLEFT	 = 4
WMSZ_TOPRIGHT	 = 5
WMSZ_BOTTOM	 = 6
WMSZ_BOTTOMLEFT  = 7
WMSZ_BOTTOMRIGHT = 8

; WM_HOTKEY modifiers

MOD_ALT     = 1
MOD_CONTROL = 2
MOD_SHIFT   = 4
MOD_WIN     = 8

; WM_PRINT flags

PRF_CHECKVISIBLE = 01h
PRF_NONCLIENT	 = 02h
PRF_CLIENT	 = 04h
PRF_ERASEBKGND	 = 08h
PRF_CHILDREN	 = 10h
PRF_OWNED	 = 20h

; Virtual key codes

VK_LBUTTON   = 001h
VK_CANCEL    = 003h
VK_RBUTTON   = 002h
VK_MBUTTON   = 004h
VK_BACK      = 008h
VK_TAB	     = 009h
VK_CLEAR     = 00Ch
VK_RETURN    = 00Dh
VK_SHIFT     = 010h
VK_CONTROL   = 011h
VK_MENU      = 012h
VK_PAUSE     = 013h
VK_CAPITAL   = 014h
VK_ESCAPE    = 01Bh
VK_SPACE     = 020h
VK_PRIOR     = 021h
VK_PGUP      = 021h
VK_PGDN      = 022h
VK_NEXT      = 022h
VK_END	     = 023h
VK_HOME      = 024h
VK_LEFT      = 025h
VK_UP	     = 026h
VK_RIGHT     = 027h
VK_DOWN      = 028h
VK_SELECT    = 029h
VK_PRINT     = 02Ah
VK_EXECUTE   = 02Bh
VK_SNAPSHOT  = 02Ch
VK_INSERT    = 02Dh
VK_DELETE    = 02Eh
VK_HELP      = 02Fh
VK_LWIN      = 05Bh
VK_RWIN      = 05Ch
VK_APPS      = 05Dh
VK_NUMPAD0   = 060h
VK_NUMPAD1   = 061h
VK_NUMPAD2   = 062h
VK_NUMPAD3   = 063h
VK_NUMPAD4   = 064h
VK_NUMPAD5   = 065h
VK_NUMPAD6   = 066h
VK_NUMPAD7   = 067h
VK_NUMPAD8   = 068h
VK_NUMPAD9   = 069h
VK_MULTIPLY  = 06Ah
VK_ADD	     = 06Bh
VK_SEPARATOR = 06Ch
VK_SUBTRACT  = 06Dh
VK_DECIMAL   = 06Eh
VK_DIVIDE    = 06Fh
VK_F1	     = 070h
VK_F2	     = 071h
VK_F3	     = 072h
VK_F4	     = 073h
VK_F5	     = 074h
VK_F6	     = 075h
VK_F7	     = 076h
VK_F8	     = 077h
VK_F9	     = 078h
VK_F10	     = 079h
VK_F11	     = 07Ah
VK_F12	     = 07Bh
VK_F13	     = 07Ch
VK_F14	     = 07Dh
VK_F15	     = 07Eh
VK_F16	     = 07Fh
VK_F17	     = 080h
VK_F18	     = 081h
VK_F19	     = 082h
VK_F20	     = 083h
VK_F21	     = 084h
VK_F22	     = 085h
VK_F23	     = 086h
VK_F24	     = 087h
VK_NUMLOCK   = 090h
VK_SCROLL    = 091h
VK_LSHIFT    = 0A0h
VK_RSHIFT    = 0A1h
VK_LCONTROL  = 0A2h
VK_RCONTROL  = 0A3h
VK_LMENU     = 0A4h
VK_RMENU     = 0A5h
VK_ATTN      = 0F6h
VK_CRSEL     = 0F7h
VK_EXSEL     = 0F8h
VK_EREOF     = 0F9h
VK_PLAY      = 0FAh
VK_ZOOM      = 0FBh
VK_NONAME    = 0FCh
VK_PA1	     = 0FDh
VK_OEM_CLEAR = 0FEh

; Accelerator flags

FVIRTKEY  = 01h
FNOINVERT = 02h
FSHIFT	  = 04h
FCONTROL  = 08h
FALT	  = 10h

; GetClassLong offsets

GCL_MENUNAME	  = -8
GCL_HBRBACKGROUND = -10
GCL_HCURSOR	  = -12
GCL_HICON	  = -14
GCL_HMODULE	  = -16
GCL_CBWNDEXTRA	  = -18
GCL_CBCLSEXTRA	  = -20
GCL_WNDPROC	  = -24
GCL_STYLE	  = -26
GCW_ATOM	  = -32
GCL_HICONSM	  = -34

; WNDCLASS parameters

DLGWINDOWEXTRA = 30

; GetWindowLong offsets

GWL_WNDPROC	  = -4
GWL_HINSTANCE	  = -6
GWL_HWNDPARENT	  = -8
GWL_STYLE	  = -16
GWL_EXSTYLE	  = -20
GWL_USERDATA	  = -21
GWL_ID		  = -12
DWL_MSGRESULT	  = 0
DWL_DLGPROC	  = 4
DWL_USER	  = 8

; GetSystemMetrics codes

SM_CXSCREEN	     = 0
SM_CYSCREEN	     = 1
SM_CXVSCROLL	     = 2
SM_CYHSCROLL	     = 3
SM_CYCAPTION	     = 4
SM_CXBORDER	     = 5
SM_CYBORDER	     = 6
SM_CXDLGFRAME	     = 7
SM_CYDLGFRAME	     = 8
SM_CYVTHUMB	     = 9
SM_CXHTHUMB	     = 10
SM_CXICON	     = 11
SM_CYICON	     = 12
SM_CXCURSOR	     = 13
SM_CYCURSOR	     = 14
SM_CYMENU	     = 15
SM_CXFULLSCREEN      = 16
SM_CYFULLSCREEN      = 17
SM_CYKANJIWINDOW     = 18
SM_MOUSEPRESENT      = 19
SM_CYVSCROLL	     = 20
SM_CXHSCROLL	     = 21
SM_DEBUG	     = 22
SM_SWAPBUTTON	     = 23
SM_RESERVED1	     = 24
SM_RESERVED2	     = 25
SM_RESERVED3	     = 26
SM_RESERVED4	     = 27
SM_CXMIN	     = 28
SM_CYMIN	     = 29
SM_CXSIZE	     = 30
SM_CYSIZE	     = 31
SM_CXFRAME	     = 32
SM_CYFRAME	     = 33
SM_CXMINTRACK	     = 34
SM_CYMINTRACK	     = 35
SM_CXDOUBLECLK	     = 36
SM_CYDOUBLECLK	     = 37
SM_CXICONSPACING     = 38
SM_CYICONSPACING     = 39
SM_MENUDROPALIGNMENT = 40
SM_PENWINDOWS	     = 41
SM_DBCSENABLED	     = 42
SM_CMOUSEBUTTONS     = 43
SM_CXFIXEDFRAME      = SM_CXDLGFRAME
SM_CYFIXEDFRAME      = SM_CYDLGFRAME
SM_CXSIZEFRAME	     = SM_CXFRAME
SM_CYSIZEFRAME	     = SM_CYFRAME
SM_SECURE	     = 44
SM_CXEDGE	     = 45
SM_CYEDGE	     = 46
SM_CXMINSPACING      = 47
SM_CYMINSPACING      = 48
SM_CXSMICON	     = 49
SM_CYSMICON	     = 50
SM_CYSMCAPTION	     = 51
SM_CXSMSIZE	     = 52
SM_CYSMSIZE	     = 53
SM_CXMENUSIZE	     = 54
SM_CYMENUSIZE	     = 55
SM_ARRANGE	     = 56
SM_CXMINIMIZED	     = 57
SM_CYMINIMIZED	     = 58
SM_CXMAXTRACK	     = 59
SM_CYMAXTRACK	     = 60
SM_CXMAXIMIZED	     = 61
SM_CYMAXIMIZED	     = 62
SM_NETWORK	     = 63
SM_CLEANBOOT	     = 67
SM_CXDRAG	     = 68
SM_CYDRAG	     = 69
SM_SHOWSOUNDS	     = 70
SM_CXMENUCHECK	     = 71
SM_CYMENUCHECK	     = 72
SM_SLOWMACHINE	     = 73
SM_MIDEASTENABLED    = 74
SM_MOUSEWHEELPRESENT = 75
SM_CMETRICS	     = 76

; Predefined cursor identifiers

IDC_ARROW	= 32512
IDC_IBEAM	= 32513
IDC_WAIT	= 32514
IDC_CROSS	= 32515
IDC_UPARROW	= 32516
IDC_SIZE	= 32640
IDC_ICON	= 32641
IDC_SIZENWSE	= 32642
IDC_SIZENESW	= 32643
IDC_SIZEWE	= 32644
IDC_SIZENS	= 32645
IDC_NO		= 32648
IDC_HAND	= 32649
IDC_APPSTARTING = 32650
IDC_HELP	= 32651

; Predefined icon identifiers

IDI_APPLICATION = 32512
IDI_HAND	= 32513
IDI_QUESTION	= 32514
IDI_EXCLAMATION = 32515
IDI_ASTERISK	= 32516
IDI_WINLOGO	= 32517

; System colors

COLOR_SCROLLBAR 	      = 0
COLOR_BACKGROUND	      = 1
COLOR_ACTIVECAPTION	      = 2
COLOR_INACTIVECAPTION	      = 3
COLOR_MENU		      = 4
COLOR_WINDOW		      = 5
COLOR_WINDOWFRAME	      = 6
COLOR_MENUTEXT		      = 7
COLOR_WINDOWTEXT	      = 8
COLOR_CAPTIONTEXT	      = 9
COLOR_ACTIVEBORDER	      = 10
COLOR_INACTIVEBORDER	      = 11
COLOR_APPWORKSPACE	      = 12
COLOR_HIGHLIGHT 	      = 13
COLOR_HIGHLIGHTTEXT	      = 14
COLOR_BTNFACE		      = 15
COLOR_BTNSHADOW 	      = 16
COLOR_GRAYTEXT		      = 17
COLOR_BTNTEXT		      = 18
COLOR_INACTIVECAPTIONTEXT     = 19
COLOR_BTNHIGHLIGHT	      = 20
COLOR_3DDKSHADOW	      = 21
COLOR_3DLIGHT		      = 22
COLOR_INFOTEXT		      = 23
COLOR_INFOBK		      = 24
COLOR_HOTLIGHT		      = 26
COLOR_GRADIENTACTIVECAPTION   = 27
COLOR_GRADIENTINACTIVECAPTION = 28

; Button messages

BM_GETCHECK = 00F0h
BM_SETCHECK = 00F1h
BM_GETSTATE = 00F2h
BM_SETSTATE = 00F3h
BM_SETSTYLE = 00F4h
BM_CLICK    = 00F5h
BM_GETIMAGE = 00F6h
BM_SETIMAGE = 00F7h

; Button notifications

BN_CLICKED	 = 0
BN_PAINT	 = 1
BN_HILITE	 = 2
BN_UNHILITE	 = 3
BN_DISABLE	 = 4
BN_DOUBLECLICKED = 5
BN_SETFOCUS	 = 6
BN_KILLFOCUS	 = 7
BN_PUSHED	 = BN_HILITE
BN_UNPUSHED	 = BN_UNHILITE
BN_DBLCLK	 = BN_DOUBLECLICKED

; Button styles

BS_PUSHBUTTON	   = 0000h
BS_DEFPUSHBUTTON   = 0001h
BS_CHECKBOX	   = 0002h
BS_AUTOCHECKBOX    = 0003h
BS_RADIOBUTTON	   = 0004h
BS_3STATE	   = 0005h
BS_AUTO3STATE	   = 0006h
BS_GROUPBOX	   = 0007h
BS_USERBUTTON	   = 0008h
BS_AUTORADIOBUTTON = 0009h
BS_OWNERDRAW	   = 000Bh
BS_TEXT 	   = 0000h
BS_LEFTTEXT	   = 0020h
BS_RIGHTBUTTON	   = BS_LEFTTEXT
BS_ICON 	   = 0040h
BS_BITMAP	   = 0080h
BS_LEFT 	   = 0100h
BS_RIGHT	   = 0200h
BS_CENTER	   = 0300h
BS_TOP		   = 0400h
BS_BOTTOM	   = 0800h
BS_VCENTER	   = 0C00h
BS_PUSHLIKE	   = 1000h
BS_MULTILINE	   = 2000h
BS_NOTIFY	   = 4000h
BS_FLAT 	   = 8000h

; Button states

BST_UNCHECKED	  = 0
BST_CHECKED	  = 1
BST_INDETERMINATE = 2
BST_PUSHED	  = 4
BST_FOCUS	  = 8

; List box messages

LB_ADDSTRING	       = 0180h
LB_INSERTSTRING        = 0181h
LB_DELETESTRING        = 0182h
LB_SELITEMRANGEEX      = 0183h
LB_RESETCONTENT        = 0184h
LB_SETSEL	       = 0185h
LB_SETCURSEL	       = 0186h
LB_GETSEL	       = 0187h
LB_GETCURSEL	       = 0188h
LB_GETTEXT	       = 0189h
LB_GETTEXTLEN	       = 018Ah
LB_GETCOUNT	       = 018Bh
LB_SELECTSTRING        = 018Ch
LB_DIR		       = 018Dh
LB_GETTOPINDEX	       = 018Eh
LB_FINDSTRING	       = 018Fh
LB_GETSELCOUNT	       = 0190h
LB_GETSELITEMS	       = 0191h
LB_SETTABSTOPS	       = 0192h
LB_GETHORIZONTALEXTENT = 0193h
LB_SETHORIZONTALEXTENT = 0194h
LB_SETCOLUMNWIDTH      = 0195h
LB_ADDFILE	       = 0196h
LB_SETTOPINDEX	       = 0197h
LB_GETITEMRECT	       = 0198h
LB_GETITEMDATA	       = 0199h
LB_SETITEMDATA	       = 019Ah
LB_SELITEMRANGE        = 019Bh
LB_SETANCHORINDEX      = 019Ch
LB_GETANCHORINDEX      = 019Dh
LB_SETCARETINDEX       = 019Eh
LB_GETCARETINDEX       = 019Fh
LB_SETITEMHEIGHT       = 01A0h
LB_GETITEMHEIGHT       = 01A1h
LB_FINDSTRINGEXACT     = 01A2h
LB_SETLOCALE	       = 01A5h
LB_GETLOCALE	       = 01A6h
LB_SETCOUNT	       = 01A7h
LB_INITSTORAGE	       = 01A8h
LB_ITEMFROMPOINT       = 01A9h

; List box notifications

LBN_ERRSPACE  = -2
LBN_SELCHANGE = 1
LBN_DBLCLK    = 2
LBN_SELCANCEL = 3
LBN_SETFOCUS  = 4
LBN_KILLFOCUS = 5

; List box styles

LBS_NOTIFY	      = 0001h
LBS_SORT	      = 0002h
LBS_NOREDRAW	      = 0004h
LBS_MULTIPLESEL       = 0008h
LBS_OWNERDRAWFIXED    = 0010h
LBS_OWNERDRAWVARIABLE = 0020h
LBS_HASSTRINGS	      = 0040h
LBS_USETABSTOPS       = 0080h
LBS_NOINTEGRALHEIGHT  = 0100h
LBS_MULTICOLUMN       = 0200h
LBS_WANTKEYBOARDINPUT = 0400h
LBS_EXTENDEDSEL       = 0800h
LBS_DISABLENOSCROLL   = 1000h
LBS_NODATA	      = 2000h
LBS_NOSEL	      = 4000h
LBS_STANDARD	      = LBS_NOTIFY or LBS_SORT or WS_VSCROLL or WS_BORDER

; List box return values

LB_OKAY     = 0
LB_ERR	    = -1
LB_ERRSPACE = -2

; Combo box messages

CB_GETEDITSEL		 = 0140h
CB_LIMITTEXT		 = 0141h
CB_SETEDITSEL		 = 0142h
CB_ADDSTRING		 = 0143h
CB_DELETESTRING 	 = 0144h
CB_DIR			 = 0145h
CB_GETCOUNT		 = 0146h
CB_GETCURSEL		 = 0147h
CB_GETLBTEXT		 = 0148h
CB_GETLBTEXTLEN 	 = 0149h
CB_INSERTSTRING 	 = 014Ah
CB_RESETCONTENT 	 = 014Bh
CB_FINDSTRING		 = 014Ch
CB_SELECTSTRING 	 = 014Dh
CB_SETCURSEL		 = 014Eh
CB_SHOWDROPDOWN 	 = 014Fh
CB_GETITEMDATA		 = 0150h
CB_SETITEMDATA		 = 0151h
CB_GETDROPPEDCONTROLRECT = 0152h
CB_SETITEMHEIGHT	 = 0153h
CB_GETITEMHEIGHT	 = 0154h
CB_SETEXTENDEDUI	 = 0155h
CB_GETEXTENDEDUI	 = 0156h
CB_GETDROPPEDSTATE	 = 0157h
CB_FINDSTRINGEXACT	 = 0158h
CB_SETLOCALE		 = 0159h
CB_GETLOCALE		 = 015Ah
CB_GETTOPINDEX		 = 015Bh
CB_SETTOPINDEX		 = 015Ch
CB_GETHORIZONTALEXTENT	 = 015Dh
CB_SETHORIZONTALEXTENT	 = 015Eh
CB_GETDROPPEDWIDTH	 = 015Fh
CB_SETDROPPEDWIDTH	 = 0160h
CB_INITSTORAGE		 = 0161h

; Combo box notifications

CBN_ERRSPACE	 = -1
CBN_SELCHANGE	 = 1
CBN_DBLCLK	 = 2
CBN_SETFOCUS	 = 3
CBN_KILLFOCUS	 = 4
CBN_EDITCHANGE	 = 5
CBN_EDITUPDATE	 = 6
CBN_DROPDOWN	 = 7
CBN_CLOSEUP	 = 8
CBN_SELENDOK	 = 9
CBN_SELENDCANCEL = 10

; Combo box styles

CBS_SIMPLE	      = 0001h
CBS_DROPDOWN	      = 0002h
CBS_DROPDOWNLIST      = 0003h
CBS_OWNERDRAWFIXED    = 0010h
CBS_OWNERDRAWVARIABLE = 0020h
CBS_AUTOHSCROLL       = 0040h
CBS_OEMCONVERT	      = 0080h
CBS_SORT	      = 0100h
CBS_HASSTRINGS	      = 0200h
CBS_NOINTEGRALHEIGHT  = 0400h
CBS_DISABLENOSCROLL   = 0800h
CBS_UPPERCASE	      = 2000h
CBS_LOWERCASE	      = 4000h

; Combo box return values

CB_OKAY     = 0
CB_ERR	    = -1
CB_ERRSPACE = -2

; Edit control messages

EM_GETSEL	       = 00B0h
EM_SETSEL	       = 00B1h
EM_GETRECT	       = 00B2h
EM_SETRECT	       = 00B3h
EM_SETRECTNP	       = 00B4h
EM_SCROLL	       = 00B5h
EM_LINESCROLL	       = 00B6h
EM_SCROLLCARET	       = 00B7h
EM_GETMODIFY	       = 00B8h
EM_SETMODIFY	       = 00B9h
EM_GETLINECOUNT        = 00BAh
EM_LINEINDEX	       = 00BBh
EM_SETHANDLE	       = 00BCh
EM_GETHANDLE	       = 00BDh
EM_GETTHUMB	       = 00BEh
EM_LINELENGTH	       = 00C1h
EM_REPLACESEL	       = 00C2h
EM_GETLINE	       = 00C4h
EM_LIMITTEXT	       = 00C5h
EM_CANUNDO	       = 00C6h
EM_UNDO 	       = 00C7h
EM_FMTLINES	       = 00C8h
EM_LINEFROMCHAR        = 00C9h
EM_SETTABSTOPS	       = 00CBh
EM_SETPASSWORDCHAR     = 00CCh
EM_EMPTYUNDOBUFFER     = 00CDh
EM_GETFIRSTVISIBLELINE = 00CEh
EM_SETREADONLY	       = 00CFh
EM_SETWORDBREAKPROC    = 00D0h
EM_GETWORDBREAKPROC    = 00D1h
EM_GETPASSWORDCHAR     = 00D2h
EM_SETMARGINS	       = 00D3h
EM_GETMARGINS	       = 00D4h
EM_SETLIMITTEXT        = EM_LIMITTEXT
EM_GETLIMITTEXT        = 00D5h
EM_POSFROMCHAR	       = 00D6h
EM_CHARFROMPOS	       = 00D7h

; Edit control EM_SETMARGIN parameters

EC_LEFTMARGIN  = 1
EC_RIGHTMARGIN = 2
EC_USEFONTINFO = 0FFFFh

; Edit control notifications

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -