Por favor, infórmeme sobre cómo llamar a SHFileOperation para copiar y cambiar el nombre de archivos.
#includelt;shellapi.hgt;
//Eliminar archivos o carpetas
bool DeleteFile(TCHAR * lpszPath)
{
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags = FOF_ALLOWUNDO | //Permitir volver a colocar en la papelera de reciclaje
FOF_NOCONFIRMATION; aparece
FileOp.pFrom = lpszPath;
FileOp.pTo = NULL; //Debe ser NULL
FileOp.wFunc = FO_DELETE; /p> p>
return SHFileOperation(amp;FileOp) == 0;
}
//Copiar archivos o carpetas
bool CopyFile( TCHAR * pTo, TCHAR *pFrom)
{
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags = FOF_NOCONFIRMATION| //No aparece ningún cuadro de diálogo de confirmación
p>FOF_NOCONFIRMMKDIR //Crea una carpeta directamente cuando sea necesario sin confirmación del usuario
|FOF_SIMPLEPROGRESS; //Barra de progreso
FileOp.pFrom = pFrom; p >
FileOp.pTo = pTo;
FileOp.wFunc = FO_COPY
return SHFileOperation(amp; FileOp) ==
}
//Mover archivos o carpetas
bool MoveFile(TCHAR *pTo, TCHAR *pFrom)
{
SHFILEOPSTRUCT FileOp={ 0};
FileOp.fFlags = FOF_NOCONFIRMATION| //No aparece ningún cuadro de diálogo de confirmación
FOF_NOCONFIRMMKDIR //Crea una carpeta directamente cuando sea necesario, sin confirmación del usuario
FileOp.pFrom = pFrom;
FileOp.pTo = pTo;
FileOp.wFunc = FO_MOVE
return SHFileOperation(amp; FileOp) = = 0;
}
//Desde el archivo o carpeta con nombre
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(amp; FileOp)==0
}
void; CShfileopDlg::OnButton1()
{
// TODO: agregue aquí el código del controlador de notificaciones de control
CopyFile(_T("c:\\two" ), _T("c:\\123"));
ReNameFile(_T("c:\\newtwo"), _T("c:\\123"));
DeleteFile(_T("c:\\newtwo"));
AfxMessageBox(_T("Complete"));
}