°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¶Ô»°¿òÀàÐ͵ı߿ò
¡¡
WS_VSCROLL
¡¡00200000h
¡¡´ø´¹Ö±¹ö¶¯Ìõ
¡¡
WS_HSCROLL
¡¡00100000h
¡¡´øˮƽ¹ö¶¯Ìõ
¡¡
WS_SYSMENU
¡¡00080000h
¡¡´øϵͳ²Ëµ¥£¨¼´´ø±êÌâÀ¸×óÉϽǵÄͼ±ê£©
¡¡
WS_THICKFRAME
¡¡00040000h
¡¡¿ÉÒÔÍ϶¯µ÷Õû´óСµÄ±ß¿ò
¡¡
WS_MINIMIZEBOX
¡¡00020000h
¡¡ÓÐ×îС»¯°´Å¥
¡¡
WS_MAXIMIZEBOX
¡¡00010000h
¡¡ÓÐ×î´ó»¯°´Å¥
¡¡
ΪÁËÈÝÒ×Àí½â£¬WindowsҲΪһЩ¶¨ÒåÈ¡ÁËһЩ±ðÃû£¬Í¬Ê±£¬ÓÉÓÚ´°¿ÚµÄ·ç¸ñÍùÍùÊǼ¸ÖÖ·ç¸ñµÄ×éºÏ£¬ËùÒÔWindowsÒ²Ô¤¶¨ÒåÁËһЩ×éºÏÖµ£¬Èç±í4¡£3Ëùʾ¡£
±í4¡£3¡¡¡¡µÈЧµÄ´°¿Ú·ç¸ñÔ¤¶¨ÒåÖµ
Ô¤¶¨ÒåÖµ
¡¡µÈ¡¡¡¡Ð§¡¡¡¡Öµ
¡¡
WS_CHILDWINDOW
¡¡WS_CHILD
¡¡
WS_TILED
¡¡WS_OVERLAPPED
¡¡
WS_ICONIC
¡¡WS_MINIMIZE
¡¡
WS_SIZEBOX
¡¡WS_THICKFRAME
¡¡
WS_OVERLAPPEDWINDOW
¡¡WS_OVERLAPPED¡¡or¡¡WS_CAPTION¡¡or¡¡WS_SYSMENU¡¡or¡¡WS_THICKFRAME¡¡or¡¡WS_MINIMIZEBOX¡¡or¡¡WS_MAXIMIZEBOX
¡¡
WS_TILEDWINDOW
¡¡WS_OVERLAPPEDWINDOW
¡¡
WS_POPUPWINDOW
¡¡WS_POPUP¡¡or¡¡WS_BORDER¡¡or¡¡WS_SYSMENU
¡¡
dwExStyleÊÇWin32ÖÐÀ©Õ¹µÄ£¬ËüÃÇÊÇһЩÒÔWS_EX_¿ªÍ·µÄÔ¤¶¨ÒåÖµ£¬Ö÷Òª¶¨ÒåÁËһЩÌØÊâµÄ·ç¸ñ£¬±í4¡£4¸ø³öÁËһЩ×î³£ÓõÄÌØÊâ·ç¸ñ¡£
±í4¡£4¡¡¡¡´°¿ÚÀ©Õ¹·ç¸ñµÄÔ¤¶¨ÒåÖµ
Ô¤¶¨ÒåÖµ
¡¡16½øÖÆÖµ
¡¡º¬¡¡¡¡¡¡¡¡Òå
¡¡
WS_EX_TOPMOST
¡¡00000008h
¡¡×ÜÔÚ¶¥²ãµÄ´°¿Ú
¡¡
WS_EX_ACCEPTFILES
¡¡00000010h
¡¡ÔÊÐí´°¿Ú½øÐÐÊó±êÍϷŲÙ×÷
¡¡
WS_EX_TOOLWINDOW
¡¡00000080h
¡¡¹¤¾ß´°¿Ú£¨ºÜյıêÌâÀ¸£©
¡¡
WS_EX_WINDOWEDGE
¡¡00000100h
¡¡Á¢Ìå¸ÐµÄ±ß¿ò
¡¡
WS_EX_CLIENTEDGE
¡¡00000200h
¡¡¿Í»§ÇøÁ¢Ìå±ß¿ò
¡¡
¡¡
Ô¤¶¨ÒåÖµ
¡¡16½øÖÆÖµ
¡¡º¬¡¡¡¡¡¡¡¡Òå
¡¡
WS_EX_OVERLAPPEDWINDOW
¡¡¡¡
¡¡WS_EX_WINDOWEDGE¡¡or¡¡WS_EX_CLIENTEDGE
¡¡
WS_EX_PALETTEWINDOW
¡¡¡¡
¡¡WS_EX_WINDOWEDGE¡¡or¡¡WS_EX_TOOLWINDOW¡¡or¡¡WS_EX_TOPMOST
¡¡
ÓÃÔ¤¶¨ÒåµÄ×éºÏÖµWS_EX_PALETTEWINDOW¿ÉÒԺܷ½±ãµØ¹¹³É¸¡ÔÚÆäËû´°¿ÚÇ°ÃæµÄ¹¤¾ßÀ¸¡£
ÏÂÃæ¿´¼¸ÖÖ²»Í¬µÄ´°¿ÚÍâÐΣ¬Èçͼ4¡£5Ëùʾ£¬´°¿Ú1ÊÇWS_OVERLAPPEDÀàÐ͵Ĵ°¿Ú£¬Ö»ÓÐÒ»¸ö±ß¿ò£¬Ã»ÓпØÖÆ°´Å¥ºÍͼ±ê£»´°¿Ú2ͬʱָ¶¨WS_MAXIMIZEBOX£¬WS_MINIMIZEBOXºÍWS_SYSMENU£¬ÔÚ´°¿Ú1µÄ»ù´¡É϶àÁË¿ØÖÆ°´Å¥ºÍͼ±ê£»´°¿Ú3ÊÇWS_POPUPWINDOW·ç¸ñµÄ£¬ÕâÊÇÒ»¸öûÓбêÌâºÍ¿ØÖÆ°´Å¥µÄµ¯³öʽ´°¿Ú£¬³£¼ûµÄÈí¼þ×°ÈëʱµÄ°æȨ´°¿Ú¾ÍÊÇÕâÖÖ·ç¸ñ£»Ç°Ãæ3¸ö´°¿Ú¶¼²»ÄÜͨ¹ýÍ϶¯±ß¿ò¸Ä±ä´óС£¬¶ø´°¿Ú4Ö¸¶¨ÁËWS_THICKFRAME·ç¸ñ£¬¿ÉÒԸıä´óС£¬ËüµÄ±ß¿òÏԵúñÁËÒ»µã£»´°¿Ú5µÄ·ç¸ñÊÇWS_OVERLAPPEDWINDOW£¬ÊÇ×î³£¼ûµÄÊôÐÔ×éºÏ£»´°¿Ú6ÔÚ´°¿Ú5µÄ»ù´¡ÉÏÖ¸¶¨ÁËWS_EX_CLIENTEDGE£¬ËüµÄ¿Í»§ÇøÏÔµÃÓÐÁ¢Ìå¸Ð£»´°¿Ú7ÊǸö¹¤¾ßÀ¸£¬Ö¸¶¨µÄÊÇWS_EX_TOOLWINDOW·ç¸ñ£¬¿ÉÒÔ¿´µ½ËüµÄ±êÌâÀ¸ÒªÐ¡µÃ¶à£»´°¿Ú8Ö¸¶¨ÁËWS_HSCROLLºÍWS_VSCROLL·ç¸ñ£¬´°¿ÚÖжàÁË´¹Ö±ºÍˮƽ¹ö¶¯Ìõ¡£
ͼ4¡£5¡¡¡¡²»Í¬·ç¸ñµÄ´°¿Ú
FirstWindow³ÌÐòÖн¨Á¢´°¿ÚµÄÏà¹Ø´úÂëÊÇÕâÑùµÄ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡CreateWindowEx£»WS_EX_CLIENTEDGE£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡offset¡¡szClassName£»offset¡¡szCaptionMain£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WS_OVERLAPPEDWINDOW£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡100£»100£»600£»400£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL£»NULL£»hInstance£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hWinMain£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡ShowWindow£»hWinMain£»SW_SHOWNORMAL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡UpdateWindow£»hWinMain
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
½¨Á¢´°¿ÚÒÔºó£¬eaxÖд«»ØÀ´µÄÊÇ´°¿Ú¾ä±ú£¬Òª°ÑËüÏȱ£´æÆðÀ´£¬Õâʱºò£¬´°¿ÚËäÒѽ¨Á¢£¬µ«»¹Ã»ÓÐÔÚÆÁÄ»ÉÏÏÔʾ³öÀ´£¬ÒªÓÃShowWindow°ÑËüÏÔʾ³öÀ´£¬ShowWindowÒ²¿ÉÒÔÓÃÔÚ±ðµÄµØ·½£¬Ö÷ÒªÓÃÀ´¿ØÖÆ´°¿ÚµÄÏÔʾ״̬£¨ÏÔʾ»òÒþ²Ø£©£¬´óС¿ØÖÆ£¨×î´ó»¯¡¢×îС»¯»òÔʼ´óС£©ºÍÊÇ·ñ¼¤»î£¨µ±Ç°´°¿Ú»¹ÊDZ³ºóµÄ´°¿Ú£©£¬ËüÓô°¿Ú¾ä±ú×öµÚÒ»¸ö²ÎÊý£¬µÚ¶þ¸ö²ÎÊýÔòÊÇÏÔʾµÄ·½Ê½¡£±í4¡£5¸ø³öÁËÏÔʾ·½Ê½Ô¤¶¨ÒåÖµ¡£
±í4¡£5¡¡¡¡ShowWindowº¯ÊýÏÔʾ·½Ê½µÄ¶¨Òå
Ô¤¶¨ÒåÖµ
¡¡µÈ¡¡¡¡Ð§¡¡¡¡Öµ
¡¡
SW_HIDE
¡¡Òþ²Ø´°¿Ú£¬´óС²»±ä£¬¼¤»î״̬²»±ä
¡¡
SW_MAXIMIZE
¡¡×î´ó»¯´°¿Ú£¬ÏÔʾ״̬²»±ä£¬¼¤»î״̬²»±ä
¡¡
SW_MINIMIZE
¡¡×îС»¯´°¿Ú£¬ÏÔʾ״̬²»±ä£¬¼¤»î״̬²»±ä
¡¡
SW_RESTORE
¡¡´Ó×î´ó»¯»ò×îС»¯»Ö¸´Õý³£´óС£¬ÏÔʾ״̬²»±ä£¬¼¤»î״̬²»±ä
¡¡
SW_SHOW
¡¡ÏÔʾ²¢¼¤»î´°¿Ú£¬´óС״̬²»±ä
¡¡
SW_SHOWMAXIMIZED
¡¡ÏÔʾ²¢¼¤»î´°¿Ú£¬ÒÔ×î´ó»¯ÏÔʾ
¡¡
SW_SHOWMINIMIZED
¡¡ÏÔʾ²¢¼¤»î´°¿Ú£¬ÒÔ×îС»¯ÏÔʾ
¡¡
SW_SHOWMINNOACTIVE
¡¡ÏÔʾ´°¿Ú²¢×îС»¯£¬¼¤»î״̬²»±ä
¡¡
SW_SHOWNA
¡¡ÏÔʾ´°¿Ú£¬´óС״̬²»±ä£¬¼¤»î״̬²»±ä
¡¡
SW_SHOWNOACTIVATE
¡¡ÏÔʾ²¢´Ó×î´ó»¯»ò×îС»¯»Ö¸´Õý³£´óС£¬¼¤»î״̬²»±ä
¡¡
SW_SHOWNORMAL
¡¡ÏÔʾ²¢¼¤»î´°¿Ú£¬»Ö¸´Õý³£´óС£¨³õʼ»¯Ê±ÓÃÕâ¸ö²ÎÊý£©
¡¡
´°¿ÚÏÔʾÒÔºó£¬ÓÃUpdateWindow»æÖÆ¿Í»§Çø£¬Ëüʵ¼ÊÉϾÍÊÇÏò´°¿Ú·¢ËÍÁËÒ»ÌõWM_PAINTÏûÏ¢¡£µ½´ËΪֹ£¬Ò»¸ö¶¥²ã´°¿Ú¾ÍÕý³£½¨Á¢²¢ÏÔʾÁË¡£
CreateWindowExÒ²¿ÉÒÔÓÃÀ´½¨Á¢×Ó´°¿Ú£¬WindowsÖÐÓкܶàÔ¤¶¨ÒåµÄ×Ó´°¿ÚÀ࣬Èç°´Å¥ºÍÎı¾¿òµÄÀàÃû·Ö±ðÊÇ¡°Button¡±ºÍ¡°Edit¡±¡£Òª½¨Á¢Ò»¸ö°´Å¥£¬Ö»Òª°ÑlpClassNameÖ¸Ïò¡¡¡°Button¡±×Ö·û´®¾Í¿ÉÒÔÁË¡£ÏÂÃæ¾ÙÀý˵Ã÷½¨Á¢Ò»¸ö°´Å¥µÄ·½·¨£¬´úÂëÈçÏ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£data
szButton¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'button'£»0
szButtonText¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'&OK'£»0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡¡¡¡¡¡¡CreateWindowEx£»NULL£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡offset¡¡szButton£»offset¡¡szButtonText£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WS_CHILD¡¡or¡¡WS_VISIBLE£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡10£»10£»65£»22£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hWnd£»1£»hInstance£»NULL
ÔÚFirstWindowµÄÔ´³ÌÐòÖмÓÈë°´Å¥ÀàµÄ¶¨Òå×Ö·û´®szButtonºÍ°´Å¥ÎÄ×Ö×Ö·û´®szButtonText£¬È»ºóÔÚ´°¿Ú¹ý³ÌµÄWM_CREATEÏûÏ¢ÖмÓÈ뽨Á¢°´Å¥µÄ´úÂ룬ִÐÐһϣ¬´°¿ÚÖоͳöÏÖÁËÒ»¸ö°´Å¥£¬Èçͼ4¡£6Ëùʾ¡£½¨Á¢°´Å¥µÄʱºò£¬lpWindowName²ÎÊý¾ÍÊÇ°´Å¥ÉϵÄÎÄ×Ö£¬·ç¸ñÔòÒ»¶¨ÒªÖ¸¶¨WS_CHILD£¬½¨Á¢µÄ°´Å¥²Å»áÔÚÎÒÃǵÄÖ÷´°¿ÚÉÏ£¬WS_VISIBLEҲҪͬʱָ¶¨£¬·ñÔò°´Å¥²»»áÏÔʾ³öÀ´£¬hMenu²ÎÊýÔÚÕâÀïÓÃ×ö±íʾ×Ó´°¿ÚID£¬½«ËüÉèÖÃΪ1£¬ÔÚ½¨Á¢¶à¸ö×Ó´°¿ÚµÄʱºò£¬IDÓ¦¸ÃÓÐËùÇø±ð¡£Ô´³ÌÐò¿ÉÒÔÔÚËù¸½´ø¹âÅ̵ÄChapter04FirstWindow¡1Ŀ¼ÖÐÕÒµ½¡£
ͼ4¡£6¡¡¡¡ÓÃCreateWindowEx½¨Á¢µÄ°´Å¥
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
vÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ4Õ¡¡µÚÒ»¸ö´°¿Ú³ÌÐò
4¡£2¡¡·ÖÎö´°¿Ú³ÌÐò£¨4£©¡¡
¡¡¡¡¡¡¡¡
4¡£2¡£3¡¡¡¡ÏûϢѻ·
1¡£¡¡ÏûϢѻ·µÄÒ»°ãÐÎʽ
³ÌÐòÖеÄÒÔÏ´úÂë¾ÍÊÇͨ³£µÄÏûϢѻ·£º
¡¡¡¡¡¡¡¡¡£while¡¡¡¡TRUE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GetMessage£»addr¡¡@stMsg£»NULL£»0£»0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£break¡¡¡¡¡£if¡¡eax¡¡¡¡0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡TranslateMessage£»addr¡¡@stMsg
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡DispatchMessage£»addr¡¡@stMsg
¡¡¡¡¡¡¡¡¡£endw
ÏûϢѻ·Öеļ¸¸öº¯ÊýÒªÓõ½Ò»¸öMSG½á¹¹£¬ÓÃÀ´×öÏûÏ¢´«µÝ£º
MSG¡¡STRUCT
¡¡¡¡Hwnd¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡Message¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡WParam¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡LParam¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡Time¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡Pt¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡POINT¡¡¡¡¡¡¡¡¡¡¡¡
MSG¡¡ENDS
ËüµÄ¸÷¸ö×ֶεĺ¬ÒåÊÇ£º
¡ñ¡¡¡¡¡¡hwnd¡ª¡ªÏûÏ¢Òª·¢ÏòµÄ´°¿Ú¾ä±ú¡£
¡ñ¡¡¡¡¡¡message¡ª¡ªÏûÏ¢±êʶ·û£¬ÔÚÍ·ÎļþÖÐÒÔWM_¿ªÍ·µÄÔ¤¶¨ÒåÖµ£¨Òâ˼ΪWindows¡¡Message£©¡£
¡ñ¡¡¡¡¡¡wParam¡ª¡ªÏûÏ¢µÄ²ÎÊýÖ®Ò»¡£
¡ñ¡¡¡¡¡¡lParam¡ª¡ªÏûÏ¢µÄ²ÎÊýÖ®¶þ¡£
¡ñ¡¡¡¡¡¡time¡ª¡ªÏûÏ¢·ÅÈëÏûÏ¢¶ÓÁеÄʱ¼ä¡£
¡ñ¡¡¡¡¡¡pt¡ª¡ªÕâÊÇÒ»¸öPOINTÊý¾Ý½á¹¹£¬±íʾÏûÏ¢·ÅÈëÏûÏ¢¶ÓÁÐʱµÄÊó±ê×ø±ê¡£
Õâ¸ö½á¹¹¶¨ÒåÁËÏûÏ¢µÄËùÓÐÊôÐÔ£¬GetMessageº¯Êý¾ÍÊÇ´ÓÏûÏ¢¶ÓÁÐÖÐÈ¡³öÕâÑùÒ»ÌõÏûÏ¢À´µÄ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GetMessage£»lpMsg£»hWnd£»wMsgFilterMin£»wMsgFilterMax
º¯ÊýµÄlpMsgÖ¸ÏòÒ»¸öMSG½á¹¹£¬º¯Êý»áÔÚÕâÀï·µ»ØÈ¡µ½µÄÏûÏ¢£¬hWnd²ÎÊýÖ¸¶¨Òª»ñÈ¡Äĸö´°¿ÚµÄÏûÏ¢£¬Àý×ÓÖÐÖ¸¶¨ÎªNULL£¬±íʾ»ñÈ¡µÄÊÇËùÓб¾³ÌÐòËùÊô´°¿ÚµÄÏûÏ¢£¬wMsgFilterMinºÍwMsgFilterMaxΪ0±íʾ»ñÈ¡ËùÓбàºÅµÄÏûÏ¢¡£
GetMessageº¯Êý´ÓÏûÏ¢¶ÓÁÐÀïÈ¡µÃÏûÏ¢£¬ÌîдºÃMSG½á¹¹²¢·µ»Ø£¬Èç¹û»ñÈ¡µÄÏûÏ¢ÊÇWM_QUITÏûÏ¢£¬ÄÇôeaxÖеķµ»ØÖµÊÇ0£¬·ñÔòeax·µ»Ø·ÇÁãÖµ£¬ËùÒÔÓá¡¡£break¡¡¡£if¡¡eax¡¡¡¡0À´¼ì²é·µ»ØÖµ£¬Èç¹ûÏûÏ¢¶ÓÁÐÖÐÓÐWM_QUITÔòÍ˳öÏûϢѻ·¡£
TranslateMessage½«MSG½á¹¹´«¸øWindows½øÐÐһЩ¼üÅÌÏûÏ¢µÄת»»£¬µ±ÓмüÅÌ°´ÏºͷſªÊ±£¬Windows²úÉúWM_KEYDOWNºÍWM_KEYUP»òWM_SYSKEYDOWNºÍWM_SYSKEYUPÏûÏ¢£¬µ«ÕâЩÏûÏ¢µÄ²ÎÊýÖаüº¬µÄÊÇ°´¼üµÄɨÃèÂ룬ת»»³É³£ÓõÄASCIIÂëÒª¾¹ý²é±í£¬ºÜ²»·½±ã£¬TranslateMessageÓöµ½¼üÅÌÏûÏ¢Ôò½«É¨ÃèÂëת»»³ÉASCIIÂë²¢ÔÚÏûÏ¢¶ÓÁÐÖвåÈëWM_CHAR»òWM_SYSCHARÏûÏ¢£¬²ÎÊý¾ÍÊÇת»»ºÃµÄASCIIÂ룬Èç´ËÒ»À´£¬Òª´¦Àí¼üÅÌÏûÏ¢µÄ»°Ö»Òª´¦ÀíWM_CHARÏûÏ¢¾ÍºÃÁË¡£Óöµ½±ðµÄÏûÏ¢ÔòTranslateMessage²»×ö´¦À