當前位置:編程學習大全網 - 源碼破解 - 請教調用 SHFileOperation 進行文件復制重命名的問題

請教調用 SHFileOperation 進行文件復制重命名的問題

#include<shellapi.h>

//刪除文件或者文件夾

bool DeleteFile(TCHAR * lpszPath)

{

SHFILEOPSTRUCT FileOp={0};

FileOp.fFlags = FOF_ALLOWUNDO | //允許放回回收站

FOF_NOCONFIRMATION; //不出現確認對話框

FileOp.pFrom = lpszPath;

FileOp.pTo = NULL; //壹定要是NULL

FileOp.wFunc = FO_DELETE; //刪除操作

return SHFileOperation(&FileOp) == 0;

}

//復制文件或文件夾

bool CopyFile(TCHAR *pTo,TCHAR *pFrom)

{

SHFILEOPSTRUCT FileOp={0};

FileOp.fFlags = FOF_NOCONFIRMATION| //不出現確認對話框

FOF_NOCONFIRMMKDIR //需要時直接創建壹個文件夾,不需用戶確定

|FOF_SIMPLEPROGRESS ; //進度條

FileOp.pFrom = pFrom;

FileOp.pTo = pTo;

FileOp.wFunc = FO_COPY;

return SHFileOperation(&FileOp) == 0;

}

//移動文件或文件夾

bool MoveFile(TCHAR *pTo,TCHAR *pFrom)

{

SHFILEOPSTRUCT FileOp={0};

FileOp.fFlags = FOF_NOCONFIRMATION| //不出現確認對話框

FOF_NOCONFIRMMKDIR ; //需要時直接創建壹個文件夾,不需用戶確定

FileOp.pFrom = pFrom;

FileOp.pTo = pTo;

FileOp.wFunc = FO_MOVE;

return SHFileOperation(&FileOp) == 0;

}

//從命名文件或文件夾

bool ReNameFile(TCHAR *pTo,TCHAR *pFrom)

{

SHFILEOPSTRUCT FileOp={0};

FileOp.fFlags = FOF_NOCONFIRMATION ;

FileOp.pFrom = pFrom;

FileOp.pTo = pTo;

FileOp.wFunc = FO_RENAME;

FileOp.hwnd= HWND_DESKTOP;

return SHFileOperation(&FileOp)==0;

}

void CShfileopDlg::OnButton1()

{

// TODO: Add your control notification handler code here

CopyFile(_T("c:\\two"),_T("c:\\123"));

ReNameFile(_T("c:\\newtwo"),_T("c:\\123"));

DeleteFile(_T("c:\\newtwo"));

AfxMessageBox(_T("完成"));

}

  • 上一篇:核算會計年度工作總結
  • 下一篇:假面騎士555迷失的世界時空錯亂的危機
  • copyright 2024編程學習大全網