WindowsApi:SHFileOperation
Copies, moves, renames, or deletes a file system object. This function has been replaced in Windows Vista by IFileOperation.
Recursive remove
- How to Delete Directories Recursively with Win32
- Stackoverflow: What is the Win32 API function to use to delete a folder?
void deleteDirectory(const std::wstring &path) {
SHFILEOPSTRUCTW fileOperation;
fileOperation.wFunc = FO_DELETE;
fileOperation.pFrom = path.c_str();
fileOperation.fFlags = FOF_NO_UI | FOF_NOCONFIRMATION;
int result = ::SHFileOperationW(&fileOperation);
if(result != 0) {
throw std::runtime_error("Could not delete directory");
}
}
See also
Favorite site
- [https://msdn.microsoft.com/ko-kr/library/windows/desktop/bb762164(v=vs.85.aspx MSDN: SHFileOperation function]