如题,昨天遇到一个产品中的清空功能不可用的问题。现象也比较奇怪:当点击界面上的清空历史列表功能的时候,要删除的目标文件夹有时能被删除,有时却不能被删除。经过调试,确认问题出在 SHFileOperation 的调用上,它有时会返回错误码:1026 (0x402 )。先看下这个API的原型:
int SHFileOperation(
LPSHFILEOPSTRUCT lpFileOp
);
其中结构体 LPSHFILEOPSTRUCT 的定义为:
经过一番谷歌,终于查到原因: