°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
£»¡¡¶¨Ê±Æ÷¹ý³Ì
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
_ProcTimer¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_hWnd£»uMsg£»_idEvent£»_dwTime
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pushad
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡¡¡¡¡GetDlgItemInt£»hWinMain£»IDC_COUNT£»NULL£»FALSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡inc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡¡¡¡¡SetDlgItemInt£»hWinMain£»IDC_COUNT£»eax£»FALSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡popad
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡
_ProcTimer¡¡¡¡¡¡¡¡¡¡¡¡endp
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
£»¡¡´°¿Ú¹ý³Ì
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
_ProcDlgMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡uses¡¡ebx¡¡edi¡¡esi£»hWnd£»uMsg£»wParam£»lParam
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡eax£»uMsg
£»********************************************************************
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ6Õ¡¡¶¨Ê±Æ÷
6¡£2¡¡¶¨Ê±Æ÷µÄʹÓã¨2£©
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡eax¡¡¡¡¡¡WM_TIMER
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»wParam
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax¡¡¡¡¡¡ID_TIMER1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡inc¡¡¡¡¡¡¡¡¡¡dwCount
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»dwCount
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡and¡¡¡¡¡¡¡¡¡¡eax£»1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡inc¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡LoadIcon£»hInstance£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SendDlgItemMessage£»hWnd£»IDC_SETICON£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡STM_SETIMAGE£»IMAGE_ICON£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡eax¡¡¡¡¡¡ID_TIMER2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡MessageBeep£»¡1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡eax¡¡¡¡¡¡WM_INITDIALOG
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hWnd
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡¡¡hWinMain
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetTimer£»hWnd£»ID_TIMER1£»250£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetTimer£»hWnd£»ID_TIMER2£»2000£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetTimer£»NULL£»NULL£»1000£»addr¡¡_ProcTimer
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡idTimer£»eax
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡eax¡¡¡¡¡¡WM_CLOSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡KillTimer£»hWnd£»ID_TIMER1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡KillTimer£»hWnd£»ID_TIMER2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡KillTimer£»NULL£»idTimer
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡EndDialog£»hWnd£»NULL
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£else
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»FALSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»TRUE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡
_ProcDlgMain¡¡¡¡¡¡¡¡endp
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
start£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GetModuleHandle£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hInstance£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡DialogBoxParam£»hInstance£»DLG_MAIN£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL£»offset¡¡_ProcDlgMain£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡ExitProcess£»NULL
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡end¡¡start
Õâ¸ö³ÌÐòµÄ»ù±¾½á¹¹·Ç³£¼òµ¥£¬¾ÍÊÇÒ»¸ö±ê×¼µÄ¶Ô»°¿ò³ÌÐò¶øÒÑ£¬ÔÚWM_INITDIALOGÖÐÓÃSetTimerÉêÇëÁË3¸ö¶¨Ê±Æ÷£¬²¢ÔÚWM_CLOSEÏûÏ¢ÖÐÓÃKillTimer³·ÏúÕâ3¸ö¶¨Ê±Æ÷¡£
ÉêÇëÒ»¸ö¶¨Ê±Æ÷ʹÓÃSetTimerº¯Êý£¬º¯ÊýµÄʹÓ÷½·¨ÈçÏ£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡SetTimer£»hWnd£»nIDEvent£»uElapse£»lpTimerFunc
hWnd²ÎÊýÊÇWM_TIMERÏûÏ¢·¢ÍùµÄ´°¿Ú¾ä±ú£»nIDEvent²ÎÊýÊÇÒ»¸öÓû§Ö¸¶¨µÄÈÎÒâÕûÊý£¬ÓÃÀ´±êʶһ¸ö³ÌÐòÖеĶà¸ö¶¨Ê±Æ÷£»uElapseÊÇʱ¼äÖÜÆÚ£¬ÒÔmsΪµ¥Î»£¬Õâ¸ö²ÎÊýÊDZØÐëÖ¸¶¨µÄ£»lpTimerFuncÊǶ¨Ê±Æ÷¹ý³Ì£¬ÔÚÏÂÃæµÄÄÚÈÝÖÐÓÐÏêϸ½éÉÜ¡£Èç¹û¶¨Ê±Æ÷½¨Á¢³É¹¦µÄ»°£¬º¯ÊýµÄ·µ»ØÖµÊǶ¨Ê±Æ÷µÄ±êʶ·û¡£
³·Ïú¶¨Ê±Æ÷µÄº¯ÊýÊÇKillTimer£¬¸Ãº¯ÊýµÄʹÓ÷½·¨ÊÇ£º
invoke¡¡¡¡KillTimer£»hWnd£»uIDEvent
²ÎÊýhWndºÍuIDEvent¾ÍÊǽ¨Á¢¶¨Ê±Æ÷ʱʹÓõÄÊýÖµ¡£
ʹÓÃSetTimerº¯ÊýµÄ·½·¨ÓÐÁ½ÖÖ£¬µÚÒ»ÖÖ·½·¨ÊÇÒªÇóWindows½«WM_TIMERÏûÏ¢·¢ÍùÖ¸¶¨µÄ´°¿Ú¹ý³Ì£¬ÕâʱºòlpTimerFunc±ØÐëΪNULL£¬ÈçÀý×ÓÖеģº
¡¡¡¡¡¡¡¡invoke¡¡¡¡SetTimer£»hWnd£»ID_TIMER1£»250£»NULL¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨Àý1£©
¡¡¡¡¡¡¡¡invoke¡¡¡¡SetTimer£»hWnd£»ID_TIMER2£»2000£»NULL
ÕâÁ½¸ö¾ä×ÓÉèÖÃÁËÁ½¸ö±êʶ·Ö±ðΪID_TIMER1ºÍID_TIMER2µÄ¶¨Ê±Æ÷£¬¶¨Ê±ÖÜÆÚ·Ö±ðΪ250¡¡msºÍ2¡¡s¡£ÔÚ´°¿Ú¹ý³ÌÊÕµ½WM_TIMERÏûÏ¢µÄʱºò£¬wParamÖÐÊÇÓÃSetTimer½¨Á¢¶¨Ê±Æ÷ʱʹÓõıêʶuIDEvent£¬ËùÒÔ³ÌÐò¿ÉÒÔ½¨Á¢Ò»¸ö·ÖÖ§£¬Í¨¹ýÅжÏwParamÀ´´¦Àí²»Í¬µÄ¶¨Ê±Æ÷ÒýÆðµÄWM_TIMERÏûÏ¢¡£ÔÚÀý×ÓÖУ¬µ±wParamÊÇID_TIMER1µÄʱºò¸ü»»Í¼±ê¿òÖеÄͼ±ê£¬ÊÇID_TIMER2µÄʱºòÓÃMessageBeepº¯ÊýÀ´·¢³öÒ»Éù¡°à½¡±µÄÉùÒô¡£Èç¹ûÒª³·ÏúÓÃÕâÖÖ·½·¨½¨Á¢µÄ¶¨Ê±Æ÷£¬ÄÇôֻÐèÒªÓý¨Á¢Ê±µÄhWndºÍuIDEvent²ÎÊý¼òµ¥µØµ÷ÓÃKillTimer¾Í¿ÉÒÔÁË¡£
»¹ÓÐÒ»ÖÖʹÓö¨Ê±Æ÷µÄ·½·¨£¬ÄǾÍÊÇÒªÇóWindowsÔÚʱ¼äµ½µÄʱºòµ÷ÓÃÖ¸¶¨µÄ¶¨Ê±Æ÷¹ý³Ì£¬¶ø²»ÊÇij¸ö´°¿Ú¹ý³Ì£¬ÄÇôֻÐèÒªÖ¸¶¨lpTimerFunc²ÎÊý£¬ÈçÀý×ÓÖеģº
invoke¡¡¡¡SetTimer£»NULL£»NULL£»1000£»addr¡¡_ProcTimer¡¡¡¡¡¡¡¡¡¡£¨Àý2£©
Õâ¾äÓï¾äÒªÇóϵͳ°Ñ¶¨Ê±Æ÷ÏûÏ¢·¢Ë͵½_ProcTimer¶¨Ê±Æ÷¹ý³ÌÖÐÈ¥£¬µ«ÊÇ£¬ÕâʱºòûÓвÎÊýÓÃÀ´Ö¸¶¨¶¨Ê±Æ÷±êʶ£¬µ½×îºóÈçºÎÓÃKillTimer³·ÏúÕâ¸ö¶¨Ê±Æ÷ÄØ£¿´ð°¸ÊÇSetTimerº¯Êý»á·µ»ØÒ»¸ö±êʶ£¬³ÌÐò¿ÉÒÔ±£´æÕâ¸ö±êʶ²¢ÔÚKillTimerº¯ÊýÖÐʹÓá£
µ±È»£¬ÕâÖÖÓ÷¨ÖеĶ¨Ê±Æ÷±êʶҲ¿ÉÒÔ×Ô¼ºÖ¸¶¨£¬µ«ÕâʱºòÒ»¶¨ÒªÍ¬Ê±Ö¸¶¨hWnd£¬ËäÈ»Õâ¸öhWndûÓÐʵ¼ÊµÄÓÃ;£¬Èç¹ûhWndΪNULL£¬ÄÇô¼´Ê¹Ö¸¶¨Á˶¨Ê±Æ÷±êʶ£¬Õâ¸ö±êʶҲ»á±»ºöÂÔ£¬È磺
invoke¡¡¡¡SetTimer£»hWnd£»ID_TIMER3£»1000£»addr¡¡_ProcTimer¡¡¡¡¡¡¡¡£¨Àý3£©
Õâ¸öÓï¾ä¶¨ÒåÁËÒ»¸ö±êʶΪID_TIMER3¡¢ÏûÏ¢·¢Íù_ProcTimer×Ó³ÌÐòµÄ¶¨Ê±Æ÷¡£
¶¨Ê±Æ÷¹ý³ÌÊÇÈç϶¨ÒåµÄ£º
TimerProc¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hwnd£»uMsg£»idEvent£»dwTime
Windows»Øµ÷¶¨Ê±Æ÷¹ý³ÌµÄʱºò»áÓÐ4¸ö²ÎÊý£¬uMsg×ÜÊÇWM_TIMER£¬hwndºÍidEventÊÇÀý3Ó÷¨ÖÐÖ¸¶¨µÄhWndºÍ¶¨Ê±Æ÷±êʶ£¬Èç¹ûÊÇÀý2µÄÓ÷¨£¬ÄÇôhwnd¾ÍÊÇNULL£¬¶øidEvent¾ÍÊÇSetTimer·µ»ØµÄÓÉWindows¶¨ÒåµÄ¶¨Ê±Æ÷±êʶ¡£ÓÉÓÚÓÐidEvent²ÎÊý£¬ËùÒÔÎÒÃÇͬÑù¿ÉÒ԰Ѷà¸ö¶¨Ê±Æ÷ÏûÏ¢Ö¸Ïòͬһ¸ö¶¨Ê±Æ÷¹ý³ÌÖУ¬²¢ÇÒ¸ù¾ÝidEvent²ÎÊý¹¹½¨Ò»¸ö·ÖÖ§À´´¦Àí²»Í¬¶¨Ê±Æ÷Òý·¢µÄÏûÏ¢¡£
³ÌÐòÖл¹¿ÉÄÜÓöµ½Ò»ÖÖÇé¿ö£ºµ±ÔÚSetTimerÖÐÖ¸¶¨µÄ¶¨Ê±Æ÷±êʶÒѾ´æÔÚ»áÔõÑùÄØ£¿´ð°¸ÊÇWindows»áÓÃеIJÎÊý´úÌæÀϵĶ¨Ê±Æ÷²ÎÊý£¬º¯ÊýÖ´ÐÐÒÔºó£¬Õâ¸ö±êʶµÄ¶¨Ê±Æ÷ÏûÏ¢½«ÒÔеÄʱ¼äÖÜÆÚ·¢ËÍ¡£
¶ÁÕß¿ÉÄÜ×¢Òâµ½£¬Àý×Ó³ÌÐòµÄ´°¿Ú¹ý³ÌÖаÑWM_TIMERµÄÏûÏ¢µÄ´¦Àí´úÂë·ÅÔÚµÚÒ»¸ö·ÖÖ§ÉÏ£¬ÕâÊǶԳÌÐòµÄ¼òµ¥ÓÅ»¯£¬°ÑƵ·±·¢ÉúµÄÏûÏ¢·Åµ½Ç°Ãæ¿ÉÒÔʹ³ÌÐòÉÙÖ´ÐÐһϵÁеıȽÏÖ¸ÁÏñWM_CREATEºÍWM_DESTROYµÈ½ö·¢ÉúÒ»´ÎµÄÏûÏ¢¿ÉÒԷŵ½·ÖÖ§µÄ×îºóÃæ¡£
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ6Õ¡¡¶¨Ê±Æ÷
6¡£3¡¡È¡Windowsʱ¼ä
¡¡¡¡¡¡¡¡
ºÜ¶à¶ÁÕß¿´µ½¡°¶¨Ê±Æ÷¡±Õâ¸ö´ÊµÄʱºòÍùÍù¾ÍÁªÏ뵽ʱÖÓ£¬±ÊÕßÒ²ÔøÊÇÈç´Ë£¬µ«ÊǾ¹ý6¡£2½ÚµÄ½éÉܺó¾Í¿ÉÒÔ·¢ÏÖ£¬¶¨Ê±Æ÷ÊDz»ÄÜÓÃÀ´¹¹ÔìʱÖӵģ¬¶¨Ê±Æ÷ÓÃÓÚʱÖÓ³ÌÐòÖÐÖ»ÄÜÊÇÓÃÔÚ¶¨Ê±Ë¢ÐÂÆÁÄ»Õâ¸ö¹¦ÄÜÉÏ£¬ÒªµÃµ½ÏµÍ³µÄʱ¼ä»¹ÊÇÒª¿¿±ðµÄ·½·¨¡£
ÔÚWin32±à³ÌÖУ¬ºÍ»ñȡϵͳʱ¼äÏà¹ØµÄº¯ÊýÓÐ3¸ö£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡GetLocalTime£»lpSystemTime
¡¡¡¡¡¡¡¡invoke¡¡¡¡GetSystemTime£»lpSystemTime
¡¡¡¡¡¡¡¡invoke¡¡¡¡GetTickCount
ËüÃÇÖ®¼äµÄÇø±ðÊÇ£º
GetTickcount·µ»ØµÄÊDZ¾´ÎWindowsÆô¶¯ÒÔÀ´µÄmsÊý£¬µÃµ½µÄʱ¼äÊýÖµÖ±½ÓÔÚeaxÖзµ»Ø£¬ÓÉÓÚÕâÊÇÒ»¸ö32λµÄÕûÊý£¬¿ÉÒÔ±íʾµÄ·¶Î§ÊÇ1¡«ffffffffh¡¡ms£¬ËùÒÔµ±WindowsÁ¬ÐøÔËÐÐ49¡£7ÌìÒԺ󣬼ÆÊýÆ÷»áÇåÁã²¢ÖØпªÊ¼¡£
GetLocalTime·µ»Øµ±Ç°µÄʱ¼ä£¬GetSystemTime·µ»Øµ±Ç°µÄ¸ñÁÖÍþÖαê׼ʱ¼ä£¬ÕâÁ½¸öº¯Êý·µ»ØµÄʱ¼äÊý¾Ý°üÀ¨Äê¡¢Ô¡¢ÈÕ¡¢Ê±¡¢·Ö¡¢Ãë¡¢ºÁÃëÒÔ¼°ÐÇÆÚ£¬Êý¾Ý±È½Ï¶à£¬ËùÒÔÎÞ·¨·ÅÔÚeaxÖзµ»Ø£¬Ó¦ÓóÌÐòÐèÒªÔ¤ÏÈÉèÖÃÒ»¸öSYSTEMTIME½á¹¹µÄ»º³åÇø£¬²¢½«»º³åÇøµØÖ·lpSystemTimeµ±²ÎÊý´«µÝ¸øº¯Êý£¬º¯Êý»á°Ñʱ¼äÊý¾Ý·µ»Øµ½Õâ¸ö»º³åÇøÖС£
SYSTEMTIME½á¹¹µÄ¶¨ÒåÈçÏ£º
SYSTEMTIME¡¡STRUCT
¡¡¡¡wYear¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡£¿¡¡£»Äê
¡¡¡¡wMonth¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡£¿¡¡£»ÔÂ
¡¡¡¡wDayOfWeek¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡£¿¡¡£»ÐÇÆÚ£¬0£½ÐÇÆÚÈÕ£¬1£½ÐÇÆÚÒ»£¬¡¡
¡¡¡¡wDay¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡£¿¡¡£»ÈÕ
¡¡¡¡wHour¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡£¿¡¡£»Ê±
¡¡¡¡wMinute¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡£¿¡¡£»·Ö
¡¡¡¡wSecond¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡£¿¡¡£»Ãë
¡¡¡¡wMilliseconds¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡£¿¡¡£»ºÁÃë
SYSTEMTIME¡¡ENDS
ÐèҪעÒâµÄÊÇ£¬½á¹¹ÖеÄ×Ö¶ÎÈ«²¿ÊÇwordÀàÐ͵ģ¬¶øWin32³ÌÐòÖÐÓõÄÍùÍùÊÇdwordÐͱäÁ¿£¬ËùÒÔÔÚʹÓÃÕâЩÊý¾Ý֮ǰÍùÍùÒªÏÈ°ÑËüÃÇת»»ÎªdwordÀàÐÍ£¬ÓÃmovzxÖ¸Áî¾Í¿ÉÒԺܷ½±ãµØÍê³ÉÕâ¸ö¹¤×÷£¬Èçmovzx¡¡eax£»stSystemTime¡£wYear½«wYear×Ö¶ÎÀ©Õ¹µ½32λºó·Åµ½eaxÖС£
ºÍ»ñȡϵͳʱ¼äµÄº¯ÊýÏà¶ÔÓ¦£¬¿ÉÒÔÓÃÏÂÃæµÄÁ½¸öº¯ÊýÉèÖÃϵͳʱ¼ä£º
invoke¡¡¡¡SetLocalTime£»lpSystemTime
invoke¡¡¡¡SetSystemTime£»lpSystemTime
ͬÑù£¬SetLocalTimeÖеIJÎÊý´ú±í±¾µØʱ¼ä£¬SetSysTimeÖеIJÎÊý´ú±í¸ñÁÖÍþÖαê׼ʱ¼ä£¬ÔÚµ÷Óú¯Êý֮ǰ£¬Òª°ÑÐèÒªÉèÖõÄʱ¼ä·Åµ½Ò»¸öSYSTEMTIME½á¹¹Öв¢°Ñ½á¹¹µØÖ·µ±×ö²ÎÊý´«µÝ¸øWindows¡£
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ7Õ¡¡Í¼ÐβÙ×÷
7¡£1¡¡GDIÔÀí£¨1£©
¡¡¡¡¡¡¡¡
WindowsÊÇ»ùÓÚͼÐνçÃæµÄ£¬ËùÒÔÔÚWin32±à³ÌÖУ¬Í¼ÐβÙ×÷ÊÇ×î³£ÓõIJÙ×÷¡£GDIµÄÒâÒåÔÚÓÚ½«³ÌÐò¶ÔͼÐνçÃæµÄ²Ù×÷ºÍÓ²¼þÉ豸¸ô¾ø¿ªÀ´£¬ÔÚ³ÌÐòÖпÉÒÔ½«ËùÓеÄͼÐÎÉ豸¶¼¿´³ÉÊÇÐéÄâÉ豸£¬°üÀ¨ÊÓƵÏÔʾÆ÷ºÍ´òÓ¡»úµÈ£¬È»ºóͨ¹ýGDIº¯ÊýÓÃͬÑùµÄ·½·¨È¥²Ù×÷ËüÃÇ£¬ÓÉWindows¸ºÔ𽫺¯Êýµ÷ÓÃת»¯³ÉÕë¶Ô¾ßÌåÓ²¼þµÄ²Ù×÷¡£Ö»ÒªÒ»¸öÉ豸ÌṩÁ˺ÍWindows¼æÈݵÄÇý¶¯³ÌÐò£¬Ëü¾Í¿ÉÒÔ±»¿´×öÊÇÒ»¸ö±ê×¼µÄÉ豸¡£ÒÔÇ°ÔÚDOSϵͳÏÂдӦÓóÌÐòµÄʱºò£¬Èç¹ûÒª½øÐÐͼÐβÙ×÷£¬ÄÇô¾ÍÒª¿¼Âǵ½Êг¡ÉÏÿÖÖÏÔʾ¿¨µÄ²»Í¬£¬·ñÔòÔÚ×°ÅäijÖÖÏÔ¿¨µÄ¼ÆËã»úÉϾͿÉÄÜÎÞ·¨Õý³£ÔËÐУ¬¶Ô»ã±à³ÌÐòÔ±À´Ëµ£¬ÕâÕæÊÇÒ»¸ö¶ñÃΡ£ÔÚWin32±à³ÌÖУ¬ÕýÊÇGDIº¯ÊýÈÃÕâ¸ö¶ñÃγÉΪÀúÊ·¡£
GDIº¯ÊýÈ«²¿°üÀ¨ÔÚGDI32¡£DLLÖУ¬ÔÚ±à³ÌµÄʱºò£¬×¢ÒâÒªÔÚÔ´³ÌÐòµÄ¿ªÍ·¼ÓÉÏÏàÓ¦µÄ°üº¬Óï¾ä£º
¡¡¡¡¡¡¡¡include¡¡¡¡¡¡¡¡¡¡gdi32¡£inc
¡¡¡¡¡¡¡¡includelib¡¡¡¡gdi32¡£lib
ºÍGDIÏà¹ØµÄÄÚÈÝÕæÊÇÌ«ÅÓ´óÁË£¬Ö»Òª²é¿´Ò»ÏÂgdi32¡£incÎļþ¾Í¿ÉÒÔ·¢ÏÖ£¬º¯ÊýµÄ×ÜÊý´ïµ½ÁË300¶à¸ö£¬ºÍGDIÏà¹ØµÄÊý¾Ý½á¹¹Ò²·Ç³£¶à£¬ÒªÍêÈ«ÉîÈëGDI±à³Ì£¬ÓÃÉϱ¾ÊéµÄÈ«²¿Æª·ù¿ÉÄÜÒ²²»¹»¡£ÔÚ±¾ÕÂÖУ¬±ÊÕßÏ£Íûͨ¹ý¼¸¸öÀý×Ó£¬ÈöÁÕßÄÜÁ˽âGDIµÄÔÀíºÍ»ù±¾µÄʹÓ÷½·¨¡£
¹éÄÉÆðÀ´£¬GDI²Ù×÷¿ÉÒÔ´Ó3¸ö·½ÃæÈ¥Á˽⡪¡ªWhen£¬WhereºÍHow£º
¡ñ¡¡¡¡¡¡When¡ª¡ªÖ¸µÄÊǽøÐÐͼÐβÙ×÷µÄʱ»ú£¬¾¿¾¹Ê²Ã´Ê±¿Ì×îÊʺϳÌÐò½øÐÐͼÐβÙ×÷ÄØ£¿ÔÚ7¡£1¡£1½Ú¡°GDI³ÌÐòµÄ½á¹¹¡±ÖУ¬½«Ì½ÌÖÕâ¸öÎÊÌâ¡£
¡ñ¡¡¡¡¡¡Where¡ª¡ªÖ¸µÄÊÇͼÐθÃÍùÄÄÀﻣ¬¼ÈÈ»Windows¸ôÀëÁËÓ²¼þͼÐÎÉ豸£¬ÄÇô¸Ã°ÑʲôµØ·½µ±×ö¡°Ï±ʡ±µÄµØ·½ÄØ£¿7¡£1¡£2½ÚµÄ¡°É豸»·¾³¡±¾ÍÊǽâ´ð¡£
¡ñ¡¡¡¡¡¡How¡ª¡ªÁ˽âÁËÉÏÃæÁ½¸öÎÊÌâºó£¬×îºó»¹ÒªÖªµÀ¡°ÈçºÎ»¡±£¬Õâ¾ÍÉæ¼°ÈçºÎʹÓô󲿷ÖGDIº¯ÊýµÄÎÊÌâÁË£¬ÔÚ±¾ÕÂÓàÏÂÀ´µÄƪ·ùÖУ¬½«¼¯ÖÐÌÖÂÛÕâ¸öÎÊÌâ¡£
7¡£1¡£1¡¡¡¡GDI³ÌÐòµÄ½á¹¹
1¡£¡¡¿Í»§ÇøµÄË¢ÐÂ
ÕýÈçÉÏÃæËù˵µÄ£¬±¾½ÚÌÖÂÛµÄÊÇ¡°When¡±µÄÎÊÌ⣬¶ÁÕß¿ÉÄÜ»áÎÊ£ºÎªÊ²Ã´»áÓÐÕâ¸öÎÊÌ⣬Èç¹ûÒªÏò´°¿ÚÊä³öͼÐΣ¬³ÌÐòÏëÔÚʲôʱºòÊä³öÄǾÍÊÇʲôʱºò£¬ÄѵÀÕâ¸öʱ¿Ì»¹Óй涨²»³É£¿
µ«Õâ¸öÎÊÌâËƺõ²»ÄÜÕâÑùÀ´ÎÊ£¬ÈÃÎÒÃÇÀ´¿¼ÂÇÕâЩÇé¿ö£ºÔÚDOS²Ù×÷ϵͳÖбà³ÌµÄʱºò£¬³ÌÐò°ÑÎÄ×Ö»òͼÐÎÊä³öµ½ÆÁÄ»£¬ÔÚÊä³öеÄÄÚÈÝ֮ǰ£¬ÕâЩÄÚÈÝ×ÜÊDZ£ÁôÔÚÆÁĻԴ¦£¬ÕâЩÄÚÈݻᱻÒâÍ⸲¸ÇµÄΩһÇé¿öÊǼ¤»îÒ»¸öTSR³ÌÐò£¬µ«TSR³ÌÐòÔÚÍ˳ö֮ǰÓÐÒåÎñ»Ö¸´ÔÀ´µÄÆÁÄ»£¬Èç¹ûËüÎÞ·¨»Ö¸´ÆÁÄ»µÄÄÚÈÝ£¬ÄÇôÕâÊÇËüµÄÔðÈΣ¬ÎÒÃDz»»áÔÚ×Ô¼ºµÄ³ÌÐòÖÐÈ¥¿¼ÂÇÆÁÄ»ÄÚÈÝ»áÎÞÔµÎÞ¹ÊÏûʧÕâÖÖÇé¿ö£¬ËùÒÔ¿ÉÒÔ°ÑÆÁÄ»¿´³ÉÊÇÓ¦ÓóÌÐò˽Óеġ£
Èç¹û³ÌÐòÊä³öµÄÄÚÈݹý¶à£¬ÈçÓÃdirÏÔʾһ¸öº¬ÓкܶàÎļþµÄĿ¼£¬Óû§¸ù±¾ÎÞ·¨¿´Çå¿ìËÙÉÏ·µÄÆÁÄ»£¬Õâʱ³ÌÐò¿ÉÒÔÉè¼ÆÒ»¸ö²ÎÊýÀ´ÔÝͣһϣ¬Èçdir¡¡/p¡£ÕâÒѾÊÇDOS³ÌÐò×î¡°ÌåÌù¡±µÄ×ö·¨ÁË£¬Èç¹ûÓû§Ïë»Ø¹ýÍ·È¥¿´ÒѾ¹ö³öÆÁÄ»µÄÄÚÈÝ£¬ÄǿɶԲ»Æð£¬Ö»ÄÜÔÙÖ´ÐÐÒ»±éÁË£¡
ËùÒÔ¶ÔDOS³ÌÐòÀ´Ëµ£¬³ÌÐòÏëÔÚʲôʱºòÊä³öÐÅÏ¢ÄǾÍÊÇʲôʱºò£¬¸ù±¾²»´æÔÚWhenÕâ¸öÎÊÌâ¡£
µ«ÔÚWindows²Ù×÷ϵͳÖУ¬ÆÁÄ»ÊǶà¸ö³ÌÐò¡°¹«Óᱵģ¬Óû§³ÌÐò²»ÒªÖ¸ÍûÊä³öµ½´°¿ÚÖеÄÄÚÈݾ¹ýÒ»¶Îʱ¼äºó»¹»á±£ÁôÔÚÄÇÀËüÃÇ¿ÉÄܱ»±ðµÄ¶«Î÷¸²¸Ç£¬ÈçÆäËû´°¿Ú¡¢Êó±ê¼ýÍ·»òÏÂÀµÄ²Ëµ¥µÈ¡£ÔÚWindowsÖУ¬»Ö¸´±»¸²¸ÇÄÚÈݵÄÔðÈδ󲿷ÖÊôÓÚÓû§³ÌÐò×Ô¼º£¬ÀíÓɺܼòµ¥£ºWindowsÊǸö¶àÈÎÎñµÄ²Ù×÷ϵͳ£¬¼ÙÈç³ÌÐòB¸²¸ÇÁ˳ÌÐòAµÄ´°¿ÚÄÚÈÝ£¬¸²¸ÇµôµÄÄÚÈÝÓɳÌÐòB¸ºÔð»Ö¸´µÄ»°£¬Ëü¾Í±ØÐë±£´æËü¸²¸ÇµôµÄÄÚÈÝ£¬µ«ÊÇÔÚËü½«±£´æµÄÄÚÈݻָ´Ö®Ç°£¬³ÌÐòAÒ²ÔÚÔËÐУ¬²¢¿ÉÄÜÔÚ³ÌÐòB»Ö¸´ÒÔÇ°ÒѾÏòËü×Ô¼ºµÄ´°¿ÚÊä³öеÄÄÚÈÝ£¬½á¹ûµ±³ÌÐòB»Ö¸´Ëü±£´æµÄ´°¿ÚÄÚÈÝʱ£¬±£´æµÄÄÚÈÝ¿ÉÄÜÊǹýʱµÄ£¨¶øDOSµÄÇé¿ö¾Í²»Í¬£¬TSR³ÌÐò¼¤»îµÄʱºò£¬Óû§³ÌÐòÊDZ»¹ÒÆðµÄ£©£¬ËùÒÔ×îºÃµÄ°ì·¨¾ÍÊÇÈóÌÐòA×Ô¼ºÀ´¾ö¶¨ÈçºÎ»Ö¸´¡£
Windowsϵͳ²ÉÓõķ½·¨ÊÇ£ºµ±Windows¼ì²âµ½´°¿Ú±»¸²¸ÇµÄµØ·½ÐèÒª»Ö¸´µÄʱºò£¬Ëü»áÏòÓû§³ÌÐò·¢ËÍÒ»¸öWM_PAINTÏûÏ¢£¬ÏûÏ¢ÖаüÀ¨ÁËÐèÒª»Ö¸´µÄÇøÓò£¬È»ºóÓÉÓû§³ÌÐòÀ´¾ö¶¨ÈçºÎ»Ö¸´±»¸²¸ÇµÄÄÚÈÝ¡£
Èç¹û³ÌÐòÒòΪæÓÚ´¦ÀíÆäËûÊÂÎñÒÔÖÁÓÚÎÞ·¨¼°Ê±ÏìÓ¦WM_PAINTÏûÏ¢£¬ÄÇô´°¿Ú¿Í»§ÇøÔÏȱ»¸²¸ÇµÄµØ·½¿ÉÄܻᱻWindowsÔÝʱ»³ÉÒ»¿é°×É«£¨»òÕß±³¾°É«£©µÄ¾ØÐΣ¬»òÕ߸ù±¾¾ÍÊDZ£Áô±»¸²¸ÇʱµÄÇéÐΣ¬Ö±µ½³ÌÐòÓÐʱ¼äÈ¥ÏìÓ¦WM_PAINTÏûϢΪֹ¡£ÎÒÃdz£³£¿ÉÒÔ¿´µ½ÕâÖÖÇé¿ö·¢ÉúÔÚËÀËø³ÌÐòµÄ¿Í»§ÇøÄÚ£¬Õâ¾ÍÊÇÒòΪËÀËøµÄ³ÌÐòÎÞ·¨ÏìÓ¦WM_PAINTÏûÏ¢À´»Ö¸´¿Í»§ÇøÔì³ÉµÄ¡£
ËùÒÔ¶ÔÓÚ¡°When¡±Õâ¸öÎÊÌ⣬´ð°¸ÊÇ£º³ÌÐòÓ¦¸ÃÔÚWindowsÒªÇóµÄʱºò»æ»¿Í»§Çø£¬Ò²¾ÍÊÇÔÚÊÕµ½WM_PAINTÏûÏ¢µÄʱºò¡£Èç¹û³ÌÐòÐèÒªÖ÷¶¯Ë¢Ð¿ͻ§Çø£¬ÄÇô¿ÉÒÔͨ¹ýµ÷ÓÃInvalidateRectµÈº¯ÊýÒý·¢Ò»ÌõWM_PAINTÏûÏ¢£¬ÒòΪÔÚWM_PAINTÏûÏ¢ÖÐˢпͻ§ÇøµÄ´úÂëÊDZØÐë´æÔڵģ¬ËùÒÔÓÃÕâÖÖ¿´ËÆ¡°Éá½üÇóÔ¶¡±µÄ°ì·¨Êµ¼ÊÉÏ¿ÉÒÔ½ÚÊ¡Ò»·ÝÖظ´µÄ´úÂë¡£¼´Ê¹ÊÇÔÚÓÎÏ·³ÌÐòÕâÖÖ¡°Ö÷¶¯Ë¢Ð¡±Ô¶Ô¶¶àÓÚ¡°±»¶¯Ë¢Ð¡±µÄ³ÌÐòÖУ¬Ö»Òª´°¿ÚÓб»ÆäËû¶«Î÷¸²¸ÇµÄ¿ÉÄÜ£¬ÄÇôÕâ¸öÔÔò¾ÍÊÇÊÊÓõġ£
2¡£¡¡GDI³ÌÐòµÄ½á¹¹
¶ÔÓÚWin32³ÌÐòÀ´Ëµ£¬WM_PAINTÏûÏ