2012-01-31 88 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

相關問題