°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
µÈÂÖµ½³ÌÐò1µÄʱ¼äƬµÄʱºò°Ñ·µ»ØÖµµ±×öSendMessageµÄ·µ»ØÖµ´«¸ø³ÌÐò1£¬ÕâÑù³ÌÐò1¿´ÉÏÈ¥¾ÍÏñ×Ô¼ºÖ±½ÓÔÚµ÷ÓóÌÐò2µÄ´°¿Ú¹ý³ÌÒ»Ñù¡£
µ«ÓÖÒ»¸öÎÊÌâ³öÏÖÁË£ºWindowsÔÚ×ö¡°Ç£ÏߺìÄµÄʱºò´«µÝÁËwParamºÍlParamÒÔ¼°·µ»ØÖµ£¬Èç¹û²ÎÊýÖ¸ÏòÒ»¸ö×Ö·û´®ÄØ£¬±ÈÈç˵ÉÏÃæµÄWM_SETTEXTÏûÏ¢ÖеÄlParamÖ¸ÏòÒ»¸ö×Ö·û´®£¬¼ÙÉè³ÌÐò1ÖÐlParamÖ¸Ïò×Ö·û´®µÄµØַΪxxxxxxxx£¬°ÑÕâ¸öµØÖ·´«¸ø³ÌÐò2µÄʱºò£¬³ÌÐò2²»¿ÉÄÜ·ÃÎʵ½³ÌÐò1µÄµØÖ·¿Õ¼ä£¬ÔÚ³ÌÐò2ÖÐxxxxxxxxÖ¸ÏòµÄ¿ÉÄÜÊÇÆäËûÄÚÈÝ£¬Ò²¿ÉÄÜÊDz»¿É·ÃÎʵģ¬ÕâÓÖ¸ÃÈçºÎ´¦ÀíÄØ£¿
дһ¸öÔ´³ÌÐòʵÑéһϣ¬ÓÃÒ»¸ö³ÌÐòÏòÁíÒ»¸ö³ÌÐòµÄ´°¿Ú·¢ËÍWM_SETTEXTÏûÏ¢£¬È»ºóÔÚÁíÒ»¸ö³ÌÐòÖн«½ÓÊÕµ½µÄWM_SETTEXTÏûÏ¢µÄ²ÎÊýÏÔʾ³öÀ´¡£ÏÈÀ´´òÔì½ÓÊÕ³ÌÐò£¬Ê×ÏÈ¿½±´Ò»·ÝFirstWindowsµÄ´úÂ룬ȻºóÔÚ´°¿Ú¹ý³ÌµÄ·ÖÖ§ÖмÓÉÏÒÔÏ´úÂ룺
¡£elseif¡¡¡¡¡¡eax¡¡¡¡WM_SETTEXT
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡wsprintf£»addr¡¡szBuffer£»addr¡¡szReceive£»lParam£»lParam
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡MessageBox£»hWnd£»offset¡¡szBuffer£»addr¡¡szCaptionMain£»MB_OK
ͬʱÔÚÊý¾Ý¶ÎÖмÓÉÏÏÂÁж¨Ò壺
szCaptionMain¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Receive¡¡Message'£»0
szReceive¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'Receive¡¡WM_SETTEXT¡¡message'£»0dh£»0ah
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'param£º¡¡£¥08x'£»0dh£»0ah
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'text£º¡¡¡¨£¥s¡¨'£»0dh£»0ah£»0
ÔÚÕâÀҪÌá¼°Win32¡¡APIÖÐÒ»¸öºÜ³£Óõĺ¯Êýwsprintf£¬ÕâÊÇÒ»¸ö×Ö·û´®¸ñʽ»¯º¯Êý£¬¿ÉÒÔ½«ÊýÖµ°´Ö¸¶¨¸ñʽ·Òë³É×Ö·û´®£¬ÀàËÆÓÚCÓïÑÔÖеÄprintfº¯Êý£¬ËüµÄÔÐÍÊÇÕâÑùµÄ£º
int¡¡wsprintf£¨
¡¡¡¡¡¡¡¡LPTSTR¡¡lpOut£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Êä³ö»º³åÇøµØÖ·
¡¡¡¡¡¡¡¡LPCTSTR¡¡lpFmt£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¸ñʽ»¯´®µØÖ·
¡¡¡¡¡¡¡¡¡£¡£¡£¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡±äÁ¿Áбí
¡¡¡¡¡¡£©£»
±äÁ¿ÁбíµÄÊýÄ¿Óɸñʽ»¯×Ö·û´®¹æ¶¨£¬wsprintf´¦Àí¸ñʽ»¯×Ö·û´®£¬Óöµ½ÆÕͨµÄ×Ö·ûÔòÖ±½Ó¿½±´µ½Êä³ö£¬Óöµ½£¥×Ö·ûÔò´ú±íÓÐÒ»¸ö±äÁ¿£¬£¥ºóÃ治ͬµÄ×Öĸ±íʾ²»Í¬µÄÊä³ö¸ñʽ£¬È磥d±íʾÊä³öΪÕûÊý£¬£¥x±íʾÊä³öΪ16½øÖÆ£¬£¥s±íʾÊä³ö×Ö·û´®µÈ¡£
£¥·ûºÅºÍ±íʾ¸ñʽµÄd£¬xºÍsµÈ×Öĸ¼ä¿ÉÒÔÓÃÊý×ÖÀ´Ö¸¶¨Êä³öʱռÓõÄ볤£¬ÕâʱÊä³öµÄ볤²»¹»Ê±º¯Êý»áÓÿոñÌîÆë¡£ÁíÍ⣬±íʾ볤µÄÊý×ÖÇ°¿ÉÒÔ¼Ó0À´±íʾÌîÆëʱÓá°0¡±¶ø·Ç¿Õ¸ñ£¬È磥08x±íʾÊä³öΪ8λǰÃæÓÃ0ÌîÆëµÄ16½øÖÆÊý¡£wsprintfÊÇWin32¡¡APIÖÐΩһһ¸ö²ÎÊýÊýÁ¿²»¶¨µÄº¯Êý£¬Ê¹ÓÃwsprintfº¯ÊýµÄʱºò£¬²ÎÊýµÄÊýÁ¿È¡¾öÓÚ¸ñʽ»¯×Ö·û´®ÖÐÓ㥺ÅÖ¸¶¨µÄÊýÁ¿£¬±äÁ¿ÁбíµÄÊýÄ¿ºÍ¸ñʽ»¯´®Öеģ¥¸ñʽһ¶¨ÒªÒ»Ò»¶ÔÓ¦¡£ÕâÀïszReceiveÖÐÓÐÁ½¸ö£¥ºÅ¶¨Ò壬ÄÇôºóÃæ¾ÍÒª¶îÍâ¸úÁ½¸ö²ÎÊý£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡wsprintf£»addr¡¡szBuffer£»addr¡¡szReceive£»lParam£»lParam
ÕâÌõÓï¾ä½«lParamµÄÊýÖµÒÔ¼°lParamµÄ×Ö·û´®°´ÕÕszReceive¸ñʽ»¯´®¶¨ÒåµÄ¸ñʽת»»£¬²¢½«½á¹û´æ·Åµ½szBufferÖУ¬È»ºó³ÌÐò½«szBufferÖеÄÄÚÈÝÔÚÒ»¸öÏûÏ¢¿òÖÐÏÔʾ³öÀ´£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡MessageBox£»hWnd£»offset¡¡szBuffer£»addr¡¡szCaptionMain£»MB_OK
½ÓÊÕ³ÌÐòдºÃÁË£¬ÏÖÔÚÀ´Ð´Ò»¸ö·¢ËͳÌÐò£¬ÈçÏÂËùʾ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£386
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£model¡¡flat£»stdcall
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡option¡¡casemap£ºnone
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡windows¡£inc
include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡user32¡£inc
includelib¡¡¡¡¡¡¡¡¡¡user32¡£lib
include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡kernel32¡£inc
includelib¡¡¡¡¡¡¡¡¡¡kernel32¡£lib
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£data
hWnd¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡£¿
szBuffer¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡256¡¡dup¡¡£¨£¿£©
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nst
szCaption¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'SendMessage'£»0
szStart¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'Press¡¡OK¡¡to¡¡start¡¡SendMessage£»¡¡param£º¡¡£¥08x£¡'£»0
szReturn¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'SendMessage¡¡returned£¡'£»0
szDestClass¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'MyClass'£»0
szText¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'Text¡¡send¡¡to¡¡other¡¡windows'£»0
szNotFound¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡'Receive¡¡Message¡¡Window¡¡not¡¡found£¡'£»0
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡de
start£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡FindWindow£»addr¡¡szDestClass£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hWnd£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡wsprintf£»addr¡¡szBuffer£»addr¡¡szStart£»addr¡¡szText
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡MessageBox£»NULL£»offset¡¡szBuffer£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡offset¡¡szCaption£»MB_OK
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SendMessage£»hWnd£»WM_SETTEXT£»0£»addr¡¡szText
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡MessageBox£»NULL£»offset¡¡szReturn£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡offset¡¡szCaption£»MB_OK
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£else
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡MessageBox£»NULL£»offset¡¡szNotFound£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡offset¡¡¡¡szCaption£»MB_OK
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡ExitProcess£»NULL
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡end¡¡¡¡¡¡¡¡start
ÔÚÕâ¸ö³ÌÐòÖÐÊ×ÏÈÓÃFindWindowº¯ÊýÕÒµ½½ÓÊÕ´°¿ÚµÄ´°¿Ú¾ä±ú£¬FindWindowº¯ÊýµÄʹÓ÷½·¨ÊÇ£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡FindWindow£»lpClassName£»lpWindowName
¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡hWin£»eax
¡¡¡¡¡¡¡¡¡£endif
Á½¸ö²ÎÊý¶¼Ö¸Ïò×Ö·û´®£¬lpClassNameÖ¸ÏòÐèҪѰÕҵĴ°¿ÚµÄ´°¿ÚÀ࣬lpWindowNameÖ¸ÏòÐèҪѰÕÒ´°¿ÚµÄ´°¿Ú±êÌ⣬Èç¹ûÄ¿±ê´°¿Ú´æÔڵĻ°£¬º¯ÊýµÄ·µ»ØÖµÊÇÕÒµ½µÄ´°¿Ú¾ä±ú£¬·ñÔòº¯Êý·µ»Ø0¡£
ÓýÓÊÕ´°¿ÚµÄ´°¿ÚÀ൱×ö²ÎÊýÑ°ÕÒ´°¿Ú£¬Èç¹ûûÓÐÕÒµ½ÔòÏÔʾ¡°Receive¡¡Message¡¡Window¡¡not¡¡found¡±£¬ÕÒµ½µÄ»°Ôò°Ñ¡°Text¡¡send¡¡to¡¡other¡¡windows¡±×Ö·û´®µÄµØÖ·µ±×öWM_SETTEXTÏûÏ¢µÄ²ÎÊýÓÃSendMessage·¢Ë͸ø½ÓÊÕ´°¿Ú¡£Á½¸ö³ÌÐòµÄÔ´´úÂë¿ÉÒÔÔÚËù¸½´ø¹âÅ̵ÄChapter04SendMessageĿ¼ÖÐÕÒµ½¡£
ºÃ£¡ÏÖÔÚ·¢ËÍ¿ªÊ¼£¬Ê×ÏÈÖ´ÐÐReceive¡£exe£¬´°¿Ú³öÀ´ÁË£¬È»ºóÖ´ÐÐSend¡£exe£¬ÆÁÄ»ÉϳöÏÖÒ»¸ö¶Ô»°¿ò£ºPress¡¡OK¡¡to¡¡start¡¡SendMessage£»¡¡param£º¡¡00402072£¬±íʾÔÚSend³ÌÐòÖÐ×Ö·û´®µÄµØÖ·ÊÇ00402072h£¬ÏÖÔÚµ¥»÷¡°È·¶¨¡±°´Å¥Ö´ÐÐSendMessageº¯Êý£¬µ¥»÷ºó¶Ô»°¿òÏûʧ£¬µ«½ÓÊÕ³ÌÐòÏÔʾ³öÁËÒ»¸ö¶Ô»°¿ò£¬ÄÚÈÝΪ£º
Receive¡¡WM_SETTEXT¡¡message
param£º¡¡0012ff1c
text£º¡¡¡¨Text¡¡send¡¡to¡¡other¡¡windows¡¨
¿É¼û×Ö·û´®ÊÇÕýÈ·µØ´«Á˹ýÀ´£¬µ«µØÖ·È´²»ÊÇ·¢ËͳÌÐòµÄ00402072h£¬ÕâÊÇÔõô»ØÊÂÄØ£¿´ð°¸ÊÇWindows×ö¡°ºìÄ×öµ½µ×£¬Ëü¿½±´ÁËWM_SETTEXTÏûÏ¢lParamÖ¸ÏòµÄ×Ö·û´®£¬²¢ÔÚ½ÓÊÕ³ÌÐòµÄµØÖ·¿Õ¼äÖпªÁËÒ»¿éÄÚ´æ·ÅÉÏÕâ¸ö×Ö·û´®£¬È»ºó°ÑеĵØÖ·Öµµ±×ölParam´«¸ø½ÓÊÕ³ÌÐò£¬±Ï¾¹ÔÚWM_GETTEXTÏûÏ¢ÖУ¬lParamµÄÊýÖµÊǶàÉÙ²¢²»ÖØÒª£¬ÖØÒªµÄÊÇËüÖ¸ÏòµÄ×Ö·û´®ÊÇ·ñÕýÈ·¡£
×îºó£¬µ¥»÷Receive¡¡³ÌÐòÖеġ°È·¶¨¡±°´Å¥£¬Send³ÌÐòÂíÉϻᵯ³öÒ»¸öÏûÏ¢¿ò²¢ÏÔʾ£ºSendMessage¡¡returned£¬ÕâÊÇSendMessageº¯Êý¸æËßÎÒÃÇ£ºÎÒ»ØÀ´ÁË£¡
ÆäʵWindowsÔÚ´¦ÀíSendMessageºÍPostMessageµÄʱºòÒª¼ì²éÏûÏ¢µÄÀàÐÍ£¬²¢¶Ô²»Í¬µÄÏûÏ¢×ö²»Í¬µÄ´¦Àí£¬µ±ÏûÏ¢µÄ²ÎÊýÊÇÒ»¸öÖ¸ÕëµÄʱºò£¬WindowsÒª°ÑÖ¸ÕëÖ¸ÏòµÄÄÚÈݸ´ÖƵ½»º³åÇø£¬ÒÔ±ãÔÚÁ½¸ö³ÌÐòµÄµØÖ·¿Õ¼äÖд«µÝ¡£
¡¡ÔÚÓû§×Ô¶¨ÒåµÄÏûÏ¢ÖУ¨WM_USERµÈ£©²»ÒªÔÚÏûÏ¢²ÎÊýÖд«µÝÖ¸Õ룬ÕâÖ»»áÒý·¢·Ç·¨·ÃÎÊÄڴ棬ÒòΪWindows²»ÖªµÀÓû§µÄÒâͼ£¬ËüÖ»»á°ÑlParamºÍwParamµ±Á½¸öÆÕͨµÄÊýÖµ´«µÝ£¬¶ø²»»á°ïÓû§°ÑÖ¸ÕëÖ¸ÏòµÄÄÚÈݸ´ÖƵ½Ò»¸ö»º³åÇøÖС£
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ4Õ¡¡µÚÒ»¸ö´°¿Ú³ÌÐò
4¡£4¡¡Êµ¡¡Ñ飨1£©
¡¡¡¡¡¡¡¡
ÔÚÕâÒ»½ÚÖУ¬½«Í¨¹ý²»Í¬µÄʵÑ飬½øÒ»²½½éÉÜ´°¿ÚµÄÔËÐС£Ê×Ïȹ¹ÔìÒ»¸ö³ÌÐò£¬ÔÚ³ÌÐòÖн«ÊÕµ½µÄÏûÏ¢²é±í·Òë³ÉÎı¾ÒÔ¡°WM_XXX¡±¸ñʽÏÔʾ³öÀ´£¬²¢ÇÒ½«µ÷Óø÷¸öAPIº¯ÊýµÄ¹ý³ÌÒ²ÏÔʾ³öÀ´£¬ÕâÑù¿ÉÒÔ·ÖÎö´°¿ÚµÄ¸÷ÖÖÐÐΪºÍÏûÏ¢Ö®¼äµÄ¹Øϵ¡£
4¡£4¡£1¡¡¡¡MsgWindow³ÌÐò
ΪÁË°ÑÐèÒªµÄÄÚÈÝÏÔʾ³öÀ´£¬¿ÉÒÔÑ¡ÔñÔÚ¿Í»§ÇøÏÔʾÎı¾£¬µ«ÕâÑù»áÒýÈëеÄÏûÏ¢£¬¸ÉÈÅʵÑ飬ËùÒÔ£¬ÕâÀïÑ¡ÔñÁËÒ»ÖÖеķ½·¨£¬¾ÍÊÇÏÈ´ò¿ªWindows¸½¼þÖÐ×Ô´øµÄNotepad¼Çʱ¾³ÌÐò£¬È»ºóÔÚ³ÌÐòÖн«ÒªÏÔʾµÄÄÚÈÝͨ¹ýSendMessage·¢Ë͵½¼Çʱ¾ÖУ¬¿ÉÒÔͨ¹ý²é¿´¼Çʱ¾ÖеÄÄÚÈÝÀ´Á˽âMsgWindowµÄÔËÐÐÇé¿ö¡£
ͬÑù£¬ÏÈ¿½±´Ò»·ÝFirstWindow³ÌÐò½øÐÐÐ޸ģ¬¹²Ôö¼Ó3¸ö²¿·Ö¡£µÚÒ»²¿·ÖÊǽ«ÏûÏ¢²é±íת»»Îª×Ö·û´®£¬Ê×ÏÈÔÚ¡¡nst¶ÎÖÐÔö¼ÓÁ½¸ö±í£º16½øÖƵÄÏûÏ¢±àºÅÁбídwMsgTableºÍ×Ö·û´®ÁбíszStringTable£¬Á½±íÖеÄÏîÄ¿Ò»Ò»¶ÔÓ¦£¬´úÂëÈçÏ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nst
dwMsgTable¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡WM_NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡WM_CREATE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡WM_DESTROY
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡WM_MOVE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡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_EXITSIZEMOVE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'£»0
szFormat¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡'WndProc£º¡¡£§£¥04x£§£¥s¡¡£¥08x¡¡£¥08x'£»0dh£»0
MSG_TABLE_LEN¶¨ÒåÁ˱íµÄÏîÊý£¬MSG_STRING_LEN¶¨ÒåÁË×Ö·û´®±íÖÐÿһÏîµÄ³¤¶È¡£sizeof²Ù×÷·ûÈ¡µÄÊÇszStringTableÕâÒ»ÐÐÖеÄÊý¾Ý³¤¶È£¬¶ø·Ç°üÀ¨ÏÂÃæÈ«²¿µÄ×Ö·û´®ÐС£ÎªÁ˼ò»¯´¦Àí£¬È«²¿×Ö·û´®µÄ³¤¶È±£³ÖÏàµÈ¡£ÓÉÓÚƪ·ùËùÏÞ£¬ÕâÀïûÓÐÁгöÈ«²¿µÄÏûÏ¢ÁÐ±í£¬ÍêÕûµÄÔ´´úÂë¿ÉÒÔÔÚ±¾Ê鸽´ø¹âÅ̵ÄChapter04MsgWindow01Ŀ¼ÖÐÕÒµ½¡£³ÌÐòÔÚ´°¿Ú¹ý³ÌµÄÈë¿Ú´¦µ÷ÓÃ_ShowMessage×Ó³ÌÐòÀ´·ÒëÏûÏ¢²¢´«¸ø¼Çʱ¾£º
_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£¬ÕâÑù¾ÍºÃÏñÔÚ¼Çʱ¾ÖÐÈ˹¤¼üÈë×Ö·û£