ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡ÔĶÁ¹ý³Ì·¢ÏÖÈκδíÎóÇë¸æËßÎÒÃÇ£¬Ð»Ð»£¡£¡ ±¨¸æ´íÎó
°ËÍòС˵Íø ·µ»Ø±¾ÊéĿ¼ ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ½øÈëÊé°É ¼ÓÈëÊéÇ©

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

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 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ÏûÏ
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨7£© ²È£¨6£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡