gpt4 book ai didi

winapi - 无法使用SHFileOperation删除文件夹

转载 作者:行者123 更新时间:2023-12-04 13:35:07 24 4
gpt4 key购买 nike

我无法使用以下代码在Windows中删除文件夹:

SHFILEOPSTRUCT shfo = {
NULL,
FO_DELETE,
path,
NULL,
FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION,
FALSE,
NULL,
NULL };

SHFileOperation(&shfo);

我需要使用 SHFileOperation而不是 RemoveDirectory,因为我需要删除非空文件夹。

但是,即使 path中的值指向一个完全由Everyone用户控制的空本地文件夹,被双空终止(按 documentation的请求),没有系统,隐藏或只读属性,该函数也会失败。

不幸的是,该函数未返回错误代码(如果成功则返回零,否则返回非零),并且调用 GetLastError返回 ERROR_SUCCESS ...

错误在哪里?

最佳答案

解决了...path变量实际上不是双空终止的,因为我使用的wcscpy_s在空字符后填充了字符串缓冲区(我以前用零填充)with the 0xFD value

关于winapi - 无法使用SHFileOperation删除文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4180351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com