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

📄 msgwindow.asm

📁 罗云浩win32汇编语言编程一书的附带源码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming 2nd Edition>
; by 罗云彬, http://asm.yeah.net
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; MsgWindow.asm (MsgWindows04)
; 实验代码:去掉窗口过程中的 DefWindowProc 函数以测试默认窗口过程
; 处理代码的作用。
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 使用 nmake 或下列命令进行编译和链接:
; ml /c /coff MsgWindow.asm
; Link /subsystem:windows MsgWindow.obj
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		.386
		.model flat,stdcall
		option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include		windows.inc
include		gdi32.inc
includelib	gdi32.lib
include		user32.inc
includelib	user32.lib
include		kernel32.inc
includelib	kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		.data?

hInstance	dd	?
hWinMain	dd	?

		.const

szClassName	db	'MyClass',0
szCaptionMain	db	'Message Tester',0
;********************************************************************
; 消息ID列表
;********************************************************************
dwMsgTable	dd	WM_NULL
		dd	WM_CREATE
		dd	WM_DESTROY
		dd	WM_MOVE
		dd	WM_SIZE
		dd	WM_ACTIVATE
		dd	WM_SETFOCUS
		dd	WM_KILLFOCUS
		dd	WM_ENABLE
		dd	WM_SETREDRAW
		dd	WM_SETTEXT
		dd	WM_GETTEXT
		dd	WM_GETTEXTLENGTH
		dd	WM_PAINT
		dd	WM_CLOSE
		dd	WM_QUERYENDSESSION
		dd	WM_QUIT
		dd	WM_QUERYOPEN
		dd	WM_ERASEBKGND
		dd	WM_SYSCOLORCHANGE
		dd	WM_ENDSESSION
		dd	WM_SHOWWINDOW
		dd	WM_WININICHANGE
		dd	WM_DEVMODECHANGE
		dd	WM_ACTIVATEAPP
		dd	WM_FONTCHANGE
		dd	WM_TIMECHANGE
		dd	WM_CANCELMODE
		dd	WM_SETCURSOR
		dd	WM_MOUSEACTIVATE
		dd	WM_CHILDACTIVATE
		dd	WM_QUEUESYNC
		dd	WM_GETMINMAXINFO
		dd	WM_PAINTICON
		dd	WM_ICONERASEBKGND
		dd	WM_NEXTDLGCTL
		dd	WM_SPOOLERSTATUS
		dd	WM_DRAWITEM
		dd	WM_MEASUREITEM
		dd	WM_DELETEITEM
		dd	WM_VKEYTOITEM
		dd	WM_CHARTOITEM
		dd	WM_SETFONT
		dd	WM_GETFONT
		dd	WM_SETHOTKEY
		dd	WM_GETHOTKEY
		dd	WM_QUERYDRAGICON
		dd	WM_COMPAREITEM
		dd	WM_GETOBJECT
		dd	WM_COMPACTING
		dd	WM_OTHERWINDOWCREATED
		dd	WM_OTHERWINDOWDESTROYED
		dd	WM_COMMNOTIFY
		dd	WM_WINDOWPOSCHANGING
		dd	WM_WINDOWPOSCHANGED
		dd	WM_POWER
		dd	WM_COPYDATA
		dd	WM_CANCELJOURNAL
		dd	WM_NOTIFY
		dd	WM_INPUTLANGCHANGEREQUEST
		dd	WM_INPUTLANGCHANGE
		dd	WM_TCARD
		dd	WM_HELP
		dd	WM_USERCHANGED
		dd	WM_NOTIFYFORMAT
		dd	WM_CONTEXTMENU
		dd	WM_STYLECHANGING
		dd	WM_STYLECHANGED
		dd	WM_DISPLAYCHANGE
		dd	WM_GETICON
		dd	WM_SETICON
		dd	WM_NCCREATE
		dd	WM_NCDESTROY
		dd	WM_NCCALCSIZE
		dd	WM_NCHITTEST
		dd	WM_NCPAINT
		dd	WM_NCACTIVATE
		dd	WM_GETDLGCODE
		dd	WM_SYNCPAINT
		dd	WM_NCMOUSEMOVE
		dd	WM_NCLBUTTONDOWN
		dd	WM_NCLBUTTONUP
		dd	WM_NCLBUTTONDBLCLK
		dd	WM_NCRBUTTONDOWN
		dd	WM_NCRBUTTONUP
		dd	WM_NCRBUTTONDBLCLK
		dd	WM_NCMBUTTONDOWN
		dd	WM_NCMBUTTONUP
		dd	WM_NCMBUTTONDBLCLK
		dd	WM_KEYDOWN
		dd	WM_KEYUP
		dd	WM_CHAR
		dd	WM_DEADCHAR
		dd	WM_SYSKEYDOWN
		dd	WM_SYSKEYUP
		dd	WM_SYSCHAR
		dd	WM_SYSDEADCHAR
		dd	WM_KEYLAST
		dd	WM_INITDIALOG
		dd	WM_COMMAND
		dd	WM_SYSCOMMAND
		dd	WM_TIMER
		dd	WM_HSCROLL
		dd	WM_VSCROLL
		dd	WM_INITMENU
		dd	WM_INITMENUPOPUP
		dd	WM_MENUSELECT
		dd	WM_MENUCHAR
		dd	WM_ENTERIDLE
		dd	WM_CTLCOLORMSGBOX
		dd	WM_CTLCOLOREDIT
		dd	WM_CTLCOLORLISTBOX
		dd	WM_CTLCOLORBTN
		dd	WM_CTLCOLORDLG
		dd	WM_CTLCOLORSCROLLBAR
		dd	WM_CTLCOLORSTATIC
		dd	WM_MOUSEMOVE
		dd	WM_LBUTTONDOWN
		dd	WM_LBUTTONUP
		dd	WM_LBUTTONDBLCLK
		dd	WM_RBUTTONDOWN
		dd	WM_RBUTTONUP
		dd	WM_RBUTTONDBLCLK
		dd	WM_MBUTTONDOWN
		dd	WM_MBUTTONUP
		dd	WM_MBUTTONDBLCLK
		dd	WM_MOUSELAST
		dd	WM_PARENTNOTIFY
		dd	WM_ENTERMENULOOP
		dd	WM_EXITMENULOOP
		dd	WM_MDICREATE
		dd	WM_MDIDESTROY
		dd	WM_MDIACTIVATE
		dd	WM_MDIRESTORE
		dd	WM_MDINEXT
		dd	WM_MDIMAXIMIZE
		dd	WM_MDITILE
		dd	WM_MDICASCADE
		dd	WM_MDIICONARRANGE
		dd	WM_MDIGETACTIVE
		dd	WM_MDISETMENU
		dd	WM_DROPFILES
		dd	WM_MDIREFRESHMENU
		dd	WM_CUT
		dd	WM_COPY
		dd	WM_PASTE
		dd	WM_CLEAR
		dd	WM_UNDO
		dd	WM_RENDERFORMAT
		dd	WM_RENDERALLFORMATS
		dd	WM_DESTROYCLIPBOARD
		dd	WM_DRAWCLIPBOARD
		dd	WM_PAINTCLIPBOARD
		dd	WM_VSCROLLCLIPBOARD
		dd	WM_SIZECLIPBOARD
		dd	WM_ASKCBFORMATNAME
		dd	WM_CHANGECBCHAIN
		dd	WM_HSCROLLCLIPBOARD
		dd	WM_QUERYNEWPALETTE
		dd	WM_PALETTEISCHANGING
		dd	WM_PALETTECHANGED
		dd	WM_HOTKEY
		dd	WM_PRINT
		dd	WM_PRINTCLIENT
		dd	WM_PENWINFIRST
		dd	WM_PENWINLAST
		dd	WM_MENURBUTTONUP
		dd	WM_MENUDRAG
		dd	WM_MENUGETOBJECT
		dd	WM_UNINITMENUPOPUP
		dd	WM_MENUCOMMAND
		dd	WM_NEXTMENU
		dd	WM_SIZING
		dd	WM_CAPTURECHANGED
		dd	WM_MOVING
		dd	WM_POWERBROADCAST
		dd	WM_DEVICECHANGE
		dd	WM_ENTERSIZEMOVE
		dd	WM_EXITSIZEMOVE
MSG_TABLE_LEN	equ	($ - dwMsgTable)/sizeof dword
;********************************************************************
; 消息名称字符串列表
;********************************************************************
MSG_STRING_LEN	equ	sizeof szStringTable
szStringTable	db	'WM_NULL                  ',0
		db	'WM_CREATE                ',0
		db	'WM_DESTROY               ',0
		db	'WM_MOVE                  ',0
		db	'WM_SIZE                  ',0
		db	'WM_ACTIVATE              ',0
		db	'WM_SETFOCUS              ',0
		db	'WM_KILLFOCUS             ',0
		db	'WM_ENABLE                ',0
		db	'WM_SETREDRAW             ',0
		db	'WM_SETTEXT               ',0
		db	'WM_GETTEXT               ',0
		db	'WM_GETTEXTLENGTH         ',0
		db	'WM_PAINT                 ',0
		db	'WM_CLOSE                 ',0
		db	'WM_QUERYENDSESSION       ',0
		db	'WM_QUIT                  ',0
		db	'WM_QUERYOPEN             ',0
		db	'WM_ERASEBKGND            ',0
		db	'WM_SYSCOLORCHANGE        ',0
		db	'WM_ENDSESSION            ',0
		db	'WM_SHOWWINDOW            ',0
		db	'WM_WININICHANGE          ',0
		db	'WM_DEVMODECHANGE         ',0
		db	'WM_ACTIVATEAPP           ',0
		db	'WM_FONTCHANGE            ',0
		db	'WM_TIMECHANGE            ',0
		db	'WM_CANCELMODE            ',0
		db	'WM_SETCURSOR             ',0
		db	'WM_MOUSEACTIVATE         ',0
		db	'WM_CHILDACTIVATE         ',0
		db	'WM_QUEUESYNC             ',0
		db	'WM_GETMINMAXINFO         ',0
		db	'WM_PAINTICON             ',0
		db	'WM_ICONERASEBKGND        ',0
		db	'WM_NEXTDLGCTL            ',0
		db	'WM_SPOOLERSTATUS         ',0
		db	'WM_DRAWITEM              ',0
		db	'WM_MEASUREITEM           ',0
		db	'WM_DELETEITEM            ',0
		db	'WM_VKEYTOITEM            ',0
		db	'WM_CHARTOITEM            ',0
		db	'WM_SETFONT               ',0
		db	'WM_GETFONT               ',0
		db	'WM_SETHOTKEY             ',0
		db	'WM_GETHOTKEY             ',0
		db	'WM_QUERYDRAGICON         ',0
		db	'WM_COMPAREITEM           ',0
		db	'WM_GETOBJECT             ',0
		db	'WM_COMPACTING            ',0
		db	'WM_OTHERWINDOWCREATED    ',0
		db	'WM_OTHERWINDOWDESTROYED  ',0
		db	'WM_COMMNOTIFY            ',0
		db	'WM_WINDOWPOSCHANGING     ',0
		db	'WM_WINDOWPOSCHANGED      ',0
		db	'WM_POWER                 ',0
		db	'WM_COPYDATA              ',0
		db	'WM_CANCELJOURNAL         ',0
		db	'WM_NOTIFY                ',0
		db	'WM_INPUTLANGCHANGEREQUEST',0
		db	'WM_INPUTLANGCHANGE       ',0
		db	'WM_TCARD                 ',0
		db	'WM_HELP                  ',0
		db	'WM_USERCHANGED           ',0
		db	'WM_NOTIFYFORMAT          ',0

⌨️ 快捷键说明

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