ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
µÚÈýµç×ÓÊé ·µ»Ø±¾ÊéĿ¼ ¼ÓÈëÊéÇ© ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ¡ºÊղص½ÎÒµÄä¯ÀÀÆ÷¡»

VCÓïÑÔ6.0³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨-µÚ49²¿·Ö

¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡


¾öÕâЩÎÊÌ⣬Windows¡¡ÌṩÁË´óÁ¿Ï̵߳Äͬ²½·½·¨£¬ÀýÈç±äÁ¿Ëø¡¢ÁÙ½çÇø¡¢ÐźÅÁ¿¡¢Ê¼þ¶Ô¡¡

Ïó¡¢»¥³â¶ÔÏóµÈ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡1£®»¥Ëø²Ù×÷¡¡¡¡



¡¡¡¡¡¡¡¡¡¡Ò»¸ö»òÁ½¸ö±äÁ¿µÄ»¥Ëø²Ù×÷ÊÇ×î¼òµ¥µÄͬ²½Ô­Óï¡£Win32¡¡ÌṩÁË¡¡7¡¡¸ö¾ßÓÐḬ̈߳²È«ÐԵġ¡

Ô­×Ó²Ù×÷£¬¾ßÌå½éÉÜÈçÏ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨1£©InterlockedIncrement¡¡¡¡

¡¡¡¡¡¡¡¡¡¡º¯Êý¡¡InterlockedIncrement¡¡¡¡ÎªÖ¸¶¨µÄ¡¡32¡¡Î»±äÁ¿¼ÓÒ»£¬²¢ÇÒ¶Ô½á¹û½øÐмì²é¡£¸Ãº¯Êý²»ÔÊ¡¡

Ðíͬһʱ¼äÓдóÓÚÒ»¸öµÄÏ̶߳ԱäÁ¿½øÐзÃÎÊ¡£·µ»ØÖ´ÐмÓÒ»²Ù×÷ºóµÄ±äÁ¿Öµ¡£ËüµÄº¯ÊýÔ­¡¡

ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡LONG¡¡InterlockedIncrement£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPLONG¡¡volatile¡¡lpAddend¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡LpAddend¡¡£ºÖ¸Ïò±äÁ¿µÄÖ¸Õë¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨2¡¡£©InterlockedDecrement¡¡¡¡

¡¡¡¡¡¡¡¡¡¡º¯Êý¡¡InterlockedDecrement¡¡ÎªÖ¸¶¨µÄ¡¡32¡¡Î»±äÁ¿¼õÒ»£¬²¢ÇÒ¶Ô½á¹û½øÐмì²é¡£¸Ãº¯Êý²»ÔÊ¡¡

Ðíͬһʱ¼äÓдóÓÚÒ»¸öµÄÏ̶߳ԱäÁ¿½øÐзÃÎÊ¡£·µ»ØÖ´ÐмõÒ»²Ù×÷ºóµÄ±äÁ¿Öµ¡£ËüµÄº¯ÊýÔ­¡¡

ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡LONG¡¡InterlockedDecrement£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPLONG¡¡volatile¡¡lpAddend¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡lpAddend¡¡£ºÖ¸Ïò±äÁ¿µÄÖ¸Õë¡£¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨3¡¡£©InterlockedExchange¡¡¡¡

¡¡¡¡¡¡¡¡¡¡º¯Êý¡¡InterlockedExchange¡¡¡¡×Ô¶¯½»»»Ò»¶Ô±äÁ¿Öµ¡£¸Ãº¯Êý²»ÔÊÐíͬһʱ¼äÓжàÓÚÒ»¸öµÄÏß¡¡

³Ì¶ÔÖ¸¶¨µÄ±äÁ¿½øÐзÃÎÊ¡£Èç¹û½»»»Ö¸ÕëÖµ£¬Ôòµ÷Óú¯Êý¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡InterlockedExchangePointer¡¡¡£·µ»Ø¡¡

Target¡¡Ö¸ÏòµÄ³õÖµ¡£º¯Êý¡¡InterlockedExchange¡¡µÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡LONG¡¡InterlockedExchange£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPLONG¡¡volatile¡¡Target£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LONG¡¡¡¡Value¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Target¡¡£ºÒª½»»»µÄ±äÁ¿Ö¸Õë¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Value¡¡£ºTarget¡¡Ö¸Ïò±äÁ¿µÄÐÂÖµ¡£¡¡¡¡



¡¡¡¤234¡¡¡¤¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡246¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡9¡¡Õ¡¡¡¡¡¡¡¡¶àÏ̡߳¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨4¡¡£©InterlockedExchangeAdd¡¡¡¡

¡¡¡¡¡¡¡¡¡¡º¯Êý¡¡InterlockedExchangeAdd¡¡ÎªÄ³¸ö¡¡32¡¡Î»±äÁ¿Ôö¼ÓÖ¸¶¨µÄÖµ¡£¸Ãº¯Êý²»ÔÊÐíͬһʱ¼äÓС¡

¶àÓÚÒ»¸öµÄÏ̷߳ÃÎÊͬһ±äÁ¿¡£·µ»Ø²ÎÊý¡¡Addend¡¡Ö¸ÏòµÄ³õÖµ¡£ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡LONG¡¡InterlockedExchangeAdd¡¡£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPLONG¡¡volatile¡¡Addend¡¡£»¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LONG¡¡¡¡Value¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Addend¡¡£ºÖ¸ÏòÒª½øÐмӲÙ×÷µÄ±äÁ¿Ö¸Õë¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Value¡¡£ºÒª¸ø²ÎÊý¡¡Addend¡¡Ôö¼ÓµÄÖµ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨5¡¡£©InterlockedExchangePointer¡¡¡¡

¡¡¡¡¡¡¡¡¡¡º¯Êý¡¡InterlockedExchangePointer¡¡½«Ä³¸ö¡¡32¡¡Î»±äÁ¿µÄÖµ¸ÄΪһ¸öÐÂÖµ¡¡¡£¸Ãº¯Êý²»ÔÊÐíͬһ¡¡

ʱ¼äÓжàÓÚÒ»¸öµÄÏ̷߳ÃÎÊͬһ±äÁ¿¡£·µ»Ø²ÎÊý¡¡Target¡¡Ö¸ÏòµÄ³õÖµ¡£ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡PVOID¡¡InterlockedExchangePointer£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PVOID¡¡volatile¡¡*Target£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PVOID¡¡¡¡Value¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Target¡¡£ºÖ¸ÏòÒª½øÐвÙ×÷µÄ±äÁ¿Ö¸Õë¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Value¡¡£ºÊý¡¡Addend¡¡µÄÐÂÖµ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨6¡¡£©InterlockedpareExchange¡¡¡¡

¡¡¡¡¡¡¡¡¡¡º¯Êý¡¡InterlockedpareExchange¡¡¶ÔÖ¸¶¨µÄ¡¡32¡¡Î»±äÁ¿½øÐÐ×Ô¶¯±È½Ï£¬¸ù¾Ý±È½Ï½á¹û¾ö¶¨¡¡

ÊÇ·ñ½øÐн»»»¡£¸Ãº¯Êý²»ÔÊÐíͬһʱ¼äÓжàÓÚÒ»¸öµÄÏ̷߳ÃÎÊͬһ±äÁ¿¡£·µ»Ø²ÎÊý¡¡Destination¡¡

Ö¸ÏòµÄ³õÖµ¡£ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡LONG¡¡InterlockedpareExchange£¨¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPLONG¡¡volatile¡¡Destination£»¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LONG¡¡Exchange£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LONG¡¡perand¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Destination¡¡£ºÄ¿±êÖµµÄµØÖ·¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Exchange¡¡£ºÖ¸¶¨½»»»Öµ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡perand¡¡£ºÖ¸¶¨ÒªºÍÄ¿±êÖµ±È½ÏµÄÖµ¡£¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨7¡¡£©InterlockedpareExchangePointer¡¡¡¡

¡¡¡¡¡¡¡¡¡¡º¯Êý¡¡InterlockedpareExchangePointer¡¡¶ÔÖ¸¶¨µÄ¡¡32¡¡Î»±äÁ¿½øÐÐ×Ô¶¯±È½Ï£¬È»ºó¾ö¶¨ÊÇ¡¡

·ñ½øÐн»»»¡£¸Ãº¯Êý²»ÔÊÐíͬһʱ¼äÓжàÓÚÒ»¸öµÄÏ̷߳ÃÎÊͬһ±äÁ¿¡£·µ»Ø²ÎÊý¡¡Destination¡¡

Ö¸ÏòµÄ³õÖµ¡£ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡PVOID¡¡InterlockedpareExchangePointer¡¡£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PVOID¡¡volatile¡¡*Destination£»¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤235¡¡¡¤¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡247¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

Visual¡¡C£«£«¡¡6¡£0¡¡³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PVOID¡¡Exchange£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PVOID¡¡perand¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Destination¡¡£ºÖ¸ÏòÄ¿±êµØÖ·µÄÖ¸Õë¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Exchange¡¡£ºÖ¸¶¨½»»»Öµ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡perand¡¡£ºÖ¸¶¨ÒªºÍÄ¿±êÖµ±È½ÏµÄÖµ¡£¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡»¥Ëø²Ù×÷µÄʹÓ÷½·¨·Ç³£¼òµ¥£¬Ö÷Ï̺߳͸¨ÖúÏ̶߳Ôͬһ¸öÈ«¾Ö±äÁ¿½øÐвÙ×÷£¬Í¨¹ýÀû¡¡

Óá¡InterlockedIncrement¡¡º¯Êý´ïµ½Í¬²½µÄÄ¿µÄ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡2¡¡£®ÁÙ½çÇø£¨Critical¡¡Section£©¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÁÙ½çÇøÊÇÒ»¶Î³ÌÐò´úÂ룬ÔÚÈκÎʱºò¶¼Ö»Äܱ»Ò»¸öÏß³ÌʹÓá£Èç¹ûÓжà¸öÏß³Ìͬʱ·ÃÎÊ¡¡

ÁÙ½çÇø£¬ÕâʱֻÄÜÓÐÒ»¸öÏ߳̽øÈ룬ÆäËûÏß³ÌÔòµÈ´ý£¬Ö±µ½ÁÙ½çÇø±»ÊÍ·Å¡£ÓëÆäËûͬ²½·½·¨¡¡

²»Í¬µÄÊÇ£¬ÁÙ½çÇøÖ»ÄÜÔÚµ¥¸ö½ø³ÌÄÚʹÓá£Ê¹ÓÃÁÙ½çÇøµÄʱºòÒª±ÜÃⳤʱ¼äËøסһ·Ý×ÊÔ´¡£¡¡

½øÈëÁÙ½çÇøºó±ØÐ뾡¿ìµØÀ뿪£¬ÊÍ·Å×ÊÔ´¡£Èç¹ûÊÇÖ÷Ị̈߳¨GUI¡¡Ị̈߳©Òª½øÈëÒ»¸öûÓб»ÊÍ¡¡

·ÅµÄÁÙ½çÇø£¬½«»á³öÏÖ´íÎ󡣡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨1£©InitializeCriticalSection¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ÔÚʹÓÃÁÙ½çÇø֮ǰ£¬±ØÐëÏȽøÐгõʼ»¯¡£¿ÉÒÔµ÷Óá¡Win32¡¡API¡¡º¯Êý¡¡InitializeCriticalSection¡¡

³õʼ»¯Ò»¸öÁÙ½çÇø¶ÔÏó¡£ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡VOID¡¡InitializeCriticalSection£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPCRITICAL_SECTION¡¡lpCriticalSection¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡lpCriticalSection¡¡£ºÖ¸ÏòÁÙ½çÇø¶ÔÏóµÄÖ¸Õë¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨2¡¡£©DeleteCriticalSection¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ÏàÓ¦µÄ£¬µ±ÐèÒªÊÍ·ÅÁÙ½çÇø×ÊԴʱ£¬¿ÉÒÔµ÷Óá¡Win32¡¡API¡¡º¯Êý¡¡DeleteCriticalSection¡¡À´Êµ¡¡

ÏÖ£¬ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡VOID¡¡DeleteCriticalSection£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPCRITICAL_SECTION¡¡lpCriticalSection¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡lpCriticalSection¡¡£ºÖ¸ÏòÁÙ½çÇø¶ÔÏóµÄÖ¸Õë¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨3¡¡£©EnterCriticalSection¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Win32¡¡API¡¡º¯Êý¡¡EnterCriticalSection¡¡µÈ´ýÖ±µ½µÃµ½ÁÙ½çÇø¶ÔÏóµÄʹÓÃȨ£¬µ±µ÷ÓÃÏ̵߳õ½¡¡

ÁÙ½çÇø¶ÔÏóµÄʹÓÃȨʱ£¬º¯Êý·µ»Ø¡£ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡VOID¡¡EnterCriticalSection£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPCRITICAL_SECTION¡¡lpCriticalSection¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡



¡¡¡¤236¡¡¡¤¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡248¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡9¡¡Õ¡¡¡¡¡¡¡¡¶àÏ̡߳¡¡¡



¡¡¡¡¡¡¡¡¡¡o¡¡¡¡lpCriticalSection¡¡£ºÖ¸ÏòÁÙ½çÇø¶ÔÏóµÄÖ¸Õë¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨4¡¡£©LeaveCriticalSection¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Win32¡¡API¡¡º¯Êý¡¡LeaveCriticalSection¡¡ÓÃÀ´ÊÍ·ÅÁÙ½çÇøµÄËùÓÐȨ£¬ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡VOID¡¡LeaveCriticalSection£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPCRITICAL_SECTION¡¡lpCriticalSection¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡lpCriticalSection¡¡£ºÖ¸ÏòÁÙ½çÇø¶ÔÏóµÄÖ¸Õë¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡µ±ËÙ¶ÈÒªÇó½Ï¸ß£¬²¢ÇÒ½ø³Ì±ß½çµÄ×ÊÔ´²»»á±»½»²æʹÓõÄʱºò£¬Í¨³£²ÉÓá¡Critical¡¡Section¡¡

Ìæ´ú¡¡¡¡Mutexes¡¡¡£ÁÙ½çÇø²»ÊÇÒ»¸öºËÐĶÔÏó£¬ÎÞ·¨»ñÖª½øÈëÁÙ½çÇøµÄÏ̵߳Ä״̬£¬Èç¹û½øÈëÁÙ¡¡

½çÇøµÄÏ̴߳¦ÓÚËÀËø״̬£¬Ã»ÓÐÊÍ·ÅÁÙ½ç×ÊÔ´£¬ÏµÍ³ÎÞ·¨»ñÖª£¬¶øÇÒûÓа취ÊͷŸÃÁÙ½ç×Ê¡¡

Ô´¡£Õâ¸öȱµãÔÚ»¥³âÆ÷£¨Mutex¡¡£©Öеõ½ÁËÃÖ²¹¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨5¡¡£©CCriticalSection¡¡¡¡

¡¡¡¡¡¡¡¡¡¡CcriticalSection¡¡ÊÇÁÙ½çÇøÔÚ¡¡MFC¡¡ÖеÄÏàÓ¦µÄÀà¡£ËüµÄ³ÉÔ±º¯ÊýÈç±í¡¡9¡­5¡¡Ëùʾ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡±í¡¡9¡­5¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CEvent¡¡ÀàµÄ³ÉÔ±º¯Êý¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡º¯ÊýÃû³Æ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡×÷Óá¡¡¡

¡¡CCriticalSection¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¹¹Ô캯Êý£¬¹¹Ôì¡¡CCriticalSection¡¡¶ÔÏó¡¡¡¡

¡¡Lock¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½øÈëÁÙ½çÇø¡¡¡¡

¡¡UnLock¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡À뿪ÁÙ½çÇø¡¡¡¡



¡¡¡¡¡¡¡¡¡¡3¡¡£®Ê¼þ£¨Event¡¡£©¡¡¡¡



¡¡¡¡¡¡¡¡¡¡Ê¼þ£¨Event¡¡£©ÊÇÓÉ¡¡Windows¡¡²Ù×÷ϵͳ¹ÜÀíµÄͬ²½¶ÔÏ󡣿ÉÒÔÓÃÓÚ½ø³Ì»òÏ̵߳Äͬ²½¡£Ò»¡¡

¸öʼþ±»´´½¨ºó£¬Ö»Óм¤·¢×´Ì¬ºÍδ¼¤·¢×´Ì¬Á½ÖÖ״̬£¬Ò²³ÆΪ·¢ÐźÅ״̬ºÍδ·¢ÐźÅ״̬¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Ê¼þ°üÀ¨ÊÖ¶¯ÖØÖÃʼþºÍ×Ô¶¯ÖØÖÃʼþÁ½ÖÖÀàÐÍ¡£ÊÖ¶¯ÖØÖÃʼþ±»ÉèÖÃΪ¼¤·¢×´Ì¬ºó£¬¡¡

»á»½ÐÑËùÓеȴýµÄỊ̈߳¬¶øÇÒÒ»Ö±±£³Ö¼¤·¢×´Ì¬£¬Ö±µ½³ÌÐòÖØаÑËüÉèÖÃΪδ¼¤·¢×´Ì¬¡£×Ô¡¡

¶¯ÖØÖÃʼþ±»ÉèÖÃΪ¼¤·¢×´Ì¬ºó£¬»á»½ÐÑÒ»¸öµÈ´ýÖеÄỊ̈߳¬È»ºó×Ô¶¯»Ö¸´ÎªÎ´¼¤·¢×´Ì¬¡£¡¡

ËùÒÔÓÃ×Ô¶¯ÖØÖÃʼþÀ´Í¬²½Á½¸öÏ̱߳ȽÏÀíÏë¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨1£©CreateEvent¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Í¨¹ýµ÷Óá¡Win32API¡¡º¯Êý¡¡CreateEvent¡¡À´´´½¨»òÕß´ò¿ªÒ»¸öʼþ¶ÔÏó¡¡¡£Èç¹ûµ÷Óóɹ¦£¬·µ¡¡

»Øʼþ¶ÔÏóµÄ¾ä±ú£¬·ñÔò·µ»Ø¿Õ¡£ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡HANDLE¡¡CreateEvent£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPSECURITY_ATTRIBUTES¡¡lpEventAttributes£»¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BOOL¡¡bManualReset£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BOOL¡¡bInitialState£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPCTSTR¡¡lpName¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡lpEventAttributes¡¡£ºÖ¸Ïò¡¡SECURITY_ATTRIBUTES¡¡½á¹¹µÄÖ¸Õ룬Ëü¾ö¶¨·µ»ØµÄ¾ä±úÊÇ¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡·ñ¿ÉÒÔ±»×Ó½ø³Ì¼Ì³Ð¡£Èç¹û¡¡lpEventAttributes¡¡Îª¿Õ£¬Ôò²»Äܱ»¼Ì³Ð¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤237¡¡¡¤¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡249¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

Visual¡¡C£«£«¡¡6¡£0¡¡³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡o¡¡¡¡bManualReset¡¡£ºÖ¸¶¨´´½¨Ò»¸öÊÖ¶¯ÖØÖÃʼþ»ò×Ô¶¯ÖØÖÃʼþ¡£Èç¹ûΪǰÕߣ¬±ØÐëµ÷Óá¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ResetEvent¡¡ÊÖ¶¯É趨״̬Ϊ·Ç¼¤»î״̬¡£·ñÔò£¬µ±Ò»¸öµÈ´ýÏ̱߳»Êͷźó£¬ÏµÍ³»á×Ô¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶¯É趨¶ÔÏóµÄ״̬Ϊ·Ç¼¤»î״̬¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡bInitialState¡¡£ºÖ¸¶¨¶ÔÏóµÄ³õʼ״̬¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡lpName¡¡£ºÊ¼þ¶ÔÏóµÄÃû³Æ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨2¡¡£©OpenEvent¡¡¡¡

¡¡¡¡¡¡¡¡¡¡º¯Êý¡¡OpenEvent¡¡¿ÉÒÔ´ò¿ªÒ»¸ö´æÔÚµÄʼþ¶ÔÏó£¬ÔÊÐí¶à¸ö½ø³Ì´ò¿ªÍ¬Ò»¸ö¶ÔÏó¡£Èç¹ûµ÷¡¡

Óóɹ¦£¬·µ»Øʼþ¶ÔÏóµÄ¾ä±ú¡£·ñÔò·µ»Ø¿Õ¡£ËüµÄº¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡HANDLE¡¡OpenEvent£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡dwDesiredAccess£»¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BOOL¡¡bInheritHandle£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPCTSTR¡¡lpName¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡dwDesiredAccess¡¡£ºÖ¸¶¨ÈçºÎ²Ù×÷¶ÔÏ󡣡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡bInheritHandle¡¡£ºÖ¸¶¨·µ»ØµÄ¾ä±úÊÇ·ñ¿ÉÒÔ±»¼Ì³Ð¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡lpName¡¡£ºÊ¼þ¶ÔÏóµÄÃû³Æ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£¨3¡¡£©SetEvent£¬ResetEvent¡¡ºÍ¡¡PulseEvent¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Èç¹ûÐèÒªÐÞ¸Äʼþ¾ä±úµÄ״̬£¬¿ÉÒÔʹÓá¡¡¡SetEvent¡¢ResetEvent¡¡¡¡ºÍ¡¡¡¡PulseEvent¡¡¡£ÆäÖУ¬¡¡

SetEvent¡¡½«Ê¼þ¾ä±úµÄ״̬¸ÄΪ¼¤»î״̬£¬Èç¹û×Ô¶¯ÖØÖÃʼþ´¦ÓÚ¼¤»î״̬£¬ÔÚÂú×ãÁ˵ȴý¡¡

Ï̺߳ó£¬Ëü¿ÉÒÔ±»ÖØÖá¡¡£ÊÖ¶¯ÖØÖÃʼþ±ØÐëµ÷Óá¡ResetEvent¡¡º¯Êý½«Ê¼þ¶ÔÏóÖØÖÃΪ¼¤»î״̬¡£¡¡

PulseEvent¡¡¡¡¡¡º¯ÊýÓÃÀ´Ïòʼþ¾ä±ú·¢Ðźţ¬²¢ÔÚËùÓеĵȴýÏ̶߳¼±»Êͷź󣬽«Ê¼þ¾ä±úÖØÖá¡

Ϊδ¼¤»î״̬¡£ËüÃǵķµ»ØÖµÏàͬ£¬Èç¹ûµ÷Óóɹ¦£¬·µ»Ø·Ç¡¡0¡¡Öµ£¬·ñÔò·µ»Ø¡¡0¡¡¡£ËüÃǵĺ¯Êý¡¡

Ô­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡BOOL¡¡SetEvent£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡HANDLE¡¡hEvent¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡BOOL¡¡ResetEvent£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡HANDLE¡¡hEvent¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡BOOL¡¡PulseEvent£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡HANDLE¡¡hEvent¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡o¡¡¡¡hEvent¡¡£ºÊ¼þ¶ÔÏóµÄ¾ä±ú¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Èç¹û²»ÔÙʹÓþä±ú£¬¿ÉÒÔµ÷Óá¡Win32API¡¡º¯Êý¡¡CloseHandle¡¡¹Ø±Õ¾ä±ú¡£º¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡BOOL¡¡CloseHandle£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡HANDLE¡¡hObject¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£©£»¡¡¡¡



¡¡¡¤238¡¡¡¤¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡250¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡9¡¡Õ¡¡¡¡¡¡¡¡¶àÏ̡߳¡¡¡



¡¡¡¡¡¡¡¡º¯ÊýÖÐÖ÷Òª²ÎÊýµÄÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡hObject¡¡£º¶ÔÏóµÄ¾ä±ú¡£¡¡¡¡



¡¡¡¡¡¡¡¡£¨4¡¡£©CEvent¡¡¡¡

¡¡¡¡¡¡¡¡Ê¼þ£¨Event¡¡£©ÔÚ¡¡MFC¡¡ÖеÄÏàÓ¦µÄÀàÊÇ¡¡CEvent¡¡¡£CEvent¡¡µÄ¹¹Ôìº
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨1£© ²È£¨2£©
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡