ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
ºÏ×âС˵Íø ·µ»Ø±¾ÊéĿ¼ ¼ÓÈëÊéÇ© ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ¡ºÊղص½ÎÒµÄä¯ÀÀÆ÷¡»

windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ-µÚ15²¿·Ö

¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡



_ProcWinMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡uses¡¡ebx¡¡edi¡¡esi£»hWnd£»uMsg£»wParam£»lParam

¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡_ShowMessage£»uMsg£»wParam£»lParam

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»uMsg

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax¡¡¡¡¡¡WM_XXX

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡­

_ShowMessage×Ó³ÌÐòÓÃÀ´½«ÏûÏ¢²é±í·­Òë³É×Ö·û´®£¬Ô´³ÌÐòÈçÏ£º

_ShowMessage¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡_uMsg£»_wParam£»_lParam

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡@szBuffer£§128£§£ºbyte

¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pushad

£»********************************************************************

£»¡¡²éÕÒÏûÏ¢µÄ˵Ã÷×Ö·û´®

£»********************************************************************

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡eax£»_uMsg

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡edi£»offset¡¡dwMsgTable

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ecx£»MSG_TABLE_LEN

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cld

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡repnz¡¡¡¡¡¡scasd

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ZERO£¿

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sub¡¡¡¡¡¡¡¡¡¡edi£»offset¡¡dwMsgTable¡¡£«¡¡sizeof¡¡dword

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡shr¡¡¡¡¡¡¡¡¡¡edi£»2

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»edi

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡ecx£»MSG_STRING_LEN

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mul¡¡¡¡¡¡¡¡¡¡ecx

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡eax£»offset¡¡szStringTable

£»********************************************************************

£»¡¡·­Òë¸ñʽ²¢·¢Ë͵½¡¡Notepad¡¡´°¿Ú

£»********************************************************************

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡wsprintf£»addr¡¡@szBuffer£»addr¡¡szFormat£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_uMsg£»eax£»_wParam£»_lParam

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡_SendtoNotepad£»addr¡¡@szBuffer

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡popad

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡

_ShowMessage¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡endp

ÔÚÕâÀïÒªÓõ½repnz¡¡scasdÖ¸ÁscasdÖ¸ÁîÊÇ°ÑeaxÖеÄÖµ´Ó£§edi£§¿ªÊ¼µÄÄÚ´æÖа´Ë«×ֱȽϣ¬Í¬Ê±½«edi¼Ó4£¬Èç¹ûÏàµÈ£¬ÔòZR±êÖ¾ÖÃ룬·ñÔòΪNZ£¬repnz±íʾÈç¹û±ê־ΪNZ£¬ÔòÒÔecxΪÖظ´´ÎÊýÖظ´ËÑË÷£¬Ö±µ½ÏàµÈ»òecxΪÁãΪֹ¡£

½«ecx¸³ÖµÎªÏûÏ¢±íµÄÏîÊýMSG_TABLE_LEN£¬½«edi¸³ÖµÎªÏûÏ¢±íµÄ¿ªÊ¼µØÖ·offset¡¡dwMsgTable£¬È»ºó¿ªÊ¼²éÕÒ£¬Í£Ö¹ºó¿ÉÒԲ鿴±êÖ¾Zero룬Èç¹ûÊÇ·ÇZERO£¬±íʾ²éÍêÈ«²¿¶¼Ã»ÓÐÕÒµ½£¬Èç¹ûÊÇZERO£¬Ôò±íʾÕÒµ½±íÏî¡£

µ±±ê־ΪZEROʱ£¬ediÖ¸ÏòÕÒµ½ÏîÄ¿µÄºóÒ»Ï½«edi¼õÈ¥Ò»ÏîµÄ³¤¶È£¨sizeof¡¡dword£©ÒÔ¼°±íµÄ»ùÖ·£¬ÔÙ³ýÒÔ±íÏîµÄ³¤¶È£¨sizeof¡¡dwordµÈÓÚ4£¬³ýÒÔ4µÈÓÚÓÒÒÆÁ½Î»£¬ËùÒÔ³ÌÐòÖÐÓÃshr¡¡edi£»2£©£¬¾ÍÊÇÏûÏ¢ÔÚ±íÖеÄË÷ÒýÁË£¬½ÓÏÂÀ´Ëã³öÏûÏ¢×Ö·û´®µÄλÖã¬Î»ÖõÈÓÚ£ºË÷Òý¡Á×Ö·û´®³¤£«×Ö·û´®±í»ùÖ·£¬´úÂëÈçÏ£º

¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡ecx£»MSG_STRING_LEN

¡¡¡¡¡¡¡¡mul¡¡¡¡¡¡¡¡¡¡ecx

¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡eax£»offset¡¡szStringTable

ÕâÑù£¬eaxÖоÍÊÇ×Ö·û´®µÄµØÖ·ÁË¡£×îºó½«ÏûÏ¢±àºÅ¡¢Ãû³ÆºÍ²ÎÊýÓÃwsprintfº¯Êý¸ñʽ»¯³É¿ÉÒÔ·¢Ë͵Ä×Ö·û´®´æ·Åµ½@szBufferÖУ¬²¢ÓÃ_SendtoNotepad×Ó³ÌÐò½«@szBufferÖеÄÄÚÈÝ·¢Ë͵½¼Çʱ¾È¥¡£

³ÌÐòÔö¼ÓµÄµÚ¶þ²¿·Ö¾ÍÊÇÏÂÃæÕâ¸ö_SendtoNotepad×Ó³ÌÐò£º

szDestClass¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Notepad'£»0

_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



¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
vÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡


µÚ4Õ¡¡µÚÒ»¸ö´°¿Ú³ÌÐò


4¡£4¡¡Êµ¡¡Ñ飨2£©

¡¡¡¡¡¡¡¡
¸Ã×Ó³ÌÐòÖÐÊ×ÏÈÓÃFindWindowº¯ÊýÀ´²éÕÒ¼Çʱ¾³ÌÐòÊÇ·ñÒѾ­ÔËÐУ¬¼Çʱ¾³ÌÐòµÄ´°¿ÚÀàÃû³ÆΪ¡°Notepad¡±£¬FindWindow¿ÉÒÔÓô°¿ÚÀ൱×öµÚÒ»¸ö²ÎÊýÀ´²éÕÒ£¬Èç¹ûÕÒµ½£¬·µ»ØµÄÊǼÇʱ¾³ÌÐòµÄÖ÷´°¿Ú¾ä±ú£¬·ñÔò·µ»Ø0¡£

Òª·¢Ë͵ÄÊÇÄ£Äâ¼üÅÌ°´¼üµÄÏûÏ¢WM_CHAR£¬ÕâÑù¾ÍºÃÏñÔÚ¼Çʱ¾ÖÐÈ˹¤¼üÈë×Ö·û£¬µ«Ö±½ÓÏò¼Çʱ¾Ö÷´°¿Ú·¢ËÍWM_CHARÏûÏ¢ÊDz»Ðеģ¬ÒªÏò¼Çʱ¾´°¿Ú¿Í»§ÇøÖеı༭×Ó´°¿Ú·¢ËÍÏûÏ¢²ÅÐУ¬ËùÒÔ³ÌÐòÖÐÓÖÓôÓλÖûñÈ¡×Ó´°¿Ú¾ä±úµÄº¯ÊýChildWindowFromPointÀ´»ñµÃ±à¼­×Ó´°¿ÚµÄ¾ä±ú¡£

Ëø¶¨ÁË×îºóµÄÄ¿±ê¼´¼Çʱ¾Öеı༭×Ó´°¿Úºó£¬³ÌÐòÓÃPostMessageÏòËü·¢ËÍÏûÏ¢£¬¸ù¾Ý×Ö·û´®µÄ³¤¶È£¬ÓÃÒ»¸öÑ­»·Ã¿´Î·¢ËÍÒ»¸öWM_CHARÏûÏ¢£¬WM_CHARÏûÏ¢µÄwParamºÍlParamµÄº¬ÒåÊÇ£º

wParam¡¡=¡¡chCharCode¡¡¡¡¡¡¡¡//¡¡wParamÊǼüÖµ

lParam¡¡=¡¡lKeyData¡¡¡¡¡¡¡¡¡¡¡¡//¡¡lParamÊǼüÊý¾Ý£¨Öظ´´ÎÊý£©

³ÌÐòÖÐÓÃmov¡¡eax£»al½«¼üÖµÀ©Õ¹µ½²ÎÊýËùÐèµÄ32룬µ±×öwParam²ÎÊý·¢ËÍ£¬lParamΪ1£¬±íʾ¼üµÄÖظ´´ÎÊýΪ1´Î£¬ÕâÑùÒ»À´£¬¼Çʱ¾ÖоÍÔ´Ô´²»¶ÏµØÏÔʾ³öMsgWindow³ÌÐòµÄÔËÐй켣ÁË¡£

MsgWindow³ÌÐòÔö¼ÓµÄµÚÈý²¿·ÖÊÇÔÚÿ¸öº¯ÊýµÄÇ°ºóÔö¼ÓÁËÏÔʾ״̬µÄÓï¾ä£¬ËüÃÇÖ»ÊǼòµ¥µØ°ÑÒ»¸ö×Ö·û´®·¢Ë͵½¼Çʱ¾ÖÐÈ¥£º

£»¶¨ÒåһЩ×Ö·û´®

szCreateWindow1¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Creating¡¡Window¡£¡£¡£'£»0dh£»0

szCreateWindow2¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'CreateWindow¡¡end'£»0dh£»0

szShowWindow1¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Showing¡¡Window¡£¡£¡£'£»0dh£»0

szShowWindow2¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'ShowWindow¡¡end'£»0dh£»0

szUpdateWindow1¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Updating¡¡Window¡£¡£¡£'£»0dh£»0

szUpdateWindow2¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'UpdateWindow¡¡end'£»0dh£»0

szGetMsg1¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Getting¡¡Message¡£¡£¡£'£»0dh£»0

szGetMsg2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'£§£¥04x£§Message¡¡gotten'£»0dh£»0

szDispatchMsg1¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Dispatching¡¡Message¡£¡£¡£'£»0dh£»0

szDispatchMsg2¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'DispatchMessage¡¡end'£»0dh£»0

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szCreateWindow1

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡CreateWindowEx£»¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szCreateWindow2

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szShowWindow1

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡ShowWindow£»hWinMain£»SW_SHOWNORMAL

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szShowWindow2

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szUpdateWindow1

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡UpdateWindow£»hWinMain

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡_SendtoNotepad£»addr¡¡szUpdateWindow2

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡­

ÉÏÃæ´úÂëÖеĴÖÌ岿·Ö¾ÍÊÇÏà¶ÔÓÚFirstWindow³ÌÐòÔö¼ÓµÄÄÚÈÝ£¬ºÃÁË£¬ÏÖÔÚDOS¿ØÖÆ̨ÉϼüÈënmake½«MsgWindow³ÌÐò±àÒë³öÀ´£¬È»ºó´ò¿ª¼Çʱ¾£¬ÔÙÔËÐÐMsgWindow¡£exe£¬Èç¹û¼Çʱ¾ÉϳöÏÖÒ»´ó¶ÑµÄ¶«Î÷£¬¾Í˵Ã÷ʵÑé¿ÉÒÔ¿ªÊ¼ÁË£¡

4¡£4¡£2¡¡¡¡¿ªÊ¼ÊµÑé

ʵÑé1¡£¡¡ÑéÖ¤ÊÕµ½ÏûÏ¢µÄ˳Ðò

´ò¿ª¼Çʱ¾£¬È»ºóÔËÐÐMsgWindow³ÌÐò£¬¼Çʱ¾ÉϳöÏÖµÄÄÚÈÝΪ£º

Creating¡¡Window¡£¡£¡£

WndProc£º¡¡£§0024£§WM_GETMINMAXINFO¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fda4

WndProc£º¡¡£§0081£§WM_NCCREATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fd8c

WndProc£º¡¡£§0083£§WM_NCCALCSIZE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fdc4

WndProc£º¡¡£§0001£§WM_CREATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fd68

CreateWindow¡¡end

Showing¡¡Window¡£¡£¡£

WndProc£º¡¡£§0018£§WM_SHOWWINDOW¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000000

WndProc£º¡¡£§0046£§WM_WINDOWPOSCHANGING¡¡¡¡¡¡00000000¡¡0012fec0

WndProc£º¡¡£§0046£§WM_WINDOWPOSCHANGING¡¡¡¡¡¡00000000¡¡0012fec0

WndProc£º¡¡£§001c£§WM_ACTIVATEAPP¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000450

WndProc£º¡¡£§0086£§WM_NCACTIVATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000000

WndProc£º¡¡£§000d£§WM_GETTEXT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡000001fe¡¡0012f52c

WndProc£º¡¡£§0006£§WM_ACTIVATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000000

WndProc£º¡¡£§0007£§WM_SETFOCUS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000

WndProc£º¡¡£§0085£§WM_NCPAINT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000001¡¡00000000

WndProc£º¡¡£§000d£§WM_GETTEXT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡000001fe¡¡0012f52c

WndProc£º¡¡£§0014£§WM_ERASEBKGND¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡e3010449¡¡00000000

WndProc£º¡¡£§0047£§WM_WINDOWPOSCHANGED¡¡¡¡¡¡¡¡00000000¡¡0012fec0

WndProc£º¡¡£§0005£§WM_SIZE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00450064

WndProc£º¡¡£§0003£§WM_MOVE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡004b0038

ShowWindow¡¡end

Updating¡¡Window¡£¡£¡£

WndProc£º¡¡£§000f£§WM_PAINT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000

UpdateWindow¡¡end

Getting¡¡Message¡£¡£¡£

ÒÔWndProc´øÍ·µÄÊÇÔÚ´°¿Ú¹ý³ÌÖÐÊÕµ½µÄÏûÏ¢£¬ÏÔÈ»£¬ºÍ4¡£2¡£4½ÚÖн²ÊöµÄÊÇÒ»Öµģ¬ÔÚµ÷ÓÃCreateWindowExµÄʱºò£¬´°¿Ú¹ý³Ì¾Í¿ªÊ¼½ÓÊÕÏûÏ¢£¬ÀïÃæÓÐÖØÒªµÄWM_CREATE£¬È»ºóÔÚShowWindowµÄʱºò£¬WindowsÏò´°¿Ú¹ý³Ì·¢ËÍÁ˺ܶàµÄÏûÏ¢£¬¶øUpdateWindowÖ»¸ø´°¿Ú¹ý³Ì·¢ËÍÁËÒ»ÌõWM_PAINTÏûÏ¢£¬½ÓÏÂÀ´¾Í½øÈëÁËÏûϢѭ»·¡£

¿ÉÒÔ¿´µ½£¬GetMessageº¯ÊýÊdzÌÐòÖ÷¶¯ÉϽ»¿ÕÏÐʱ¼äµÄ°ì·¨Ö®Ò»£¬ÒòΪÏÔʾ³öGetting¡¡Message¡£¡­ÒԺ󣬳ÌÐò¾ÍµÈ×ÅÄÇÀïÁË£¬Õâ±íʾ³ÌÐòµÄ¿ÕÏÐʱ¼ä²¢²»ÀË·ÑÔÚÏûϢѭ»·ÖУ¬¶øÊÇÔÚGetMessageº¯ÊýÄÚ²¿ÓÉWindows×Ô¼º·ÖÅäÁË¡£

½ÓÏÂÀ´°ÑÊó±êÒƹýMsgWindow´°¿Ú£¬ÔÚ¼Çʱ¾ÉÏ¿´µ½ÁËʲô£¿Óû§Ò»¸öССµÄ¶¯×÷¾Í¹»´°¿Ú¹ý³ÌæµÄ¡ª¡ªÎÒÃÇ¿´µ½Á˶à´ÎÖظ´µÄÏÂÁÐÄÚÈÝ£º

WndProc£º¡¡£§0084£§WM_NCHITTEST¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00830096

WndProc£º¡¡£§0020£§WM_SETCURSOR¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡001b0304¡¡02000001

£§0200£§Message¡¡gotten

Dispatching¡¡Message¡£¡£¡£

WndProc£º¡¡£§0200£§WM_MOUSEMOVE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0038005e

DispatchMessage¡¡end

Getting¡¡Message¡£¡£¡£

Ê×ÏÈ£¬WindowsÔÚGetMessageûÓзµ»ØµÄʱºò¾Íµ÷ÓÃÁËÁ½´Î´°¿Ú¹ý³Ì£¬·Ö±ðÊÇ´¦ÀíWM_NCHITTESTºÍWM_SETCURSOR£¬ËüÃDz¢²»¾­¹ýÏûϢѭ»·£»È»ºó£¬GetMessageÈ¡µ½£§0200£§ÏûÏ¢²¢·µ»Ø£¬0200ÊÇWM_MOUSEMOVEÏûÏ¢µÄ±àºÅ£»½ÓÏÂÀ´£¬DispatchMessageº¯Êý¿ªÊ¼¹¤×÷£¬ÔÚÕâ¸öº¯ÊýµÄÄÚ²¿£¬ÏûÏ¢±»Windows·¢Ë͸ø´°¿Ú¹ý³Ì´¦Àí£¬×îºóDispatchMessage·µ»Ø£¬È»ºó¿ªÊ¼ÐµÄGetMessage¡£

×îºóÔÚMsgWindowÉϵ¥»÷¡°¹Ø±Õ¡±°´Å¥£¬¿´·¢ÉúÁËʲô£º

£§00a1£§Message¡¡gotten

Dispatching¡¡Message¡£¡£¡£

WndProc£º¡¡£§00a1£§WM_NCLBUTTONDOWN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000014¡¡003d0097

WndProc£º¡¡£§0215£§WM_CAPTURECHANGED¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000

WndProc£º¡¡£§0112£§WM_SYSMAND¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0000f060¡¡003d0097

WndProc£º¡¡£§0010£§WM_CLOSE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000

WndProc£º¡¡£§0046£§WM_WINDOWPOSCHANGING¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fad8

WndProc£º¡¡£§0047£§WM_WINDOWPOSCHANGED¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡0012fad8

WndProc£º¡¡£§0086£§WM_NCACTIVATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000

WndProc£º¡¡£§0006£§WM_ACTIVATE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000

WndProc£º¡¡£§001c£§WM_ACTIVATEAPP¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000450

WndProc£º¡¡£§0008£§WM_KILLFOCUS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000

WndProc£º¡¡£§0002£§WM_DESTROY¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000

WndProc£º¡¡£§0082£§WM_NCDESTROY¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡00000000¡¡00000000

DispatchMessage¡¡end

Getting¡¡Message¡£¡£¡£

£§0012£§Message¡¡gotten

GetMessageÊÕµ½µÄÊÇ°´ÏÂÊó±êµÄWM_NCLBUTTONDOWNµÄÏûÏ¢£¬ÓÉDispatchMessageת¸ø´°¿Ú¹ý³Ì´¦Àíºó£¬´°¿Ú¹ý³Ì½«ËüתÊÖ¸øÁËDefWindowProc£¬DefWindowProc¸ù¾ÝÊó±êµÄλÖõóö½áÂÛ£ºÓû§°´µÄÊÇ¡°¹Ø±Õ¡±°´Å¥£¬·Å¿ªÊó±êºó£¬Ëü¾Í¸ø´°¿Ú¹ý³Ì·¢ËÍWM_CLOSEÏûÏ¢£¬µ±´°¿Ú¹ý³Ìµ÷ÓÃDestroyWindowºó£¬´°¿Ú±»´Ý»Ù£¬´°¿Ú¹ý³Ì×îºóÊÕµ½µÄÊÇWM_DESTROYÏûÏ¢ºÍWM_NCDESTROYÏûÏ¢£¬¶øÏûϢѭ»·ÖÐGetMessage×îºóÊÕµ½µÄÊÇ0012ºÅWM_QUITÏûÏ¢£¬ÏûϢѭ»·½áÊø¡£



¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷Õ
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡