| 52 | |
| 53 | |
| 54 | void CDialogModules::BuildList() |
| 55 | { |
| 56 | for (UINT i = 0; i < MemMapModule.size(); i++) |
| 57 | { |
| 58 | MemMapInfo moduleInfo = MemMapModule[i]; |
| 59 | |
| 60 | SHFILEINFO sfi = { 0 }; |
| 61 | SHGetFileInfo(MemMapModule[i].Path, FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(SHFILEINFO), SHGFI_ICON | SHGFI_USEFILEATTRIBUTES); |
| 62 | m_ImageList.Add(sfi.hIcon); |
| 63 | |
| 64 | CString name = moduleInfo.Name, upercase_name = CString(moduleInfo.Name).MakeUpper(); |
| 65 | if ( m_Filter.GetLength( ) != 0 && upercase_name.Find( m_Filter.MakeUpper( ) ) == -1 ) |
| 66 | continue; |
| 67 | |
| 68 | TCHAR strStart[64]; |
| 69 | _stprintf(strStart, _T("0x%IX"), moduleInfo.Start); |
| 70 | TCHAR strEnd[64]; |
| 71 | _stprintf(strEnd, _T("0x%IX"), moduleInfo.End); |
| 72 | TCHAR strSize[64]; |
| 73 | _stprintf(strSize, _T("0x%X"), moduleInfo.Size); |
| 74 | |
| 75 | AddData(i, (LPTSTR)name.GetString(), strStart, strEnd, strSize, static_cast<LPARAM>(moduleInfo.Start)); |
| 76 | } |
| 77 | } |
| 78 | |
| 79 | BOOL CDialogModules::OnInitDialog() |
| 80 | { |