我正在尝试使用 IFileOperation::DeleteItems
在 Windows 上删除文件。在 Windows 7 上,当我调用 IFileOperation::PerformOperations` 时,系统会询问我是否要先删除文件。但在 Windows 8 上,它不要求确认,只是将文件移至垃圾箱。
这就是我所说的提示:
代码如下:
result = iOperation->DeleteItems(iArray);
if (SUCCEEDED(result))
{
result = iOperation->SetOperationFlags(FOF_ALLOWUNDO);
assert(SUCCEEDED(result));
result = iOperation->SetOwnerWindow((HWND)parentWindow);
assert(SUCCEEDED(result));
result = iOperation->PerformOperations();
}
我也尝试过 SetOperationFlags(FOF_ALLOWUNDO | FOFX_RECYCLEONDELETE);
- 效果似乎是一样的。
如果我请求不可撤销地删除文件而不是将其移至回收站 (SetOperationFlags(FOF_WANTNUKEWARNING)
),我会收到一个提示,就像在 Windows 7 中一样。
如何在 Windows 8 上获得删除提示?
最佳答案
来自评论:
是否显示确认是用户设置。它可以从回收站的属性窗口中更改。在您的 Windows 8 系统上,该选项被禁用。在您的 Windows 7 系统上,该选项已启用。正如您所建议的,此选项的默认值可能已在 Windows 8 中更改,但您仍然可以手动启用它。
关于c++ - IFileOperation::DeleteItems 在 Windows 8 上不要求确认(与 Windows 7 不同),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18352914/