2012-01-31 57 views
1

如何使用C/C++以编程方式检查Windows系统文件夹?如何使用C/C++以编程方式检查Windows系统文件夹?

我想在我的代码中检查用户选择的文件夹是否是System/Windows文件夹?我尝试使用方法GetFileAttributesEx/GetFileAttributes,但它不工作。默认。所有的Windows文件夹都将FILE_ATTRIBUTE_SYSTEM属性设置为true。

+0

检查他们到底是什么?如果你想看看你是否可以在那里写作,那就试着写在那里。 – Deanna 2012-01-31 15:32:20

+0

@Deanna,他想检查用户选择的文件夹是否是系统文件夹。 – 2012-01-31 15:34:00

+0

不确定你的意思是“系统文件夹”。你是否包含“c:\ Program Files \ XYZ”?或者只是'%WINDIR%'和孩子?如果后者只检查'GetWindowsDirectory'。 – Ben 2012-01-31 15:34:07

回答

1

您可以使用SHGetKnownFolderPath(Windows Vista及更高版本)获取各种特殊文件夹。您可以在KNOWNFOLDERID

中看到文件夹的类型您可以使用它来检索要检查的文件夹的路径,然后将这些文件夹与用户输入路径进行比较。

+0

如果用户选择的文件是C:\ program Files \ Test1 \ Test2 \ Test3。该文件夹是C:\ program Files。 在这种情况下,我需要检查C:\ program Files文件是选定文件夹的一部分。我担心性能 – Ullan 2012-01-31 15:51:26

+1

在某些初始化过程中获取“真实”Program Files文件夹,然后将该字符串与用户输入位置(直到检查的路径长度的长度)进行比较。先试用,然后担心性能。 – crashmstr 2012-01-31 16:16:47

相关问题