¡¡¡¡ProcessViewÊÇÒ»¿î¹¦ÄÜÆëÈ«£¬¼òÒ×ÊÊÓõĽø³Ì±éÀúרÓù¤¾ß£¬¿ÉÒÔÔÚ½ø³ÌÁбíƵµÀÉϲ鿴½ø³ÌÄ£¿é£¬½ø³Ì½ø³Ì£¬½ø³Ì¶Ô»°¿òµÈÐÅÏ¢£¬²éѯ½ø³ÌºÍ½ø³ÌµÄID£¬»ùÖ·ºÍ³ß´çµÈÐÂÏîÄ¿£¬Èí¼þÓ¦ÓÃC ±à¼Èí¼þ×ÔÈ»»·¾³¿ªÕ¹µ¼½ø±àд¾Í¿ÉÒÔ¡£
¡¾²é¿´½ø³ÌÄ£¿éÔ´´úÂë¡¿
¡¡¡¡//±éÀúÄ£¿éÐÅÏ¢£¬¼ÓÉϵ½Áбí
¡¡¡¡void CMyModuleInfoDlg::GetModuleInfo()
¡¡¡¡{
¡¡¡¡//ÅĽø³Ì¿ìÕÕ
¡¡¡¡HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, m_ProcessId);
¡¡¡¡//»ñµÃ¿ìÕÕ²»³É¹¦£¬Á¢¼´»Øµ½
¡¡¡¡if (INVALID_HANDLE_VALUE == hSnapshot)
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡MODULEENTRY32 me32 = { 0 };
¡¡¡¡me32.dwSize = sizeof(MODULEENTRY32);
¡¡¡¡//±éÀú½ø³Ì
¡¡¡¡if (Module32First(hSnapshot, amp;me32))
¡¡¡¡{
¡¡¡¡int nRow = 0;
¡¡¡¡CString strFmt;
¡¡¡¡do
¡¡¡¡{
¡¡¡¡//½«Ä£¿é;¾¶Ìí¼ÓÁбí
¡¡¡¡m_ListCtrl.InsertItem(nRow, me32.szExePath);
¡¡¡¡//½«Ä£¿é»ùÏêϸµØÖ·Ìí¼ÓÁбí
¡¡¡¡strFmt.Format(_T("0x6X"), me32.modBaseAddr);
¡¡¡¡m_ListCtrl.SetItemText(nRow, 1, strFmt);
¡¡¡¡//½«Ä£¿é³ß´çÌí¼ÓÁбí
¡¡¡¡strFmt.Format(_T("0x6X"), me32.modBaseSize);
¡¡¡¡m_ListCtrl.SetItemText(nRow, 2, strFmt);
¡¡¡¡nRow ;
¡¡¡¡} while (Module32Next(hSnapshot, amp;me32));
¡¡¡¡}
¡¡¡¡//¹Øµô·µ»ØÖµ
¡¡¡¡CloseHandle(hSnapshot);
¡¡¡¡Ñ§Ï°ÅàѵWIN32³ÌÐò±àдµÄÇé¿öÏ£¬¸ÉÁËÒ»¸ö½ø³Ì±éÀúרÓù¤¾ß£¬ProcessViewÊÊÓÃdll×¢Èë
¶àÌØÊÖÓÎרÌâΪÄúÌṩÌÚѶÊÖ»úÓÎÏ·´óÈ«Áбí,ÌÚѶÓÎÏ·ÊÖÓδóÈ«¡£°²×¿Æ»¹û°æÒ»Ó¦¾ãÈ«,ÕÒ¾µäÊÖÓξÍÀ´¶àÌØÊÖ»úÓÎϷƵµÀÏÂÔØ!
¶àÌØÊÖÓÎרÌâΪÄúÌṩÌÚѶÊÖÓδóÈ«Áбí,ÌÚѶÊÖ»ú¿¨ÅÆÓÎÏ·´óÈ«ÁÐ±í¡£°²×¿Æ»¹û°æÒ»Ó¦¾ãÈ«,ÕÒ¾µäÊÖÓξÍÀ´¶àÌØÊÖ»úÓÎϷƵµÀÏÂÔØ!
¶àÌØÊÖÓÎרÌâΪÄúÌṩps3ÓÎÏ·Áбí,ps33dÓÎÏ·ÁÐ±í¡£°²×¿Æ»¹û°æÒ»Ó¦¾ãÈ«,ÕÒ¾µäÊÖÓξÍÀ´¶àÌØÊÖ»úÓÎϷƵµÀÏÂÔØ!
ÓÐʱÎÞ·¨¹Ø±ÕWindowsÈÎÎñ¹ÜÀíÆ÷£¬ÓÒ¼üµ¥»÷ÎÞ·¨¹Ø±ÕijЩ³ÌÐò¡£ÓÐЩ³ÌÐòÔËÐкóÔÚÈÎÎñÀ¸ÖÐÕÒ²»µ½´°¿Ú¡£´Ëʱ£¬ÎÒÃÇÐèҪʹÓÃÁ÷³Ì¹ÜÀíÆ÷Èí¼þÀ´°ïÖú¹Ø±ÕÕâЩ³ÌÐò¡£±à¼ËÑË÷ÁËһЩÁ÷³Ì¹ÜÀíÈí¼þ£¬ÔÚÐèҪʱºÜ¿ì¾ÍÀ´ÁË¡£ÄÃ×ÅËü£¡¶àÌØÈí¼þרÌâΪÄúÌṩ½ø³Ì¹ÜÀíÈí¼þ,¹ÜÀíÈí¼þ,µçÄÔ½ø³Ì¹ÜÀíÈí¼þÓÐÄÄЩ¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«Èí¼þÏÂÔØ¡£
¶àÌØÈí¼þרÌâΪÄúÌṩ½ø³ÌÒþ²Ø¹¤¾ß,½ø³ÌÒþ²Ø¹¤¾ß°²×¿°æ,win7½ø³ÌÒþ²Ø¹¤¾ß;°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«¹¤¾ßÏÂÔØ