最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VC實現(xiàn)批量刪除指定文件的方法

 更新時間:2014年07月26日 09:39:45   投稿:shichen2014  
這篇文章主要介紹了VC實現(xiàn)批量刪除指定文件的方法,是一個比較普遍且實用的功能,需要的朋友可以參考下

本文所述實例主要實現(xiàn)了刪除某個盤符下指定位置的文件,可以是TXT、doc、jpeg等格式,只要選定格式后,再定義好盤符,即可一鍵刪除所有指定類型的文件。再次提示刪除前請確認,且刪除后不可恢復。
以下是最主要的核心代碼,其它代碼讀者可以自己添加。

SHFILEINFO shInfo;
memset(&shInfo,0,sizeof(SHFILEINFO));
HIMAGELIST hImage = (HIMAGELIST)SHGetFileInfo("C:\\",0,&shInfo, sizeof( SHFILEINFO ),
 SHGFI_SYSICONINDEX | SHGFI_SMALLICON );
m_ImageList.Attach(hImage); 
m_ComboEx.SetImageList(&m_ImageList);
m_ComboEx.ResetContent();
char pchDrives[128] = {0};
char* pchDrive;
GetLogicalDriveStrings(sizeof(pchDrives), pchDrives); //列舉盤符
pchDrive = pchDrives;
int nItem = 0;
while(*pchDrive)
{
 COMBOBOXEXITEM   cbi;
 CString      csText;
 cbi.mask = CBEIF_IMAGE|CBEIF_INDENT|CBEIF_OVERLAY|
   CBEIF_SELECTEDIMAGE|CBEIF_TEXT;
 SHFILEINFO shInfo; //定義文件信息
 int nIcon;
 SHGetFileInfo(pchDrive, 0, &shInfo, sizeof(shInfo),
  SHGFI_ICON|SHGFI_SMALLICON); //獲取系統(tǒng)文件圖標
 nIcon = shInfo.iIcon;
 //設置COMBOBOXEXITEM結構
 cbi.iItem  = nItem;
 cbi.pszText  = pchDrive;
 cbi.cchTextMax = strlen(pchDrive);
 cbi.iImage  = nIcon;
 cbi.iSelectedImage = nIcon;
 cbi.iOverlay  = 0;
 cbi.iIndent  = (0 & 0x03); 
 m_ComboEx.InsertItem(&cbi); //插入數(shù)據(jù)
 nItem++;
 pchDrive += strlen(pchDrive) + 1;
 }
 return TRUE; // return TRUE unless you set the focus to a control
}
void CDeleteDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
 if ((nID & 0xFFF0) == IDM_ABOUTBOX)
 {
 CAboutDlg dlgAbout;
 dlgAbout.DoModal();
 }
 else
 {
 CDialog::OnSysCommand(nID, lParam);
 }
}
void CDeleteDlg::OnPaint() 
{
 if (IsIconic())
 {
 CPaintDC dc(this); // device context for painting
 SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
 // Center icon in client rectangle
 int cxIcon = GetSystemMetrics(SM_CXICON);
 int cyIcon = GetSystemMetrics(SM_CYICON);
 CRect rect;
 GetClientRect(&rect);
 int x = (rect.Width() - cxIcon + 1) / 2;
 int y = (rect.Height() - cyIcon + 1) / 2;
 // Draw the icon
 dc.DrawIcon(x, y, m_hIcon);
 }
 else
 {
 CDialog::OnPaint();
 }
}
HCURSOR CDeleteDlg::OnQueryDragIcon()
{
 return (HCURSOR) m_hIcon;
}
void CDeleteDlg::DelFile(CString path,CString name)
{
 CString strtemp;
 if (path.Right(1) != "\\") //判斷路徑是否以\結尾
 strtemp.Format("%s\\*.*",path);//設置通配符
 else
 strtemp.Format("%s*.*",path);//設置通配符
 CFileFind findfile;
 BOOL bfind = findfile.FindFile(strtemp);//查找文件
 while (bfind)//循環(huán)查找
 {
 bfind = findfile.FindNextFile();//查找下一個文件
 if(!findfile.IsDots() && !findfile.IsDirectory())
 {
  CString str = findfile.GetFileName();
  int index  = str.ReverseFind('.');
  if(str.Right(str.GetLength()-index) == name)
  {
  DeleteFile(findfile.GetFilePath());
  }
 }
 else if (findfile.IsDots()) 
 {
  continue;
 }
 else if (findfile.IsDirectory())//如果是目錄
 {
  DelFile(findfile.GetFilePath(),name);//遞歸查找
 }
 }
}
void CDeleteDlg::OnButdelete() 
{
 // TODO: Add your control notification handler code here
 CString path,name;
 m_ComboEx.GetWindowText(path);
 m_ExName.GetWindowText(name);//獲得文件擴展名
 DelFile(path,name);
 MessageBox("已刪除指定類型文件!");
}

這里省去了窗體部分的代碼,進行過VC開發(fā)的朋友應該可以看得懂的。

相關文章

最新評論

汝南县| 怀远县| 无锡市| 新丰县| 广州市| 旺苍县| 蒲城县| 和田县| 鱼台县| 独山县| 呈贡县| 广州市| 福建省| 榆社县| 翼城县| 阿勒泰市| 海兴县| 台中县| 隆子县| 宕昌县| 贵德县| 西宁市| 迁安市| 灵川县| 陈巴尔虎旗| 建始县| 剑河县| 泰宁县| 高陵县| 松阳县| 疏附县| 安义县| 苍溪县| 任丘市| 江陵县| 健康| 象州县| 南康市| 乐至县| 杨浦区| 当阳市|