c++ - IFileOperation::DeleteItems 在 Windows 8 上不要求确认(与 Windows 7 不同)

标签 c++ windows windows-8

我正在尝试使用 IFileOperation::DeleteItems 在 Windows 上删除文件。在 Windows 7 上,当我调用 IFileOperation::PerformOperations` 时,系统会询问我是否要先删除文件。但在 Windows 8 上,它不要求确认,只是将文件移至垃圾箱。

这就是我所说的提示:

enter image description here

代码如下:

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/

相关文章:

javascript - $ 在 JavaScript 中是什么意思?如何在 Win8 应用程序中替换它?

c++ - fread 相当于 fstream

c++ - 使用来自不同类的对象时出错

python - PyUSB 错误 "USBError: [Errno 2] Entity not found"使用 libusb0 驱动程序 (Windows 10)

c - 如何将对象的安全描述符重置为默认值?

css - 如何使用灵活的布局将元素置于 Windows 8 [HTML5/JS/CSS3] 中

c# - 获取 Windows 8 中已安装 Windows 应用商店应用程序的本地化名称

c++ - 更好的 C++ 日志库

c++ - 如何返回一维大小未知的二维数组?

c++ - CreateProcess 可以启动一个进程,但是QProcess 不能……为什么?