我正在试验用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中已经改变了,但是你仍然可以手动启用它。