dwMsgTable dd WM_NULL
dd WM_ENTERSIZEMOVE
dd WM_EXITSIZEMOVE
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_QUERYENDSESS
MSG_TABLE_LEN equ ($ - dwMsgTable)/sizeof dword
$表示当前的偏移量,在C中这种用法如何实现?
$ 表示当前代码行的地址,dwMsgTable是起始地址。这两个地址差除以dword的大小,就是"个数"
C里面用 sizeof 就可以了
同样数据类型用数组就可以了。
#typedef unsigned short DWORD
DWORD dwMsgTable[] = {WM_NULL,WM_ENTERSIZEMOVE 。。。。。。};
size_t MSG_TABLE_LEN = sizeof(dwMsgTable)/sizeof(DWORD);
这个是为了遍历所有window消息吧,C的话用 switch是不是更好呢。