2009-08-27 3 views
1

C++/STL/Boostを使用してクロスプラットフォームアプリケーションを作成していますが、フォルダやファイルが隠されているかどうかを確認する方法はありません。 Windowsのシステムファイルです。Windows C/C++でフォルダ/ファイルが隠し/システムになっていないか確認する

C/C++ for Windowsでこれを行う最も簡単な方法は何ですか?

理想的には、パス(ファイルまたはフォルダのいずれか)にstd :: stringがあり、隠しファイルまたはシステムファイルの場合は返されます。それがすべてのWindowsのバージョンで機能する場合は最高です。私はこれをコンパイルするためにMinGW g ++を使用しています。

答えて

2

GetFileAttributesがこれに対応します。

ファイルまたはディレクトリへのパスをパラメータとして受け取り、FILE_ATTRIBUTE_HIDDENおよびFILE_ATTRIBUTE_SYSTEMを含むフラグのセットを返します。

DWORD attributes = GetFileAttributes(path); 
if (attributes & FILE_ATTRIBUTE_HIDDEN) ... 

if (attributes & FILE_ATTRIBUTE_SYSTEM) ... 
関連する問題