Whoops, sorry - I've had a long day and brain is frazzled! Doing it this way you don't need to allocate memory as that would cause a memory leak! You just need lvi.pszText = data2.cFileName. My FindNextFile line somehow got corrupted when copied. The code should be
Code:void CThisDlg::OnOK() { int iNum = 0; HANDLE hFind; WIN32_FIND_DATA data2; LV_ITEM lvi; lvi.mask = LVIF_TEXT; lvi.iSubItem = 0; hFind = FindFirstFile("*.*", &data2); while (hFind != INVALID_HANDLE_VALUE) { if (data2.dwFileAttributes == FILE_ATTRIBUTE_ARCHIVE) { lvi.iItem = iNum++; lvi.pszText = data2.cFileName; m_list.InsertItem(&lvi); } if (!FindNextFile(hFind, &data2)) hFind = INVALID_HANDLE_VALUE; } }




Reply With Quote