Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ IFileOperation::DeleteItems不';不要在Windows 8上请求确认(与Windows 7不同)_C++_Windows_Windows 8 - Fatal编程技术网

C++ IFileOperation::DeleteItems不';不要在Windows 8上请求确认(与Windows 7不同)

C++ IFileOperation::DeleteItems不';不要在Windows 8上请求确认(与Windows 7不同),c++,windows,windows-8,C++,Windows,Windows 8,我正在尝试使用IFileOperation::DeleteItems在Windows上删除文件。在Windows 7上,当我调用IFileOperation::PerformOperations`时,我会遇到一个问题,问我是否要先删除这些文件。但在Windows8上,它并不要求确认,只是将文件移到垃圾箱 这就是我所说的提示: 代码如下: result = iOperation->DeleteItems(iArray); if (SUCCEEDED(result)) { result

我正在尝试使用
IFileOperation::DeleteItems
在Windows上删除文件。在Windows 7上,当我调用IFileOperation::PerformOperations`时,我会遇到一个问题,问我是否要先删除这些文件。但在Windows8上,它并不要求确认,只是将文件移到垃圾箱

这就是我所说的提示:

代码如下:

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中更改,但您仍然可以手动启用它。

只是为了确保两个系统上的Windows设置相同?您没有在“回收站属性”窗口中禁用Windows 8系统上的确认对话框?@hvd:非常感谢,就这样!我从来没有注意到这个选项,而且它在Windows8中默认被禁用。请给我一个答案,这样我就可以接受并投票了:)当然,很高兴这么简单。:)