首页
社区
课程
招聘
一个小问题
发表于: 2009-2-13 13:40 2844

一个小问题

2009-2-13 13:40
2844
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
                .............
                 .....
                ....

MSG_TABLE_LEN        equ        ($ - dwMsgTable)/sizeof dword
  上面的$ 有什么用。是不是当前的的地址?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
是。
这里用来计算dwMsgTable数组里元素的个数
2009-2-13 13:51
0
雪    币: 161
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
再请教一个问题:
_SendtoNotepad        proc        _lpsz
                local        @hWinNotepad

                pushad
                invoke        FindWindow,addr szDestClass,NULL
                .if        eax
                        mov        ecx,eax
                        invoke        ChildWindowFromPoint,ecx,20,20
                .endif
                .if        eax
                        mov        @hWinNotepad,eax
                        mov        esi,_lpsz
                        @@:
                        lodsb
                        or        al,al
                        jz        @F
                        movzx        eax,al
                        invoke        PostMessage,@hWinNotepad,WM_CHAR,eax,1
                        jmp        @B
                        @@:
                .endif
                popad
                ret

_SendtoNotepad        endp
=========================================
   invoke        ChildWindowFromPoint,ecx,20,20
这里20,20用来干嘛的?
2009-2-13 14:03
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
4
就是两个参数的值。用C来描述就是

ChildWindowFromPoint(hWnd/*in register ecx*/,0x20,0x20);
2009-2-13 14:16
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
HWND ChildWindowFromPoint(

    HWND hWndParent,        // handle to parent window
    POINT Point         // structure with point coordinates
   );       

Parameters

hWndParent

    Identifies the parent window.

Point

    Specifies a POINT structure that defines the client coordinates of the point to be checked.

The POINT structure defines the x- and y- coordinates of a point.

typedef struct tagPOINT { // pt  
    LONG x;
    LONG y;
} POINT;

Members

x

    Specifies the x-coordinate of the point.

y

    Specifies the y-coordinate of the point.
2009-2-13 14:19
0
游客
登录 | 注册 方可回帖
返回