°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
£»¡¡×¢²á´°¿ÚÀà
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡RtlZeroMemory£»addr¡¡@stWndClass£»sizeof¡¡@stWndClass
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡LoadIcon£»hInstance£»ICO_MAIN
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@stWndClass¡£hIcon£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@stWndClass¡£hIconSm£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡LoadCursor£»0£»IDC_ARROW
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@stWndClass¡£hCursor£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hInstance
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡¡¡@stWndClass¡£hInstance
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@stWndClass¡£cbSize£»sizeof¡¡WNDCLASSEX
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@stWndClass¡£style£»CS_HREDRAW¡¡or¡¡CS_VREDRAW
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@stWndClass¡£lpfnWndProc£»offset¡¡_ProcWinMain
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@stWndClass¡£hbrBackground£»COLOR_WINDOW¡¡£«¡¡1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@stWndClass¡£lpszClassName£»offset¡¡szClassName
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡RegisterClassEx£»addr¡¡@stWndClass
£»********************************************************************
£»¡¡½¨Á¢²¢ÏÔʾ´°¿Ú
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡CreateWindowEx£»WS_EX_CLIENTEDGE£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡offset¡¡szClassName£»offset¡¡szClassName£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WS_OVERLAPPEDWINDOW£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡100£»100£»250£»270£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL£»NULL£»hInstance£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hWinMain£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡ShowWindow£»hWinMain£»SW_SHOWNORMAL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡UpdateWindow£»hWinMain
£»********************************************************************
£»¡¡ÏûϢѻ·
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£while¡¡¡¡TRUE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡¡¡¡¡GetMessage£»addr¡¡@stMsg£»NULL£»0£»0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£break¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡eax¡¡¡¡0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡¡¡¡¡TranslateMessage£»addr¡¡@stMsg
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡¡¡¡¡DispatchMessage£»addr¡¡@stMsg
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endw
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
_WinMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡endp
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
start£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡call¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_WinMain
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡ExitProcess£»NULL
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡end¡¡¡¡¡¡¡¡¡¡start
ÏÂÃæ¼òµ¥·ÖÎöһϳÌÐòµÄ½á¹¹¡£
³ÌÐòÊ×ÏÈÓñê×¼µÄ·½·¨½¨Á¢ÁËÒ»¸ö´°¿Ú£¬ÔÚ´°¿ÚµÄ³õʼ»¯ÏûÏ¢WM_CREATEÖÐÓÃSetTimer½¨Á¢ÁËÒ»¸öÖÜÆÚΪ1ÃëµÄ¶¨Ê±Æ÷£¬ÓÃÀ´ÔÚ´°¿ÚµÄ¿Í»§ÇøÖлæ»Ê±ÖÓ¡£Õâ¸ö¶¨Ê±Æ÷ÔÚWM_CLOSEÏûÏ¢ÖÐÓÃKillTimerº¯Êý³·Ïú¡£ÔÚ¶¨Ê±Æ÷ÏûÏ¢ÖУ¬³ÌÐòÓÃInvalidateRectº¯ÊýÈÃÕû¸ö¿Í»§ÇøʧЧ£¬Ï൱ÓÚÈÃWindowsÔÚÏûϢѻ·ÖзÅÈëÒ»ÌõWM_PAINTÏûÏ¢£¬Õû¸öʱÖӵĻæ»ÔÚWM_PAINTÏûÏ¢ÖÐÍê³É¡£
ÔÚWM_PAINTÏûÏ¢ÖгÌÐòÓñê×¼µÄ·½·¨µ÷ÓÃBeginPaintº¯Êý»ñÈ¡´°¿Ú¿Í»§ÇøµÄhDC£¬ÒÔ±ãÔÚÉÏÃæ»æ»Ê±ÖÓ£¬ÔÚÏûÏ¢·µ»ØµÄʱºòÓÃEndPaintº¯ÊýÊÍ·ÅhDC£¬Á½¸öº¯ÊýµÄÖм䣬³ÌÐò°ÑhDC´«¸ø_ShowTime×Ó³ÌÐò£¬ÓÉÕâ¸ö×Ó³ÌÐòÍê³ÉÕû¸ö»æ»¹¤×÷¡£
ÔÚµÚ6ÕÂÖÐÒѾ½²µ½£º»ñȡϵͳʱ¼ä²»ÄÜÒÀÀµÓÚWM_TIMERÏûÏ¢µÄ¼ÆÊý£¬ËùÒÔÔÚ_ShowTime×Ó³ÌÐòµÄ¿ªÊ¼£¬³ÌÐòµ÷ÓÃGetLocalTimeÀ´»ñÈ¡µ±Ç°µÄϵͳʱ¼ä£¬²¢¸ù¾ÝÕâ¸öʱ¼äÀ´»æ»Ê±ÖÓµÄʱ¡¢·Ö¡¢ÃëÖ¸Õë¡£ÓÉÓڻ滵Ĺý³ÌºÜ¿ì£¬ËùÒÔÕû¸ö³ÌÐòµÄ½á¹¹Ê¹ÓÃÇ°Ãæͼ7¡£1ÖÐËùʾµÄA½á¹¹£¬Ò²¾ÍÊÇÿ´ÎÓÐWM_PAINTÏûÏ¢µÄʱºò£¬³ÌÐò×ÜÊÇÖØ»Õû¸ö¿Í»§Çø£¬ËùÒÔ¶ÁÕßÔÚËٶȱȽÏÂýµÄ¼ÆËã»úÉÏÔËÐÐÕâ¸ö³ÌÐòʱ£¬¿ÉÄܻῴµ½ÓиöÉÁ˸µÄ¹ý³Ì£¬ÒòΪ³ÌÐòÿ´Î×ÜÊÇÏȽ«Õû¸ö¿Í»§ÇøÇå³ý³É±³¾°É«£¨InvalidateRectº¯Êý×îºóµÄTRUE²ÎÊýÒªÇóWindowsÔÚ·¢ËÍWM_PAINTÏûϢǰÇå³ý¿Í»§Çø£©£¬È»ºó»æ»ËÄÖܵĿ̶ȣ¬×îºó»ÉÏÖ¸Õë¡£»æ»¿Ì¶ÈÊÇÓÉ_DrawDot×Ó³ÌÐòÍê³ÉµÄ£¬»æ»Ö¸ÕëÊÇÓÉ_DrawLine×Ó³ÌÐòÍê³ÉµÄ¡£
GetLocalTimeºóÃæµÄ_CalcClockParam×Ó³ÌÐò¸ù¾Ý¿Í»§ÇøµÄ³ß´ç¼ÆËãʱÖӳߴç²ÎÊý£¬Ëü±È½Ï¿Í»§Çø¸ß¶ÈºÍ¿í¶È£¬ÒÔÆäÖеĽÏСֵÓÃ×öʱÖÓµÄÖ±¾¶£¬¼ÆËãµÃµ½µÄÔ²ÐÄ×îºó´æ·ÅÓÚÈ«¾Ö±äÁ¿dwCenterXºÍdwCenterYÖУ¬¼ÆËãµÃµ½µÄ°ë¾¶´æ·ÅÓÚdwRadiusÖС£
³ÌÐòÖÐÓÐÁ½¸ö¹«ÓõÄ×Ó³ÌÐò£º_CalcXºÍ_CalcY£¬ËüÃÇÓÃÀ´¼ÆËã½Ç¶È¶ÔÓ¦µÄ×ø±ê£¬Èçͼ7¡£5Ëùʾ£¬Ê±ÖÓ0µãʱ¼äÊÇ´Ó´¹Ö±·½Ïò¿ªÊ¼µÄ£¬ÒÔʱ¼äֵΪ½Ç¶ÈÅäºÏWindowsµÄĬÈÏ×ø±êϵ£¬¶ÔӦij¸öʱ¼äµã£¨x£¬y£©£¬xÓ¦¸ÃÊÇÔ²ÐÄx¼ÓÉϽǶȵÄÕýÏÒÖµ³ËÒ԰뾶£¬yÓ¦¸ÃÊÇÔ²ÐÄy¼õÈ¥½Ç¶ÈµÄÓàÏÒÖµ³ËÒ԰뾶¡£_CalcXºÍ_CalcYÊäÈëµÄ²ÎÊýÊǽǶÈ_dwDegreeºÍ°ë¾¶_dwRadius¡£×Ó³ÌÐòÖÐʹÓÃ80x86µÄд¦ÀíÆ÷Ö¸ÁÊ×ÏȽ«½Ç¶ÈÖµ»»Ëã³É»¡¶ÈÖµ¡ª¡ª³ËÒԦв¢³ýÒÔ180£¬È»ºóÓÃÉÏÃæ·ÖÎöµÄ¹«Ê½½øÐи¡µã¼ÆËã²¢½«½á¹û·µ»Ø¡£
ͼ7¡£5¡¡¡¡Ê±ÖÓ³ÌÐòµÄ×ø±ê¼ÆËã
ÔÚ½ÓÏÂÀ´µÄÄÚÈÝÖУ¬ÏȽéÉÜһЩ»æ»²Ù×÷µÄ±³¾°ÖªÊ¶¡£
7¡£2¡£1¡¡¡¡»±ÊºÍ»Ë¢
GDIÖеĻ滺¯ÊýÓÐ3´óÀࣺ»µã¡¢»ÏߺͻÌî³äÇøÓò¡£Ê¹ÓùýPhotoshopµÈͼÐÎÈí¼þµÄ¶ÁÕßÒ»¶¨ÖªµÀ£¬ÔÚ»Ïß֮ǰÐèҪѡÔñÒ»ÖÖ»±Ê£¬ÕâÑù»³öÀ´µÄÏßÌõ¶¼ÊÇ»ùÓÚÕâÖÖ»±ÊµÄ£»Í¬Ñù£¬Ìî³äÒ»¸öÇøÓò֮ǰÐèҪѡÔñÒ»Öֻˢ£¬ÕâÑùÕû¸öÌî³äÇøÓò½«Öظ´Ê¹ÓÃÕâ¸ö»Ë¢µÄÑÕÉ«»òͼ°¸¡£
GDIÖÐÒ²ÓÐͬÑùµÄ»±ÊºÍ»Ë¢µÄ¸ÅÄ»±Ê¡¢»Ë¢ÒÔ¼°ÆäËûһЩGDIÖÐҪʹÓõĶ«Î÷£¬°üÀ¨×ÖÌå¡¢ÇøÓò¡¢Â·¾¶¡¢Í¼°¸ºÍλͼͳ³ÆGDIÖеġ°¶ÔÏó¡±£¬Í¨¹ýSelectObjectº¯Êý¿ÉÒÔÖ¸¶¨Ò»¸öDCµ±Ç°Ê¹ÓõĶÔÏó¶ÔÓ¦Äĸö¶ÔÏó¾ä±ú£¬³ÆΪ¡°µ±Ç°¶ÔÏó¡±£¬µ±ÉèÖÃÁËÒ»¸öµ±Ç°¶ÔÏóµÄʱºò£¬ÒÔºóºÍÕâÖÖ¶ÔÏóÏà¹ØµÄº¯Êý¶¼½«Ê¹Óõ±Ç°¶ÔÏó£¬Ö±µ½ÔÙ´ÎÓÃSelectObjectÑ¡ÔñеĶÔÏóΪֹ¡£±ÈÈçÑ¡ÔñÁËеĻ±Êºó£¬ÒÔºóËùÓлÏߺ¯Êý»³öÀ´µÄÏßÌõÑùʽ¶¼ÊÇÓÉÕâ¸ö»±Ê¾ö¶¨µÄ£¬¶øÑ¡ÔñÁËеĻˢºó£¬ÔòËùÓÐÌî³äº¯ÊýÌî³äµÄÑùʽ¶¼½«Ê¹ÓÃÕâ¸ö»Ë¢¡£
SelectObjectº¯ÊýµÄÓ÷¨ÊÇ£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡SelectObject£¬hDC£¬hGDIObject
¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hOldObject£»eax
ÆäÖвÎÊýhGDIObject¾ÍÊǶÔÏóµÄ¾ä±ú£¬Ëü¿ÉÒÔÊÇλͼ¾ä±ú¡¢»±Ê¾ä±ú¡¢»Ë¢¾ä±ú¡¢×ÖÌå¾ä±ú»òÇøÓò¾ä±ú£¬º¯Êý»á¸ù¾Ý¾ä±úµÄÖÖÀà×Ô¶¯Ìæ»»ÔÓеĶÔÏ󣬲¢½«ÔÀ´Ê¹ÓõĶÔÏó¾ä±ú·µ»Ø£¨µ±¶ÔÏóÀàÐÍÊÇÇøÓòµÄʱºò³ýÍ⣩£¬Èç¹ûDCÖÐÔÀ´Ã»ÓÐÉèÖõ±Ç°¶ÔÏó£¬ÄÇôº¯ÊýµÄ·µ»ØÖµÊÇGDI_ERROR»òNULL¡£
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ7Õ¡¡Í¼ÐβÙ×÷
7¡£2¡¡»æ¡¡ÖÆ¡¡Í¼¡¡ÐΣ¨4£©
¡¡¡¡¡¡¡¡
1¡£¡¡Ê¹ÓÃÔ¤¶¨ÒåµÄ»±ÊºÍ»Ë¢
WindowsÔ¤¶¨ÒåÁËһЩ³£ÓõĻ±ÊºÍ»Ë¢£¬ÔÚ³ÌÐòÖпÉÒÔÓÃGetStockObjectÀ´»ñÈ¡ËüÃǵľä±ú£¬StockµÄÖÐÎĺ¬ÒåÊÇ¡°³£±¸µÄ¡¢¿â´æµÄ¡±£¬ËùÒÔÕâ¸öº¯Êý×ÖÃæÉϵÄÒâ˼¾ÍÊÇ¡°»ñÈ¡³£ÓõĶÔÏó¡±£¬×¢ÒⲢûÓÐÀàËÆÓÚGetStockPen»òGetStockBrushÖ®ÀàµÄº¯Êý£¬ËùÓлñÈ¡³£ÓöÔÏóµÄ²Ù×÷ͳһʹÓÃGetStockObjectº¯Êý¡£
GetStockObjectº¯ÊýµÄÓ÷¨ÊÇ£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡GetStockObject£¬fnObject
¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hObject£»eax
fnObject²ÎÊýÊÇÔ¤¶¨ÒåµÄ¶ÔÏóÀàÐÍ£¬¿ÉÒÔÊDZí7¡£2ËùʾµÄÈ¡Öµ¡£
±í7¡£2¡¡¡¡GDIÖеij£ÓöÔÏó
Ô¤¡¡¶¨¡¡Òå¡¡Öµ
¡¡Ëµ¡¡¡¡¡¡¡¡Ã÷
¡¡
BLACK_PEN
WHITE_PEN
NULL_PEN
BLACK_BRUSH
DKGRAY_BRUSH
GRAY_BRUSH
LTGRAY_BRUSH
WHITE_BRUSH
HOLLOW_BRUSH»òNULL_BRUSH
ANSI_FIXED_FONT
ANSI_VAR_FONT
DEFAULT_GUI_FONT£¨Win95£©
OEM_FIXED_FONT
SYSTEM_FONT
DEFAULT_PALETTE
¡¡ºÚÉ«»±Ê
°×É«»±Ê
¿Õ»±Ê
ºÚÉ«»Ë¢
Éî»ÒÉ«»Ë¢
»ÒÉ«»Ë¢
dz»ÒÉ«»Ë¢
°×É«»Ë¢
¿Õ»Ë¢
µÈ¿íϵͳ×ÖÌå
²»µÈ¿íϵͳ×ÖÌå
ĬÈÏϵͳ×ÖÌ壨ÓÃÓڲ˵¥¡¢¶Ô»°¿òµÈ£©
OEMµÈ¿í×ÖÌå
ĬÈÏϵͳ×ÖÌ壨ÓÃÓڲ˵¥¡¢¶Ô»°¿òµÈ£©
ĬÈÏͼ°¸
¡¡
NULL_PENºÍNULL_BRUSHÊÇ¿Õ»±ÊºÍ¿Õ»Ë¢£¬Ö®ËùÒÔÓпյĶÔÏó£¬ÊÇÒòΪ»æÖÆÌî³äÇøÓòµÄº¯ÊýͬʱÓõ½ÁË»±ÊºÍ»Ë¢¡ª¡ª»æÖƵÄÍâ¿òʹÓõ±Ç°»±Ê£¬ÖмäÓõ±Ç°»Ë¢Ìî³ä¡£Ê¹ÓÿնÔÏó¿ÉÒÔÓлú»á»³öûÓб߿òÏßÖ»ÓÐÌî³äͼ°¸£¬»òÕßÖ»Óб߿òÏ߶ø²»Ìî³äµÄÇøÓòÀ´¡£
ÓÃGetStockObjectº¯ÊýµÃµ½¶ÔÏó¾ä±úÒԺ󣬾ͿÉÒÔÓÃSelectObjectº¯Êý½«¶ÔÏó¾ä±úÉèÖõ½DCÖÐÁË¡£Àý×ÓÎļþClock¡£asmÖеÄ_ShowTimeº¯ÊýÖÐÓÃGetStockObjectº¯Êý»ñÈ¡ÁËÒ»¸öBLACK_BRUSH»Ë¢£¬ÓÃÀ´»æ»Ê±ÖӵĿ̶ȡ£
2¡£¡¡Ê¹ÓÃ×Ô¶¨ÒåµÄ»±ÊºÍ»Ë¢
ʹÓÃGetStockObjectº¯ÊýµÃµ½µÄ¶ÔÏóÊÇ×