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

📄 user64.inc

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

; USER32.DLL structures and constants

struct POINT
  x dd ?
  y dd ?
ends

struct RECT
  left	 dd ?
  top	 dd ?
  right  dd ?
  bottom dd ?
ends

struct WNDCLASS
  style 	dd ?
		dd ?
  lpfnWndProc	dq ?
  cbClsExtra	dd ?
  cbWndExtra	dd ?
  hInstance	dq ?
  hIcon 	dq ?
  hCursor	dq ?
  hbrBackground dq ?
  lpszMenuName	dq ?
  lpszClassName dq ?
ends

struct WNDCLASSEX
  cbSize	dd ?
  style 	dd ?
  lpfnWndProc	dq ?
  cbClsExtra	dd ?
  cbWndExtra	dd ?
  hInstance	dq ?
  hIcon 	dq ?
  hCursor	dq ?
  hbrBackground dq ?
  lpszMenuName	dq ?
  lpszClassName dq ?
  hIconSm	dq ?
ends

struct CREATESTRUCT
  lpCreateParams dd ?
  hInstance	 dd ?
  hMenu 	 dd ?
  hwndParent	 dd ?
  cy		 dd ?
  cx		 dd ?
  y		 dd ?
  x		 dd ?
  style 	 dd ?
  lpszName	 dd ?
  lpszClass	 dd ?
  dwExStyle	 dd ?
ends

struct CLIENTCREATESTRUCT
  hWindowMenu  dq ?
  idFirstChild dd ?
ends

struct MDICREATESTRUCT
  szClass dq ?
  szTitle dq ?
  hOwner  dq ?
  x	  dd ?
  y	  dd ?
  cx	  dd ?
  cy	  dd ?
  style   dd ?
  lParam  dd ?
ends

struct SCROLLINFO
  cbSize    dd ?
  fMask     dd ?
  nMin	    dd ?
  nMax	    dd ?
  nPage     dd ?
  nPos	    dd ?
  nTrackPos dd ?
ends

struct MSG
  hwnd	  dq ?
  message dd ?
	  dd ?
  wParam  dq ?
  lParam  dq ?
  time	  dd ?
  pt	  POINT
ends

struct MINMAXINFO
  ptReserved	 POINT
  ptMaxSize	 POINT
  ptMaxPosition  POINT
  ptMinTrackSize POINT
  ptMaxTrackSize POINT
ends

struct WINDOWPLACEMENT
  length	   dd ?
  flags 	   dd ?
  showCmd	   dd ?
  ptMinPosition    POINT
  ptMaxPosition    POINT
  rcNormalPosition RECT
ends

struct WINDOWPOS
  hwnd		  dd ?
  hwndInsertAfter dd ?
  x		  dd ?
  y		  dd ?
  cx		  dd ?
  cy		  dd ?
  flags 	  dd ?
ends

struct NMHDR
  hwndFrom dq ?
  idFrom   dd ?
  code	   dd ?
ends

struct COPYDATASTRUCT
  dwData dd ?
  cbData dd ?
  lpData dq ?
ends

struct ACCEL
  fVirt dw ?
  key	dw ?
  cmd	dw ?
ends

struct PAINTSTRUCT
  hdc	      dq ?
  fErase      dd ?
  rcPaint     RECT
  fRestore    dd ?
  fIncUpdate  dd ?
  rgbReserved db 32 dup (?)
ends

struct DRAWTEXTPARAMS
  cbSize	dd ?
  iTabLength	dd ?
  iLeftMargin	dd ?
  iRightMargin	dd ?
  uiLengthDrawn dd ?
ends

struct DRAWITEMSTRUCT
  CtlType    dd ?
  CtlID      dd ?
  itemID     dd ?
  itemAction dd ?
  itemState  dd ?
	     dd ?
  hwndItem   dq ?
  hDC	     dq ?
  rcItem     RECT
  itemData   dd ?
ends

struct MENUITEMINFO
  cbSize	dd ?
  fMask 	dd ?
  fType 	dd ?
  fState	dd ?
  wID		dd ?
		dd ?
  hSubMenu	dq ?
  hbmpChecked	dq ?
  hbmpUnchecked dq ?
  dwItemData	dd ?
  dwTypeData	dq ?
  cch		dd ?
ends

struct MEASUREITEMSTRUCT
  CtlType    dd ?
  CtlID      dd ?
  itemID     dd ?
  itemWidth  dd ?
  itemHeight dd ?
  itemData   dd ?
ends

struct MSGBOXPARAMS
  cbSize	     dd ?
		     dd ?
  hwndOwner	     dq ?
  hInstance	     dq ?
  lpszText	     dd ?
  lpszCaption	     dd ?
  dwStyle	     dd ?
		     dd ?
  lpszIcon	     dq ?
  dwContextHelpId    dd ?
		     dd ?
  lpfnMsgBoxCallback dq ?
  dwLanguageId	     dd ?
ends

; MessageBox type flags

MB_OK			= 000000h
MB_OKCANCEL		= 000001h
MB_ABORTRETRYIGNORE	= 000002h
MB_YESNOCANCEL		= 000003h
MB_YESNO		= 000004h
MB_RETRYCANCEL		= 000005h
MB_ICONHAND		= 000010h
MB_ICONQUESTION 	= 000020h
MB_ICONEXCLAMATION	= 000030h
MB_ICONASTERISK 	= 000040h
MB_USERICON		= 000080h
MB_ICONWARNING		= MB_ICONEXCLAMATION
MB_ICONERROR		= MB_ICONHAND
MB_ICONINFORMATION	= MB_ICONASTERISK
MB_ICONSTOP		= MB_ICONHAND
MB_DEFBUTTON1		= 000000h
MB_DEFBUTTON2		= 000100h
MB_DEFBUTTON3		= 000200h
MB_DEFBUTTON4		= 000300h
MB_APPLMODAL		= 000000h
MB_SYSTEMMODAL		= 001000h
MB_TASKMODAL		= 002000h
MB_HELP 		= 004000h
MB_NOFOCUS		= 008000h
MB_SETFOREGROUND	= 010000h
MB_DEFAULT_DESKTOP_ONLY = 020000h
MB_TOPMOST		= 040000h
MB_RIGHT		= 080000h
MB_RTLREADING		= 100000h
MB_SERVICE_NOTIFICATION = 200000h

; Conventional dialog box and message box command IDs

IDOK	 = 1
IDCANCEL = 2
IDABORT  = 3
IDRETRY  = 4
IDIGNORE = 5
IDYES	 = 6
IDNO	 = 7
IDCLOSE  = 8
IDHELP	 = 9

; Class styles

CS_VREDRAW	   = 00001h
CS_HREDRAW	   = 00002h
CS_KEYCVTWINDOW    = 00004h
CS_DBLCLKS	   = 00008h
CS_OWNDC	   = 00020h
CS_CLASSDC	   = 00040h
CS_PARENTDC	   = 00080h
CS_NOKEYCVT	   = 00100h
CS_SAVEBITS	   = 00800h
CS_NOCLOSE	   = 00200h
CS_BYTEALIGNCLIENT = 01000h
CS_BYTEALIGNWINDOW = 02000h
CS_PUBLICCLASS	   = 04000h
CS_GLOBALCLASS	   = CS_PUBLICCLASS
CS_IME		   = 10000h

; Windows styles

WS_OVERLAPPED	= 000000000h
WS_ICONICPOPUP	= 0C0000000h
WS_POPUP	= 080000000h
WS_CHILD	= 040000000h
WS_MINIMIZE	= 020000000h
WS_VISIBLE	= 010000000h
WS_DISABLED	= 008000000h
WS_CLIPSIBLINGS = 004000000h
WS_CLIPCHILDREN = 002000000h
WS_MAXIMIZE	= 001000000h
WS_CAPTION	= 000C00000h
WS_BORDER	= 000800000h
WS_DLGFRAME	= 000400000h
WS_VSCROLL	= 000200000h
WS_HSCROLL	= 000100000h
WS_SYSMENU	= 000080000h
WS_THICKFRAME	= 000040000h
WS_HREDRAW	= 000020000h
WS_VREDRAW	= 000010000h
WS_GROUP	= 000020000h
WS_TABSTOP	= 000010000h
WS_MINIMIZEBOX	= 000020000h
WS_MAXIMIZEBOX	= 000010000h

; Common Window Styles

WS_OVERLAPPEDWINDOW = WS_OVERLAPPED or WS_CAPTION or WS_SYSMENU or WS_THICKFRAME or WS_MINIMIZEBOX or WS_MAXIMIZEBOX
WS_POPUPWINDOW	    = WS_POPUP or WS_BORDER or WS_SYSMENU
WS_CHILDWINDOW	    = WS_CHILD
WS_TILEDWINDOW	    = WS_OVERLAPPEDWINDOW
WS_TILED	    = WS_OVERLAPPED
WS_ICONIC	    = WS_MINIMIZE
WS_SIZEBOX	    = WS_THICKFRAME

; Extended Window Styles

WS_EX_DLGMODALFRAME    = 00001h
WS_EX_DRAGOBJECT       = 00002h
WS_EX_NOPARENTNOTIFY   = 00004h
WS_EX_TOPMOST	       = 00008h
WS_EX_ACCEPTFILES      = 00010h
WS_EX_TRANSPARENT      = 00020h
WS_EX_MDICHILD	       = 00040h
WS_EX_TOOLWINDOW       = 00080h
WS_EX_WINDOWEDGE       = 00100h
WS_EX_CLIENTEDGE       = 00200h
WS_EX_CONTEXTHELP      = 00400h
WS_EX_RIGHT	       = 01000h
WS_EX_LEFT	       = 00000h
WS_EX_RTLREADING       = 02000h
WS_EX_LTRREADING       = 00000h
WS_EX_LEFTSCROLLBAR    = 04000h
WS_EX_RIGHTSCROLLBAR   = 00000h
WS_EX_CONTROLPARENT    = 10000h
WS_EX_STATICEDGE       = 20000h
WS_EX_APPWINDOW        = 40000h
WS_EX_LAYERED	       = 80000h
WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE or WS_EX_CLIENTEDGE
WS_EX_PALETTEWINDOW    = WS_EX_WINDOWEDGE or WS_EX_TOOLWINDOW or WS_EX_TOPMOST

; MDI client style bits

MDIS_ALLCHILDSTYLES = 1

; Special CreateWindow position value

CW_USEDEFAULT = 8000h

; Predefined window handle

HWND_DESKTOP   = 0

; ShowWindow commands

SW_HIDE 	   = 0
SW_SHOWNORMAL	   = 1
SW_NORMAL	   = 1
SW_SHOWMINIMIZED   = 2
SW_SHOWMAXIMIZED   = 3
SW_MAXIMIZE	   = 3
SW_SHOWNOACTIVATE  = 4
SW_SHOW 	   = 5
SW_MINIMIZE	   = 6
SW_SHOWMINNOACTIVE = 7
SW_SHOWNA	   = 8
SW_RESTORE	   = 9
SW_SHOWDEFAULT	   = 10

; SetWindowPos flags

SWP_NOSIZE	   = 0001h
SWP_NOMOVE	   = 0002h
SWP_NOZORDER	   = 0004h
SWP_NOREDRAW	   = 0008h
SWP_NOACTIVATE	   = 0010h
SWP_DRAWFRAME	   = 0020h
SWP_SHOWWINDOW	   = 0040h
SWP_HIDEWINDOW	   = 0080h
SWP_NOCOPYBITS	   = 0100h
SWP_NOREPOSITION   = 0200h
SWP_DEFERERASE	   = 2000h
SWP_ASYNCWINDOWPOS = 4000h

; SetWindowPos special handle values

HWND_TOP       = 0
HWND_BOTTOM    = 1
HWND_TOPMOST   = -1
HWND_NOTOPMOST = -2

; GetWindow flags

GW_HWNDFIRST = 0
GW_HWNDLAST  = 1
GW_HWNDNEXT  = 2
GW_HWNDPREV  = 3
GW_OWNER     = 4
GW_CHILD     = 5

; RedrawWindow flags

RDW_INVALIDATE	    = 0001h
RDW_INTERNALPAINT   = 0002h
RDW_ERASE	    = 0004h
RDW_VALIDATE	    = 0008h
RDW_NOINTERNALPAINT = 0010h
RDW_NOERASE	    = 0020h
RDW_NOCHILDREN	    = 0040h
RDW_ALLCHILDREN     = 0080h
RDW_UPDATENOW	    = 0100h
RDW_ERASENOW	    = 0200h
RDW_FRAME	    = 0400h
RDW_NOFRAME	    = 0800h

; PeekMessage Options

PM_NOREMOVE = 0000h
PM_REMOVE   = 0001h
PM_NOYIELD  = 0002h

; Window state messages

WM_STATE		  = 0000h
WM_NULL 		  = 0000h
WM_CREATE		  = 0001h
WM_DESTROY		  = 0002h
WM_MOVE 		  = 0003h
WM_SIZE 		  = 0005h
WM_ACTIVATE		  = 0006h
WM_SETFOCUS		  = 0007h
WM_KILLFOCUS		  = 0008h
WM_ENABLE		  = 000Ah
WM_SETREDRAW		  = 000Bh
WM_SETTEXT		  = 000Ch
WM_GETTEXT		  = 000Dh
WM_GETTEXTLENGTH	  = 000Eh
WM_PAINT		  = 000Fh
WM_CLOSE		  = 0010h
WM_QUERYENDSESSION	  = 0011h
WM_QUIT 		  = 0012h
WM_QUERYOPEN		  = 0013h
WM_ERASEBKGND		  = 0014h
WM_SYSCOLORCHANGE	  = 0015h
WM_ENDSESSION		  = 0016h
WM_SYSTEMERROR		  = 0017h
WM_SHOWWINDOW		  = 0018h
WM_CTLCOLOR		  = 0019h
WM_WININICHANGE 	  = 001Ah
WM_DEVMODECHANGE	  = 001Bh
WM_ACTIVATEAPP		  = 001Ch
WM_FONTCHANGE		  = 001Dh
WM_TIMECHANGE		  = 001Eh
WM_CANCELMODE		  = 001Fh
WM_SETCURSOR		  = 0020h
WM_MOUSEACTIVATE	  = 0021h
WM_CHILDACTIVATE	  = 0022h
WM_QUEUESYNC		  = 0023h
WM_GETMINMAXINFO	  = 0024h
WM_PAINTICON		  = 0026h
WM_ICONERASEBKGND	  = 0027h
WM_NEXTDLGCTL		  = 0028h
WM_SPOOLERSTATUS	  = 002Ah
WM_DRAWITEM		  = 002Bh
WM_MEASUREITEM		  = 002Ch
WM_DELETEITEM		  = 002Dh
WM_VKEYTOITEM		  = 002Eh
WM_CHARTOITEM		  = 002Fh
WM_SETFONT		  = 0030h
WM_GETFONT		  = 0031h
WM_SETHOTKEY		  = 0032h
WM_QUERYDRAGICON	  = 0037h
WM_COMPAREITEM		  = 0039h
WM_COMPACTING		  = 0041h
WM_COMMNOTIFY		  = 0044h
WM_WINDOWPOSCHANGING	  = 0046h
WM_WINDOWPOSCHANGED	  = 0047h
WM_POWER		  = 0048h
WM_COPYDATA		  = 004Ah
WM_CANCELJOURNAL	  = 004Bh
WM_NOTIFY		  = 004Eh
WM_INPUTLANGCHANGEREQUEST = 0050h
WM_INPUTLANGCHANGE	  = 0051h
WM_TCARD		  = 0052h
WM_HELP 		  = 0053h
WM_USERCHANGED		  = 0054h
WM_NOTIFYFORMAT 	  = 0055h
WM_CONTEXTMENU		  = 007Bh
WM_STYLECHANGING	  = 007Ch
WM_STYLECHANGED 	  = 007Dh
WM_DISPLAYCHANGE	  = 007Eh
WM_GETICON		  = 007Fh
WM_SETICON		  = 0080h
WM_NCCREATE		  = 0081h
WM_NCDESTROY		  = 0082h
WM_NCCALCSIZE		  = 0083h
WM_NCHITTEST		  = 0084h
WM_NCPAINT		  = 0085h
WM_NCACTIVATE		  = 0086h
WM_GETDLGCODE		  = 0087h
WM_NCMOUSEMOVE		  = 00A0h
WM_NCLBUTTONDOWN	  = 00A1h
WM_NCLBUTTONUP		  = 00A2h
WM_NCLBUTTONDBLCLK	  = 00A3h
WM_NCRBUTTONDOWN	  = 00A4h
WM_NCRBUTTONUP		  = 00A5h
WM_NCRBUTTONDBLCLK	  = 00A6h
WM_NCMBUTTONDOWN	  = 00A7h
WM_NCMBUTTONUP		  = 00A8h
WM_NCMBUTTONDBLCLK	  = 00A9h
WM_KEYFIRST		  = 0100h
WM_KEYDOWN		  = 0100h
WM_KEYUP		  = 0101h
WM_CHAR 		  = 0102h
WM_DEADCHAR		  = 0103h
WM_SYSKEYDOWN		  = 0104h
WM_SYSKEYUP		  = 0105h
WM_SYSCHAR		  = 0106h
WM_SYSDEADCHAR		  = 0107h
WM_KEYLAST		  = 0108h
WM_INITDIALOG		  = 0110h
WM_COMMAND		  = 0111h
WM_SYSCOMMAND		  = 0112h
WM_TIMER		  = 0113h
WM_HSCROLL		  = 0114h
WM_VSCROLL		  = 0115h
WM_INITMENU		  = 0116h
WM_INITMENUPOPUP	  = 0117h
WM_MENUSELECT		  = 011Fh
WM_MENUCHAR		  = 0120h
WM_ENTERIDLE		  = 0121h
WM_MENURBUTTONUP	  = 0122h
WM_MENUDRAG		  = 0123h
WM_MENUGETOBJECT	  = 0124h
WM_UNINITMENUPOPUP	  = 0125h
WM_MENUCOMMAND		  = 0126h
WM_CTLCOLORMSGBOX	  = 0132h
WM_CTLCOLOREDIT 	  = 0133h
WM_CTLCOLORLISTBOX	  = 0134h
WM_CTLCOLORBTN		  = 0135h
WM_CTLCOLORDLG		  = 0136h
WM_CTLCOLORSCROLLBAR	  = 0137h
WM_CTLCOLORSTATIC	  = 0138h
WM_MOUSEFIRST		  = 0200h
WM_MOUSEMOVE		  = 0200h
WM_LBUTTONDOWN		  = 0201h
WM_LBUTTONUP		  = 0202h
WM_LBUTTONDBLCLK	  = 0203h
WM_RBUTTONDOWN		  = 0204h
WM_RBUTTONUP		  = 0205h
WM_RBUTTONDBLCLK	  = 0206h
WM_MBUTTONDOWN		  = 0207h
WM_MBUTTONUP		  = 0208h
WM_MBUTTONDBLCLK	  = 0209h
WM_MOUSEWHEEL		  = 020Ah
WM_MOUSELAST		  = 020Ah
WM_PARENTNOTIFY 	  = 0210h
WM_ENTERMENULOOP	  = 0211h
WM_EXITMENULOOP 	  = 0212h
WM_NEXTMENU		  = 0213h
WM_SIZING		  = 0214h
WM_CAPTURECHANGED	  = 0215h
WM_MOVING		  = 0216h
WM_POWERBROADCAST	  = 0218h
WM_DEVICECHANGE 	  = 0219h
WM_MDICREATE		  = 0220h
WM_MDIDESTROY		  = 0221h
WM_MDIACTIVATE		  = 0222h
WM_MDIRESTORE		  = 0223h
WM_MDINEXT		  = 0224h
WM_MDIMAXIMIZE		  = 0225h
WM_MDITILE		  = 0226h
WM_MDICASCADE		  = 0227h
WM_MDIICONARRANGE	  = 0228h
WM_MDIGETACTIVE 	  = 0229h
WM_MDISETMENU		  = 0230h
WM_ENTERSIZEMOVE	  = 0231h
WM_EXITSIZEMOVE 	  = 0232h
WM_DROPFILES		  = 0233h
WM_MDIREFRESHMENU	  = 0234h
WM_IME_SETCONTEXT	  = 0281h
WM_IME_NOTIFY		  = 0282h
WM_IME_CONTROL		  = 0283h
WM_IME_COMPOSITIONFULL	  = 0284h
WM_IME_SELECT		  = 0285h
WM_IME_CHAR		  = 0286h
WM_IME_KEYDOWN		  = 0290h
WM_IME_KEYUP		  = 0291h
WM_MOUSEHOVER		  = 02A1h
WM_MOUSELEAVE		  = 02A3h
WM_CUT			  = 0300h
WM_COPY 		  = 0301h
WM_PASTE		  = 0302h
WM_CLEAR		  = 0303h
WM_UNDO 		  = 0304h
WM_RENDERFORMAT 	  = 0305h
WM_RENDERALLFORMATS	  = 0306h
WM_DESTROYCLIPBOARD	  = 0307h
WM_DRAWCLIPBOARD	  = 0308h
WM_PAINTCLIPBOARD	  = 0309h
WM_VSCROLLCLIPBOARD	  = 030Ah
WM_SIZECLIPBOARD	  = 030Bh
WM_ASKCBFORMATNAME	  = 030Ch
WM_CHANGECBCHAIN	  = 030Dh
WM_HSCROLLCLIPBOARD	  = 030Eh
WM_QUERYNEWPALETTE	  = 030Fh
WM_PALETTEISCHANGING	  = 0310h
WM_PALETTECHANGED	  = 0311h
WM_HOTKEY		  = 0312h
WM_PRINT		  = 0317h
WM_PRINTCLIENT		  = 0318h
WM_HANDHELDFIRST	  = 0358h
WM_HANDHELDLAST 	  = 035Fh
WM_AFXFIRST		  = 0360h
WM_AFXLAST		  = 037Fh
WM_PENWINFIRST		  = 0380h
WM_PENWINLAST		  = 038Fh
WM_COALESCE_FIRST	  = 0390h
WM_COALESCE_LAST	  = 039Fh
WM_USER 		  = 0400h

; WM_SIZE commands

SIZE_RESTORED  = 0
SIZE_MINIMIZED = 1
SIZE_MAXIMIZED = 2
SIZE_MAXSHOW   = 3
SIZE_MAXHIDE   = 4

; WM_ACTIVATE states

⌨️ 快捷键说明

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