| 62 | END_MESSAGE_MAP( ) |
| 63 | |
| 64 | void CDialogModules::BuildList( ) |
| 65 | { |
| 66 | for (UINT idx = 0; idx < g_MemMapModules.size( ); idx++) |
| 67 | { |
| 68 | MemMapInfo moduleInfo = g_MemMapModules[idx]; |
| 69 | |
| 70 | SHFILEINFO sfi = { 0 }; |
| 71 | SHGetFileInfo( moduleInfo.Path, FILE_ATTRIBUTE_NORMAL, &sfi, sizeof( SHFILEINFO ), SHGFI_ICON | SHGFI_USEFILEATTRIBUTES ); |
| 72 | m_ModuleIcons.Add( sfi.hIcon ); |
| 73 | |
| 74 | CString uppercase_name = CString( moduleInfo.Name ).MakeUpper( ); |
| 75 | if (m_Filter.GetLength( ) != 0 && uppercase_name.Find( m_Filter.MakeUpper( ) ) == -1) |
| 76 | continue; |
| 77 | |
| 78 | TCHAR strStart[64] = { 0 }; |
| 79 | _stprintf_s( strStart, _T( "0x%IX" ), moduleInfo.Start ); |
| 80 | TCHAR strEnd[64] = { 0 }; |
| 81 | _stprintf_s( strEnd, _T( "0x%IX" ), moduleInfo.End ); |
| 82 | TCHAR strSize[64] = { 0 }; |
| 83 | _stprintf_s( strSize, _T( "0x%X" ), moduleInfo.Size ); |
| 84 | |
| 85 | AddData( |
| 86 | idx, |
| 87 | moduleInfo.Name.GetString( ), |
| 88 | moduleInfo.Path.GetString( ), |
| 89 | const_cast<LPCTSTR>(strStart), |
| 90 | const_cast<LPCTSTR>(strEnd), |
| 91 | const_cast<LPCTSTR>(strSize), |
| 92 | static_cast<LPARAM>(moduleInfo.Start) |
| 93 | ); |
| 94 | } |
| 95 | } |
| 96 | |
| 97 | BOOL CDialogModules::OnInitDialog( ) |
| 98 | { |