Я не могу удалить папку в Windows со следующим кодом:
SHFILEOPSTRUCT shfo = {
NULL,
FO_DELETE,
path,
NULL,
FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION,
FALSE,
NULL,
NULL };
SHFileOperation(&shfo);
Мне нужно использовать SHFileOperation
вместо RemoveDirectory
, потому что мне нужно удалить непустые папки.
Однако эта функция завершается ошибкой, даже если значение в path
указывает на пустую локальную папку с полным контролем над каждым пользователем, завершается двойным нулем (как этого требует документация ), не имеет системы , скрытый или только для чтения атрибут ...
К сожалению, функция не возвращает код ошибки (возвращает ноль в случае успеха или ненулевое значение в противном случае), а вызов GetLastError
возвращает ERROR_SUCCESS
...
Где ошибка?