ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
VCÓïÑÔ6.0³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨-µÚ38²¿·Ö
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡
¡¡¡¤246¡¡¡¤¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡258¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡9¡¡Õ¡¡¡¡¡¡¡¡¶àÏ̡߳¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡ÉèÖô«Êä²ÎÊý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_m¡£SetSettings£¨¡¨9600£»n£»8£»1¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_m¡£SetRThreshold£¨1£©£»¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡Ö¸¶¨½ÓÊÕ»º³åÇø´óС¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_m¡£SetInBufferSize£¨1024£©£»¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡Çå¿Õ½ÓÊÕ»º³åÇø¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_m¡£SetInBufferCount£¨0£©£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡ÉèÖöÁÈ¡·½Ê½¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_m¡£SetInputLen£¨0£©£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡´ò¿ª´®¿Ú¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡if£¨£¡m_m¡£GetPortOpen£¨£©£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_m¡£SetPortOpen£¨TRUE£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡¶ÁÈ¡Êý¾Ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_m¡£GetInput£¨£©£»¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
£ý¡¡¡¡
£¨5¡¡£©ÏìÓ¦¡¡Onm¡¡ÏûÏ¢¡¡¡¡
ÀûÓá¡ClassWizard¡¡ÏìÓ¦¡¡MSm¡¡¿Ø¼þµÄ¡¡Onm¡¡ÏûÏ¢£¬ÓÃÀ´´¦Àí½ÓÊÕÊý¾Ý£¬´úÂëÈçÏ£º¡¡¡¡
void¡¡CSmDlg£º£ºOnm£¨£©¡¡¡¡¡¡¡¡
£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡TODO£º¡¡Add¡¡your¡¡control¡¡notification¡¡handler¡¡code¡¡here¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡nEvent£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡VARIANT¡¡m_input£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡char¡¡*str£»*str1£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡k£»i£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡CString¡¡str2£»¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nEvent=m_m¡£GetmEvent£¨£©£»¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡switch£¨nEvent£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤247¡¡¡¤¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡259¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
Visual¡¡C£«£«¡¡6¡£0¡¡³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡2£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡½ÓÊÕ»º³åÇøµÄ×Ö·ûÊýÄ¿¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡k=m_m¡£GetInBufferCount£¨£©£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if£¨k¡·0£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_input=m_m¡£GetInput£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡str=£¨char*£©£¨unsigned¡¡char*£©m_input¡£parray¡¡·pvData£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡i=0£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡str1=str£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while£¨iGetSafeHwnd£¨£©£»¡¡¡¡
¡¡¡¤248¡¡¡¤¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡260¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡9¡¡Õ¡¡¡¡¡¡¡¡¶àÏ̡߳¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡senddata¡£length¡¡=¡¡m_SendData¡£GetLength£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡strcpy£¨senddata¡£data£»¡¡£¨LPCTSTR£©m_SendData£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡senddata¡£pm¡¡=¡¡&m_m£»¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡´´½¨·¢ËÍÏ̡߳¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡CreateThread£¨NULL£»¡¡0£»¡¡mSendProc£»¡¡&senddata£»¡¡0£»¡¡&id£©£»¡¡¡¡
£ý¡¡¡¡
£¨7¡¡£©¹Ø±Õ´®¿Ú¡¡¡¡
ÏìÓ¦¡°¹Ø±Õ´®¿Ú¡±°´Å¥µÄµ¥»÷ʼþ£¬ÓÃÀ´¹Ø±Õ´®¿Ú£¬´úÂëÈçÏ£º¡¡¡¡
void¡¡CSmDlg£º£ºOnClose£¨£©¡¡¡¡¡¡¡¡
£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡TODO£º¡¡Add¡¡your¡¡control¡¡notification¡¡handler¡¡code¡¡here¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡if£¨¡¡m_m¡£GetPortOpen£¨£©¡¡£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡¹Ø±Õ´®¿Ú¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_m¡£SetPortOpen£¨0£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
£¨8£©´ò¿ª´®¿Ú¡¡¡¡
ÏìÓ¦¡°´ò¿ª´®¿Ú¡±°´Å¥µÄµ¥»÷ʼþ£¬ÓÃÀ´´ò¿ª´®¿Ú£¬´úÂëÈçÏ£º¡¡¡¡
void¡¡CSmDlg£º£ºOnOpen£¨£©¡¡¡¡¡¡¡¡
£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡TODO£º¡¡Add¡¡your¡¡control¡¡notification¡¡handler¡¡code¡¡here¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡if£¨¡¡£¡m_m¡£GetPortOpen£¨£©¡¡£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡´ò¿ª´®¿Ú¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡m_m¡£SetPortOpen£¨1£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
£¨9¡¡£©Í˳ö¡¡¡¡
ÏìÓ¦¡°Í˳ö¡±°´Å¥µÄµ¥»÷ʼþ£¬ÓÃÀ´ÊÍ·Å×ÊÔ´£¬Í˳ö³ÌÐò£¬´úÂëÈçÏ£º¡¡¡¡
void¡¡CSmDlg£º£ºOnCancel£¨£©¡¡¡¡¡¡¡¡
£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡TODO£º¡¡Add¡¡extra¡¡cleanup¡¡here¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡ÊÍ·Å»¥³âÁ¿×ÊÔ´¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ReleaseMutex£¨g_hMutex£©£»¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡¹Ø±Õ¾ä±ú¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡CloseHandle£¨g_hMutex£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤249¡¡¡¤¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡261¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
Visual¡¡C£«£«¡¡6¡£0¡¡³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CDialog£º£ºOnCancel£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡£¨10£©ÔËÐнá¹û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡ÔËÐгÌÐòºó£¬Ê×Ïȵ¯³ö¡°Ñ¡Ôñ´®¿Ú²ÎÊý¡±¶Ô»°¿ò£¬Ñ¡ÔñÐèÒªµÄ´®¿Ú£¬Èçͼ¡¡9¡8¡¡Ëùʾ¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼¡¡9¡8¡¡¡¡¡¡¡¡¡°ÉèÖô®¿Ú²ÎÊý¡±¶Ô»°¿ò¡¡¡¡
¡¡¡¡¡¡¡¡¡¡ÔÚ³ÌÐòÖ÷½çÃæÖУ¬µ¥»÷¡°·¢ËÍ¡±°´Å¥£¬·¢ËÍÊäÈë¿òÖеÄÄÚÈÝ»á³öÏÖÔÚÁíÒ»¸ö³ÌÐòµÄ½ÓÊÕ¡¡
¿òÖУ¬Èçͼ¡¡9¡9¡¡ºÍͼ¡¡9¡10¡¡Ëùʾ¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡ÎªÁ˸ü¼Ó¼ò±ã£¬±¾½Ú½ö¸ø³öÀûÓöàÏ̴߳®¿Ú·¢ËÍÊý¾ÝµÄ·½·¨£¬¶ÁÕßÈôÓÐÐËȤ¿ÉÒÔ×ÔÐÐʵ¡¡
ÏÖ¶àÏ߳̿ØÖƶà¸ö´®¿ÚµÄ¹¦ÄÜ¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼¡¡9¡9¡¡¡¡¡¡¡¡·¢ËÍ´°¿Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼¡¡9¡10¡¡¡¡¡¡¡¡½ÓÊÕ´°¿Ú¡¡¡¡
9¡£4¡¡¡¡¡¡¡¡±¾ÕÂС½á¡¡¡¡
¡¡¡¡¡¡¡¡¡¡±¾ÕÂÖ÷Òª½éÉÜ¡¡Windows¡¡²Ù×÷ϵͳ϶àÏ̵߳Ļù±¾¸ÅÄÈçºÎ´´½¨ºÍ¹ÜÀíỊ̈߳¬ÒÔ¼°Ï̡߳¡
µÄͬ²½ÎÊÌ⡣ͨ¹ý±¾ÕµĽéÉÜ£¬¶ÁÕß¿ÉÒÔ¿´³ö£¬¶àÏ̳߳ÌÐòÉè¼Æͨ³£±ÈÒ»°ãµÄµ¥Ï̳߳ÌÐò¸´¡¡
ÔÓ£¬ÔÚ³ÌÐòÉè¼Æ¹ý³ÌÖУ¬Ò»¶¨Òª¿¼ÂÇÇå³þ¸÷Ï̵߳ĹØϵ£¬±ÜÃâ³öÏÖËÀËø»ò²»Í¬²½µÄÏÖÏó¡£Áí¡¡
ÍâÐèҪעÒâÏÖÔÚ´ó¶àÊýÓû§Ê¹ÓõÄÊǵ¥¡¡CPU¡¡¼ÆËã»ú£¬ÔÚÕâÖÖ»úÆ÷ÉÏÔËÐжàÏ̳߳ÌÐò£¬ÓÐʱ·´¡¡
¶ø»á½µµÍϵͳµÄÐÔÄÜ¡¡¡£Òò´Ë£¬ÔÚÉè¼Æ¶àÏß³ÌÓ¦ÓóÌÐòʱ£¬Ó¦É÷ÖØÑ¡Ôñ£¬ÊÓ¾ßÌåÇé¿ö¼ÓÒÔ´¦Àí£¬¡¡
ʹӦÓóÌÐò»ñµÃ×î¼ÑµÄÐÔÄÜ¡£¡¡¡¡
¡¡¡¤250¡¡¡¤¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡262¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡10¡¡Õ¡¡¡¡¡¡¡¡¶¯Ì¬Á´½Ó¿â¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡10¡¡Õ¡¡¡¡¡¡¡¡¶¯Ì¬Á´½Ó¿â¡¡¡¡
¡¡¡¡¡¡¶¯Ì¬Á´½Ó¿â£¨Dynamic¡¡Link¡¡Library¡¡£©ÊÇÒ»¸ö¿ÉÖ´ÐÐÄ£¿é£¬Æä°üº¬µÄº¯Êý¿ÉÒÔÓÉ¡¡Windows¡¡
Ó¦ÓóÌÐòµ÷ÓÃÒÔÖ´ÐÐһЩ¹¦ÄÜ£¬Ö÷ҪΪӦÓóÌÐòÄ£¿éÌṩ·þÎñ¡£±¾Õ½«È«Ã桢ϵͳµØ²ûÊöÔÚ¡¡
Visual¡¡C£«£«Æ½Ì¨Ï½øÐС¡Win32¡¡¶¯Ì¬Á´½Ó¿âµÄÉè¼ÆºÍÓ¦Óá£Ö÷Òª°üÀ¨ÏÂÃ漸¸ö·½ÃæµÄÄÚÈÝ¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡¶¯Ì¬Á´½Ó¿â£¨DLL¡¡£©µÄ»ù±¾ÖªÊ¶¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡DLL¡¡µÄ³öÈë¿Úº¯Êý¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡µ÷Óá¡DLL¡¡ÖеÄÁ½ÖÖ·½Ê½¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡¿ª·¢¡¡DLL¡¡µÄ·½Ê½¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡DLL¡¡ÖÐ×ÊÔ´µÄÀûÓᣡ¡¡¡
¡¡¡¡¡¡o¡¡¡¡¹³×Ó£¨Hook¡¡£©º¯ÊýµÄÓ¦Ó÷½·¨¡£¡¡¡¡
¡¡¡¡¡¡ÎªÁËʹ¶ÁÕß³ä·ÖÀí½â¸ÅÄ¶ÔÓÚ¶¯Ì¬Á´½Ó¿âµÄ¿ª·¢£¬±¾ÕÂʹÓÃÁË¡°½çÃ溺»¯¡±µÄʾÀýÀ´¡¡
˵Ã÷×ÊÔ´ÔÚ¶¯Ì¬Á´½Ó¿âÖеÄʹÓá¡¡£¹³×Óº¯Êý¶ÔÓÚ´ó¶àÊý¶ÁÕßÀ´Ëµ¿ÉÄÜÊÇÒ»Ïî½ÏΪİÉúµÄ¼¼Êõ£¬¡¡
ΪÁ˼ÓÉîÀí½â£¬ÕâÀïÁоÙÁËÁ½¸ö¹ØÓÚ²¶»ñÏûÏ¢µÄ¹³×Óº¯ÊýʾÀý£¬¿ÉÒÔ°ïÖú¶ÁÕ߸üºÃµØÀí½â¹³¡¡
×Óº¯ÊýµÄÔÀíºÍʹÓ÷½·¨¡£¡¡¡¡
10¡£1¡¡¡¡¡¡¡¡¶¯Ì¬Á´½Ó¿âµÄ»ù´¡ÖªÊ¶¡¡¡¡
¡¡¡¡¡¡±È½Ï´óµÄÓ¦ÓóÌÐò¶¼ÊÇÓɺܶàÄ£¿é×é³ÉµÄ£¬ÕâЩģ¿é±Ë´ËÐ×÷£¬ÒÔÍê³ÉÕû¸öÈí¼þϵͳµÄ¡¡
¹¤×÷¡£ÆäÖпÉÄÜ´æÔÚһЩģ¿éµÄ¹¦ÄܽÏΪͨÓã¬ÔÚ¹¹ÔìÆäËûÈí¼þϵͳʱÈԻᱻʹÓá£ÔÚ¹¹Ôì¡¡
Èí¼þϵͳʱ£¬Èç¹û½«ËùÓÐÄ£¿éµÄÔ´´úÂ붼¾²Ì¬±àÒëµ½Õû¸öÓ¦ÓóÌÐò¡¡EXE¡¡ÎļþÖУ¬»á²úÉúһЩ¡¡
ÎÊÌâ¡£Ò»ÊÇÔö¼ÓÁËÓ¦ÓóÌÐòµÄ´óС£¬ÕâÑù»áÕ¼Óøü¶àµÄ´ÅÅ̿ռ䣬³ÌÐòÔËÐÐʱҲ»áÏûºÄ½Ï´ó¡¡
µÄÄÚ´æ¿Õ¼ä£¬Ôì³Éϵͳ×ÊÔ´µÄÀË·Ñ£»ÁíÍ⣬ÔÚ±àд´óµÄ¡¡EXE¡¡³ÌÐòʱ£¬Ã¿´ÎÐÞ¸ÄÖؽ¨Ê±¶¼±ØÐë¡¡
µ÷Õû±àÒëËùÓÐÔ´´úÂ룬²»µ«Ôö¼ÓÁ˱àÒë¹ý³ÌµÄ¸´ÔÓÐÔ£¬Ò²²»ÀûÓڽ׶ÎÐԵĵ¥Ôª²âÊÔ¡£¡¡¡¡
¡¡¡¡¡¡Windows¡¡ÏµÍ³Æ½Ì¨ÉÏÌṩÁËÒ»ÖÖÍêÈ«²»Í¬µÄÓÐЧ±à³ÌºÍÔËÐл·¾³£¬¿ÉÒÔ½«¶ÀÁ¢µÄ³ÌÐòÄ£¡¡
¿é´´½¨Îª½ÏСµÄ¶¯Ì¬Á´½Ó¿â£¨Dynamic¡¡¡¡Linkable¡¡¡¡Library¡¡£©Îļþ£¬²¢¿É¶ÔËüÃǵ¥¶À½øÐбàÒëºÍ¡¡
²âÊÔ¡£ÔÚÔËÐÐʱ£¬Ö»ÓÐÔÚ¡¡EXE¡¡³ÌÐòȷʵҪµ÷ÓÃÕâЩ¡¡DLL¡¡Ä£¿éµÄÇé¿öÏ£¬ÏµÍ³²Å»á½«ËüÃÇ×°¡¡
Ôص½ÄÚ´æ¿Õ¼äÖС£ÕâÖÖ·½Ê½²»½ö¼õÉÙÁË¡¡¡¡EXE¡¡¡¡¡¡¡¡¡¡ÎļþµÄ´óСºÍ¶ÔÄÚ´æ¿Õ¼äµÄÐèÇ󣬶øÇÒʹÕâЩ¡¡
DLL¡¡Ä£¿é¿ÉÒÔͬʱ±»¶à¸öÓ¦ÓóÌÐòʹÓ㬴Ӷø³ä·ÖÀûÓÃ×ÊÔ´¡£Microsoft¡¡Windows¡¡½«Ò»Ð©Ö÷Òª¡¡
µÄϵͳ¹¦ÄÜÒÔ¡¡DLL¡¡Ä£¿éµÄÐÎʽʵÏÖ¡¡¡£ÀýÈç¡¡IE¡¡ÖеÄһЩ»ù±¾¹¦ÄܾÍÊÇÓÉ¡¡DLL¡¡ÎļþʵÏֵģ¬Ëü¡¡
¿ÉÒÔ±»ÆäËûÓ¦ÓóÌÐòµ÷Óúͼ¯³É¡£Ò»°ãÀ´Ëµ£¬ÏÂÃæµÄÕ⼸ÖÖÇé¿ö±ØÐëÓõ½¶¯Ì¬Á´½Ó¿â¼¼Êõ¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡¶à¸öÓ¦ÓóÌÐò¹²Ïí´úÂëºÍÊý¾Ý¾ÍÊÇͨ¹ý¹²Ïí¶¯Ì¬Á´½Ó¿âʵÏֵģ¬±ÈÈç¡¡Office¡¡Èí¼þµÄ¸÷¡¡
¡¡¡¡¡¡¡¡¸ö×é³É²¿·ÖÓÐÏàËƵÄÍâ¹ÛºÍ¹¦ÄÜ¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡ÔÚ¹³×Ó³ÌÐò¹ýÂËϵͳÏûϢʱ±ØÐëʹÓö¯Ì¬Á´½Ó¿â¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡É豸Çý¶¯³ÌÐò±ØÐëÊǶ¯Ì¬Á´½Ó¿â¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡263¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
Visual¡¡C£«£«¡¡6¡£0¡¡³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡Èç¹ûÒªÔÚ¶Ô»°¿ò±à¼Æ÷ÖÐʹÓÃ×Ô¼º¶¨ÒåµÄ¿Ø¼þ£¬Ò²±ØÐëʹÓö¯Ì¬Á´½Ó¿â¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡¶¯Ì¬Á´½Ó¿âÒÔÒ»ÖÖ×ÔÈ»µÄ·½Ê½½«Ò»¸ö´óµÄÓ¦ÓóÌÐò»®·ÖΪ¼¸¸öСµÄÄ£¿é£¬ÓÐÀûÓÚС×é¡¡
¡¡¡¡¡¡¡¡¡¡ÄÚ²¿³ÉÔ±µÄ·Ö¹¤ÓëºÏ×÷¡£¶øÇÒ£¬¸÷¸öÄ£¿é¿ÉÒÔ¶ÀÁ¢Éý¼¶¡£Èç¹ûС×éÖеÄÒ»¸ö³ÉÔ±¿ª·¢¡¡
¡¡¡¡¡¡¡¡ÁËÒ»×éʵÓÃʾÀý£¬Ëû¾Í¿ÉÒÔ°ÑÕâЩʾÀý·ÅÔÚÒ»¸ö¶¯Ì¬Á´½Ó¿âÖУ¬ÈÃС×éµÄÆäËû³ÉԱʹ¡¡
¡¡¡¡¡¡¡¡Óᣡ¡¡¡
¡¡¡¡¡¡o¡¡¡¡ÎªÁËʵÏÖÓ¦ÓóÌÐòµÄ¹ú¼Ê»¯£¬ÍùÍùÐèҪʹÓö¯Ì¬Á´½Ó¿â¡£Ê¹Óö¯Ì¬Á´½Ó¿â¿ÉÒÔ½«Õë¶Ô¡¡
¡¡¡¡¡¡¡¡Ä³Ò»¹ú¼Ò¡¢ÓïÑÔµÄÐÅÏ¢´æ·ÅÔÚÆäÖС£¶ÔÓÚ²»Í¬µÄ°æ±¾£¬Ê¹Óò»Í¬µÄ¶¯Ì¬Á´½Ó¿â¡£ÔÚʹ¡¡
¡¡¡¡¡¡¡¡Óá¡AppWizard¡¡Éú³ÉÓ¦ÓóÌÐòʱ£¬¿ÉÒÔÖ¸¶¨×ÊÔ´ÎļþʹÓõÄÓïÑÔ£¬Õâ¾ÍÊÇͨ¹ýÌṩ²»Í¬¡¡
¡¡¡¡¡¡¡¡µÄ¶¯Ì¬Á´½Ó¿âʵÏֵġ£¡¡¡¡
¡¡¡¡¡¡Ò»°ãÀ´Ëµ£¬DLL¡¡ÊÇÒ»ÖÖ´ÅÅÌÎļþ£¨Í¨³£´øÓС¡DLL¡¡À©Õ¹Ãû£©£¬ËüÓÉÈ«¾ÖÊý¾Ý¡¢·þÎñº¯ÊýºÍ¡¡
×ÊÔ´×é³É£¬ÔÚÔËÐÐʱ±»ÏµÍ³¼ÓÔص½½ø³ÌµÄÐéÄâ¿Õ¼äÖУ¬³ÉΪµ÷Óýø³ÌµÄÒ»²¿·Ö¡£Èç¹ûÓëÆäËû¡¡
DLL¡¡Ö®¼äûÓгåÍ»£¬¸ÃÎļþͨ³£Ó³Éäµ½½ø³ÌÐéÄâ¿Õ¼äµÄͬһµØÖ·ÉÏ¡£DLL¡¡Ä£¿éÖаüº¬¸÷ÖÖµ¼¡¡
³öº¯Êý£¬ÓÃÓÚÏòÍâ½çÌṩ·þÎñ¡£Windows¡¡ÔÚ¼ÓÔØ¡¡DLL¡¡Ä£¿éʱ½«½ø³Ìº¯Êýµ÷ÓÃÓë¡¡DLL¡¡ÎļþµÄ¡¡
µ¼³öº¯ÊýÏàÆ¥Åä¡£¡¡¡¡
¡¡¡¡¡¡ÔÚ¡¡Win32¡¡»·¾³ÖУ¬Ã¿¸ö½ø³Ì¶¼¸´ÖÆÁË×Ô¼ºµÄ¶Áдȫ¾Ö±äÁ¿¡¡¡£Èç¹ûÏëÒªÓëÆäËû½ø³Ì¹²ÏíÄÚ¡¡
´æ£¬±ØÐëʹÓÃÄÚ´æÓ³ÉäÎļþ»òÕßÉùÃ÷Ò»¸ö¹²ÏíÊý¾Ý¶Î¡£DLL¡¡Ä£¿éÐèÒªµÄ¶ÑÕ»Äڴ涼ÊÇ´ÓÔËÐС¡
½ø³ÌµÄ¶ÑÕ»ÖзÖÅä³öÀ´µÄ¡£DLL¡¡ÏÖÔÚÔ½À´Ô½ÈÝÒ×±àд¡£Win32¡¡¡¡ÒѾ´ó´ó¼ò»¯ÁËÆä±à³Ìģʽ£¬¡¡
²¢ÓÐÐí¶àÀ´×Ô¡¡AppWizard¡¡ºÍ¡¡MFC¡¡Àà¿âµÄÖ§³Ö¡£Ê¹Óá¡Visual¡¡C£«£«¡¡6¡£0¡¡¹¤¾ß¿ÉÒÔ±àд¡¡3¡¡ÖÖ²»Í¬Àà¡¡
Ð͵Ķ¯Ì¬Á´½Ó¿â¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡Non¡MFC¡¡DLL¡¡£ºÖ¸µÄÊDz»Óá¡MFC¡¡µÄÀà¿â½á¹¹£¬Ö±½ÓÓá¡C¡¡ÓïÑÔ±àдµÄ¡¡DLL¡¡£¬ÆäÊä³öµÄ¡¡
¡¡¡¡¡¡¡¡º¯ÊýÒ»°ãÓõÄÊDZê×¼¡¡C¡¡½Ó¿Ú£¬²¢Äܱ»·Ç¡¡MFC¡¡»ò¡¡MFC¡¡±àдµÄÓ¦ÓóÌÐòËùµ÷Óᣡ¡¡¡
¡¡¡¡¡¡o¡¡¡¡Regular¡¡DLL¡¡£ººÍÏÂÊöµÄ¡¡Extension¡¡Dlls¡¡Ò»Ñù£¬ÊÇÓá¡MFC¡¡Àà¿â±àдµÄ¡£ÆäÌصãÊÇÔÚÔ´ÎÄ¡¡
¡¡¡¡¡¡¡¡¼þÀïÓÐÒ»¸ö¼Ì³Ð¡¡CWinApp¡¡¡¡µÄÀà¡£ÆäÓÖ¿Éϸ·Ö³É¾²Ì¬Á¬½Óµ½¡¡MFC¡¡ºÍ¶¯Ì¬Á¬½Óµ½¡¡MFC¡¡
¡¡¡¡¡¡¡¡Éϵġ£µ«¾²Ì¬Á¬½Óµ½¡¡MFC¡¡µÄ¶¯Ì¬Á´½Ó¿âÖ»±»¡¡Visual¡¡C£«£«¡¡µÄרҵ°æºÍÆóÒµ°æËùÖ§³Ö¡£¡¡¡¡
¡¡¡¡¡¡o¡¡¡¡Extension¡¡¡¡DLL¡¡£ºÓÃÀ´ÊµÏÖ´Ó¡¡MFC¡¡Ëù¼Ì³ÐÏÂÀ´µÄÀàµÄÖØÐÂÀûÓã¬Ò²¾ÍÊÇ˵£¬ÓÃÕâÖÖÀà¡¡
¡¡¡¡¡¡¡¡Ð͵Ķ¯Ì¬Á´½Ó¿â£¬¿ÉÒÔÓÃÀ´Êä³öÒ»¸ö´Ó¡¡¡¡MFC¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ëù¼Ì³ÐÏÂÀ´µÄÀà¡£Extension¡¡¡¡DLL¡¡Ê¹Óá¡
¡¡¡¡¡¡¡¡MFC¡¡µÄ¶¯Ì¬Á¬½Ó°æ±¾Ëù´´½¨µÄ£¬²¢ÇÒËüÖ»±»Óá¡MFC¡¡Àà¿âËù±àдµÄÓ¦ÓóÌÐòËùµ÷Óᣡ¡¡¡
10¡£2¡¡¡¡¡¡¡¡DLL¡¡µÄ³öÈë¿Úº¯Êý¡¡¡¡
¡¡¡¡¡¡DllMain£¨£©¡¡º¯ÊýÊÇ¡¡DLL¡¡Ä£¿éµÄĬÈÏÈë¿Úµã¡£µ±¡¡Windows¡¡¼ÓÔØ¡¡DLL¡¡Ä£¿éʱµ÷ÓÃÕâÒ»º¯Êý¡£¡¡
ϵͳÊ×Ïȵ÷ÓÃÈ«¾Ö¶ÔÏóµÄ¹¹Ô캯Êý£¬È»ºóµ÷ÓÃÈ«¾Öº¯Êý¡¡¡¡DllMain£¨£©¡¡¡£DllMain£¨£©¡¡º¯Êý²»½öÔÚ½«¡¡
DLL¡¡Á´½Ó¼ÓÔص½½ø³Ìʱ±»µ÷Óã¬ÔÚ¡¡DLL¡¡Ä£¿éÓë½ø³Ì·ÖÀëʱ£¨ÒÔ¼°ÆäËûʱºò£©Ò²±»µ÷Óᣡ¡¡¡
¡¡¡¡¡¡DLL¡¡ÎļþÖаüº¬Ò»¸öµ¼³öº¯Êý±í¡¡¡£ÕâЩµ¼³öº¯ÊýÓÉËüÃǵķûºÅÃûºÍ³ÆΪ±êʶºÅµÄÕûÊýÓë¡¡
Íâ½çÁªÏµÆðÀ´¡£º¯Êý±íÖл¹°üº¬ÁË¡¡DLL¡¡¡¡Öк¯ÊýµÄµØÖ·¡£µ±Ó¦ÓóÌÐò¼ÓÔØ¡¡DLL¡¡Ä£¿éʱ£¬Ëü²¢¡¡
²»ÖªµÀµ÷Óú¯ÊýµÄʵ¼ÊµØÖ·£¬µ«ËüÖªµÀº¯ÊýµÄ·ûºÅÃûºÍ±êʶºÅ¡£¶¯Ì¬Á´½Ó¹ý³ÌÔÚ¼ÓÔØ¡¡¡¡DLL¡¡
Ä£¿éʱ¶¯Ì¬½¨Á¢Ò»¸öº¯Êýµ÷ÓÃÓ뺯ÊýµØÖ·µÄ¶ÔÓ¦±í¡¡¡£Èç¹ûÖØбàÒëºÍÖؽ¨¡¡DLL¡¡Îļþ£¬²¢²»Ðè¡¡
ÒªÐÞ¸ÄÓ¦ÓóÌÐò£¬³ý·Ç¸Ä±äÁ˵¼³öº¯ÊýµÄ·ûºÅÃûºÍ²ÎÊýÐòÁС£¡¡¡¡
¡¡¡¡¡¡¼òµ¥µÄ¡¡DLL¡¡ÎļþֻΪӦÓóÌÐòÌṩµ¼³öº¯Êý£¬±È½Ï¸´Ôӵġ¡DLL¡¡Îļþ³ýÁËÌṩµ¼³öº¯Êý¡¡
¡¤252¡¡¡¤¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡264¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡10¡¡Õ¡¡¡¡¡¡¡¡¶¯Ì¬Á´½Ó¿â¡¡¡¡
ÒÔÍ⣬»¹µ÷ÓÃÆäËû¡¡DLL¡¡ÎļþÖеĺ¯Êý¡£ÕâÑù£¬Ò»¸öÌØÊâµÄ¡¡DLL¡¡¼ÈÓе¼È뺯Êý£¬ÓÖÓе¼³öº¯¡¡
Êý¡£Õâ²¢²»ÊÇÒ»¸öÎÊÌ⣬ÒòΪ¶¯Ì¬Á´½Ó¹ý³Ì¿ÉÒÔ´¦Àí½»²æÏà¹ØµÄÇé¿ö¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡ÔÚ¡¡DLL¡¡´úÂëÖУ¬ÉùÃ÷µ¼³öº¯ÊýµÄ´úÂëÈçÏ£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡__declspec£¨dllexport£©¡¡int¡¡MyFunction£¨int¡¡n£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡µ«Ò²¿ÉÒÔÔÚÄ£¿é¶¨Ò壨DEF£©ÎļþÖÐÁгöµ¼³öº¯Êý£¬²»¹ýÕâÑù×ö³£³£ÒýÆð¸ü¶àµÄÂé·³¡£ÔÚ¡¡
Ó¦ÓóÌÐò·½Ã棬ÉùÃ÷ÏàÓ¦µÄÊäÈ뺯Êý£¬´úÂëÈçÏ£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡__declspec£¨dllimport£©¡¡int¡¡MyFuncition£¨int¡¡n£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡½öÓе¼ÈëºÍµ¼³öÉùÃ÷²¢²»ÄÜʹӦÓóÌÐòÄÚ²¿µÄº¯Êýµ÷ÓÃÁ´½Óµ½ÏàÓ¦µÄ¡¡DLL¡¡ÎļþÉÏ¡£Ó¦Óá¡
³ÌÐòµÄÏîÄ¿±ØÐëΪÁ´½Ó³ÌÐòÖ¸¶¨ËùÐèµÄÊäÈë¿â£¨LIB¡¡Îļþ£©¡£¶øÇÒÓ¦ÓóÌÐòÊÂʵÉϱØÐëÖÁÉÙ°ü¡¡
º¬Ò»¸ö¶Ô¡¡DLL¡¡º¯ÊýµÄµ÷Óᣱ¾½Ú½«¶Ô¡¡DLL¡¡µÄ¡¡DllMain£¨£©Èë¿Úº¯ÊýºÍµ¼³öº¯Êý×÷Ïà¹ØµÄ½éÉÜ¡£¡¡¡¡
10¡£2¡£1¡¡¡¡¡¡¡¡DllMain£¨£©º¯Êý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡Ã¿Ò»¸ö¡¡DLL¡¡±ØÐëÓÐÒ»¸öÈë¿Úµã£¬Õâ¾ÍÏóÓá¡C¡¡±àдµÄÓ¦ÓóÌÐòÒ»Ñù£¬±ØÐëÓÐÒ»¸ö¡¡WinMain¡¡
º¯ÊýÒ»Ñù¡£ÔÚ¡¡Non¡MFC¡¡¡¡DLL¡¡¡¡ÖС¡DllMain£¨£©ÊÇÒ»¸öĬÈϵÄÈë¿Úº¯Êý£¬²»ÐèÒª±àд×Ô¼ºµÄ¡¡DLL¡¡
Èë¿Úº¯Êý£¬ÓÃÕâ¸öĬÈϵÄÈë¿Úº¯Êý¾ÍÄÜʹ¶¯Ì¬Á´½Ó¿âÔÚ±»µ÷ÓÃʱ³õʼ»¯¡£Èç¹ûÓ¦ÓóÌÐòµÄ¡¡
DLL¡¡ÐèÒª·ÖÅä¶îÍâµÄÄÚ´æ»ò×ÊÔ´£¬¼´¶Ôÿ¸ö½ø³Ì»òÏ̳߳õʼ»¯ºÍÇå³ý²Ù×÷ʱ£¬¾ÍÐèÒªÔÚÏàÓ¦¡¡
µÄ¡¡DLL¡¡¹¤³ÌµÄ¡¡CPP¡¡ÎļþÖжԡ¡DllMain£¨£©¡¡º¯Êý°´ÕÕÏÂÃæµÄ¸ñʽÊéд£¬´úÂëÈçÏ£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡BOOL¡¡APIENTRY¡¡DllMain£¨HANDLE¡¡hModule£»DWORD¡¡ul_reason_for_call£»LPVOID¡¡lpReserved£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡switch£¨¡¡ul_reason_for_call¡¡£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡DLL_PROCESS_ATTACH£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡£¡£¡£¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡DLL_THREAD_ATTACH£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡£¡£¡£¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡DLL_THREAD_DETACH£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡£¡£¡£¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡DLL_PROCESS_DETACH£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡£¡£¡£¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡TRUE£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡×¢Ò⣺º¯ÊýÃû¡¡DllMain¡¡ÊÇÇø·Ö´óСдµÄ¡£Ðí¶à±à³ÌÈËÔ±ÓÐʱµ÷Óõĺ¯ÊýÊÇ¡¡DLLMain¡¡¡£ÕâÊÇÒ»¸ö·Ç¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡³£ÈÝÒ×·¸µÄ´íÎó£¬ÒòΪ¡¡¡¡DLL¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Õâ¸ö´Ê³£³£Ê¹ÓôóдÀ´±íʾ¡£Èç¹ûµ÷ÓõĽøÈëµãº¯Êý²»ÊÇ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DllMain¡¡£¬¶øÊDZðµÄº¯Êý£¬´úÂ뽫Äܹ»±àÒëºÍÁ´½Ó£¬µ«ÊÇÆä½øÈëµãº¯ÊýÓÀÔ¶²»»á±»µ÷Ó㬡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DLL¡¡ÓÀÔ¶²»»á±»³õʼ»¯¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡²ÎÊý¡¡hinstDll¡¡°üº¬ÁË¡¡DLL¡¡¡¡µÄʵÀý¾ä±ú¡£Ó루w£©WinMain¡¡º¯ÊýµÄ¡¡hinstExe¡¡²ÎÊýÒ»Ñù£¬Õâ¸ö¡¡
ÖµÓÃÓÚ±êʶ¡¡DLL¡¡µÄÎļþÓ³Ïñ±»Ó³Éäµ½½ø³ÌµÄµØÖ·¿Õ¼äÖеÄÐéÄâÄÚ´æµØÖ·¡£Í¨³£½«Õâ¸ö²ÎÊý±£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤253¡¡¡¤¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡265¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
Visual¡¡C£«£«¡¡6¡£0¡¡³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡¡¡¡
´æÔÚÒ»¸öÈ«¾Ö±äÁ¿ÖУ¬ÕâÑù¾Í¿ÉÒÔÔÚµ÷ÓüÓÔØ×ÊÔ´º¯Êý£¨Èç¡¡DialogBox¡¡¡¡ºÍ¡¡LoadString¡¡£©Ê±Ê¹¡¡
ÓÃËü¡£×îºóÒ»¸ö²ÎÊýÊÇ¡¡fImpLoad£¬Èç¹û¡¡DLL¡¡ÊÇÒþº¬¼ÓÔصģ¬ÄÇô¸Ã²ÎÊý½«ÊǸö·Ç¡¡0¡¡Öµ£¬Èç¡¡
¹û¡¡DLL¡¡ÊÇÏÔʽ¼ÓÔصģ¬ÄÇôËüµÄÖµÊÇ¡¡0¡¡¡£¡¡¡¡
¡¡¡¡¡¡²Î¡¡Êý¡¡¡¡¡¡fdwReason¡¡Óá¡ÓÚ¡¡Ö¸¡¡Ã÷¡¡Ïµ¡¡Í³¡¡Îª¡¡Ê²¡¡Ã´¡¡µ÷¡¡Óᡸ᡺¯¡¡Êý¡¡¡£¡¡¸Ã¡¡²Î¡¡Êý¡¡¿É¡¡ÒÔ¡¡Ê¹¡¡Óá¡
DLL_PROCESS_ATTACH¡¡¡¡£¨¡¡½ø¡¡³Ì¡¡±»¡¡µ÷¡¡Óá¡£©¡¢DLL_THREAD_ATTACH¡¡¡¡£¨¡¡Ïß¡¡³Ì¡¡±»¡¡µ÷¡¡Óá¡£©¡¢¡¡
DLL_PROCESS_DETACH¡¡¡¡£¨½ø³Ì±»Í£Ö¹£©¡¢DLL_THREAD_DETACH¡¡¡¡£¨Ï̱߳»Í£Ö¹£©4¡¡¸öÖµµÄ¡¡
ÆäÖÐÖ®Ò»£¬lpReserved¡¡Îª±£Áô²ÎÊý¡£ÏÂÃæ¾Í¾ßÌå½éÉÜÕâ¡¡4¡¡¸öÖµµÄÒâÒå¡£¡¡¡¡
¡¡¡¡¡¡¡¡1£®DLL_PROCESS_ATTACH¡¡Í¨Öª¡¡¡¡
¡¡¡¡¡¡¡¡µ±¡¡DLL¡¡±»³õ´ÎÓ³Éäµ½½ø³ÌµÄµØÖ·¿Õ¼äÖÐʱ£¬ÏµÍ³½«µ÷Óøá¡DLL¡¡µÄ¡¡DllMain£¨£©¡¡º¯Êý£¬¸øËü¡¡
´«µÝ²ÎÊý¡¡fdwReason¡¡µÄÖµ¡¡DLL_PROCESS_ATTACH¡¡¡£Ö»Óе±¡¡DLL¡¡µÄÎļþÓ³Ïñ³õ´Î±»Ó³Éäʱ£¬¡¡
²Å¡¡»á¡¡³öÏÖ¡¡ÕâÖÖ¡¡Çé¡¡¿ö¡£¡¡Èç¹û¡¡Ïß¡¡³ÌÔÚ¡¡ºóÀ´¡¡Îª¡¡ÒѾ¡¡Ó³Éä¡¡µ½¡¡½ø³Ì¡¡µÄµØ¡¡Ö·¡¡¿Õ¼ä¡¡Öеġ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DLL¡¡µ÷Óá¡
LoadLibrary£¨Ex£©¡¡º¯¡¡Êý¡¡£¬¡¡ÄÇ¡¡Ã´¡¡²Ù¡¡×÷¡¡Ïµ¡¡Í³¡¡Ö»¡¡ÊÇ¡¡µÝ¡¡Ôö¡¡DLL¡¡µÄ¡¡Ê¹¡¡Ó᡼ơ¡Êý¡¡£¬¡¡Ëü¡¡²»¡¡»á¡¡ÔÙ¡¡´Î¡¡Óá¡
DLL_PROCESS_ATTACH¡¡µÄÖµÀ´µ÷Óá¡DLL¡¡µÄ¡¡DllMain£¨£©¡¡º¯Êý¡£¡¡¡¡
¡¡¡¡¡¡¡¡µ±´¦Àí¡¡DLL_PROCESS_ATTACH¡¡Ê±£¬DLL¡¡Ó¦¸ÃÖ´ÐС¡DLL¡¡Öеĺ¯ÊýÒªÇóµÄÈκÎÓë½ø³ÌÏà¡¡
¹ØµÄ³õʼ»¯¡£ÀýÈ磬DLL¡¡¿ÉÄÜ°üº¬ÐèҪʹÓÃËüÃÇ×Ô¼ºµÄ¶ÑÕ»£¨ÔÚ½ø³ÌµÄµØÖ·¿Õ¼äÖд´½¨¡¡£©µÄ¡¡
º¯Êý¡£Í
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾Ñé½±Àø£¬ÈÏÕæдԴ´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾Ñé½±ÀøŶ£¡