一個遍歷文件夾內容,顯示文件名,大小等信息的MFC程序

//初始化程序

CDialog::OnInitDialog();
    CListCtrl *pList=(CListCtrl*)GetDlgItem(IDC_LIST);
	
	pList->InsertColumn(0,"文件名",2,100);
    pList->InsertColumn(1,"大小",2,100);
	pList->InsertColumn(2,"修改時間",2,100);
	pList->InsertColumn(3,"文件夾類型",2,100);

//消息函數

void CEX421Dlg::OnOK() 
{
	// TODO: Add extra validation here
	CListCtrl *pList=(CListCtrl*)GetDlgItem(IDC_LIST);
	int nCount=pList->GetItemCount();

	CString file_d;
	GetDlgItemText(IDC_EDIT,file_d);
    //AfxMessageBox(file_d);
   
	WIN32_FIND_DATA InforFile;

	HANDLE handle=FindFirstFile(file_d,&InforFile);

	if(handle==INVALID_HANDLE_VALUE)
		AfxMessageBox("文件路徑下無文件");

	while(FindNextFile(handle,&InforFile))
	{
       pList->InsertItem(nCount,InforFile.cFileName);//申請一行

	   DWORD highWei=InforFile.nFileSizeHigh;
	   DWORD lowWei=InforFile.nFileSizeLow;

	   CString file_size;
	   file_size.Format("%d%d",lowWei,highWei);//將數字轉化成字符也可以用intoa函數
	   
	   pList->SetItemText(nCount,1,file_size);

	   CTime t=CTime(InforFile.ftLastWriteTime);
	   time_t t1=t.GetTime();
	   CString file_time=ctime(&t1);
       pList->SetItemText(nCount,2,file_time);

	   CString file_attrib;
	   file_attrib.Format("%d",InforFile.dwFileAttributes);

	   pList->SetItemText(nCount,3,file_attrib);
	}
    FindClose(handle);
	//CDialog::OnOK();
}
//運行結果


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章