Mar*_*ugh 5 winapi shfileoperation win-universal-app windows-10
我们发现在更新到 1709 的系统上使用 SHFileOperation 删除文件夹的速度非常慢。似乎与通用 Windows 应用程序相关的某些东西导致了这种情况。
这段代码:
sFileOp.wFunc = FO_DELETE;
sFileOp.pFrom = buf;
sFileOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION|FOF_NOERRORUI;
if(SHFileOperation(&sFileOp))
Run Code Online (Sandbox Code Playgroud)
传递像“C:\Jobs\Job1”这样的路径(是的,双空终止),文件夹中有少量文件——比如 2 或 3——在 Windows 7 和 Windows 10 1511 上以毫秒为单位运行。在 Windows 10 1709 上它需要 1 到 3 秒。
我们在 Visual Studio 2013 输出窗口中注意到的是在调用 SHFileOperation 之后和返回之前的 3 或 4 个这些消息:
onecoreuap\shell\windows.storage\sharedstoragesources\util.cpp(2831)\windows.storage.dll!7650BF24: (caller: 765D88E4) ReturnHr(1) tid(1bb0) 80070490 未找到元素。
这是一个使用 VS2013 构建的 Win32、x86 应用程序。这发生在我们已经发布超过 18 个月的版本上。回顾一下版本在 1511 和 Windows 7 上按预期运行,在最近两次 Windows 10 更新上运行速度太慢。不知何故,我们似乎与通用 Windows 应用程序 DLL 纠缠不清。我们如何避免这种情况?
| 归档时间: |
|
| 查看次数: |
529 次 |
| 最近记录: |