我编写了一个程序,可以从头到尾搜索扇区级别的物理设备。现在我想创建一个只处理逻辑文件的例程。
因此,我需要使用本机C ++以递归方式列出NTFS卷(或FAT32)上的所有目录和文件。我遇到的问题是每当遇到Windows系统文件夹时出现“访问被拒绝”错误。
C:\System Volume Information and
C:\Users
只是这些文件夹的两个例子。
我不打算“跳过”这些目录。相反,它们对手头的项目最为重要。
我已经尝试了在C ++论坛等中提供的各种选项,并且所有这些选项似乎都失败了(访问被拒绝)或者快速回答是“跳过”它们。
此时,我想知道我是否需要以某种方式查找这些文件夹的物理扇区,并系统地在每个物理扇区级别跟踪范围?
在这里寻求一些帮助,我将不胜感激任何想法。谢谢!
注意:我发布任何示例代码都没有意义,因为我尝试了太多组合(大多数组合可以读取目录等),但所有组合都无法导航系统目录。
答案 0 :(得分:0)
不是我推荐这个,但是由于你非常坚定,为什么不用SetFileSecurity暂时更改这些文件夹上的安全描述符,这样你就可以打开一个句柄,然后再将它们更改回去?这应该有用。