¡Hola a tod@s!
Tengo un problema intentando copiar carpetas (para hacer copias de seguridad), he visto en el foro que varias veces habéis contestado a esta pregunta, pero lo que proponéis a mi no me funciona, que es esto:
typedef struct _SHFILEOPSTRUCT
{
HWND hwnd;
UINT wFunc;
LPCSTR pFrom;
LPCSTR pTo;
FILEOP_FLAGS fFlags;
BOOL fAnyOperationsAborted;
LPVOID hNameMappings;
LPCSTR lpszProgressTitle;
} SHFILEOPSTRUCT, FAR *LPSHFILEOPSTRUCT;
void __fastcall CopiarCarpeta(AnsiString Origen, AnsiString Destino)
{
SHFILEOPSTRUCT sfos = {0,};
ZeroMemory(&sfos, sizeof(sfos));
sfos.hwnd = NULL;
sfos.wFunc = FO_COPY;
// Añadimos estas dos líneas
Origen.SetLength(Origen.Length()+1);
Origen[Origen.Length()] = '\0';
sfos.pFrom = Origen.c_str();
sfos.pTo = Destino.c_str();
sfos.fFlags = FOF_NOCONFIRMMKDIR | FOF_NOCONFIRMATION;
SHFileOperation(&sfos);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
CopiarCarpeta("c:\\dir_origen", "d:\\dir_destino");
}
pero el problema es que me da error en FILEOP_FLAGS fFlags del tipo "type name expected" ¿Por qué me pasa esto?¿Podéis ayudarme?
Muchísimas gracias de antemano