我有一个C ++应用程序,列出了所有目录,你的硬盘树。 我甚至可以进入这些目录看看里面有什么,但我有问题 当我想在计算机上打开另一个用户的目录时。我无法访问它,它应该在Windows XP / Vista / 7中声明;相反,我收到一个错误,我的应用程序终止。
我如何使用FILE_ATTRIBUTE_
或其他方式处理此问题,因此当用户点击目录时他无法进入该状态会导致我的应用崩溃?它应该告诉他拒绝访问。
我的应用程序是在VS 2010中制作的。
答案 0 :(得分:0)
预先检测用户无法进入的目录,不要将其显示在用户界面上。
答案 1 :(得分:0)
您需要做的就是检查FindFirstFile
的返回值(或者您在目录中查看的任何函数)并向用户发出警告而不是进一步处理。
崩溃可能是因为在函数失败后尝试使用结果缓冲区。当函数失败时,你不应该查看结果缓冲区中的内容或将其传递给任何其他函数(如FindNextFile
),而是假设它是完全垃圾。