2012-01-31 12 views
1

WindowsのシステムフォルダをC/C++を使用してプログラムでチェックする方法は?C/C++を使用してWindowsのシステムフォルダをプログラムでチェックする方法

ユーザーの選択したフォルダがSystem/Windowsフォルダであるかどうかチェックしたいのですか?私はGetFileAttributesEx/GetFileAttributesメソッドを使ってみましたが、うまくいきません。デフォルトで。すべてのwindowsフォルダの属性FILE_ATTRIBUTE_SYSTEMがtrueに設定されています。

+0

正確に何かを確認しますか?あなたがそこに書き込むことができるかどうかを見たいなら、そこに書き込んでみてください。 – Deanna

+0

@Deanna、彼は、ユーザーが選択したフォルダがシステムフォルダであるかどうかをチェックしたいと考えています。 –

+0

"システムフォルダ"とは何を意味するのかよく分かりません。あなたは "c:\ Program Files \ XYZ"を含んでいますか?または '%WINDIR%'と子供だけ?後者が 'GetWindowsDirectory'をチェックするだけです。 – Ben

答えて

1

SHGetKnownFolderPath(Windows Vista以降)を使用すると、さまざまな特殊フォルダを取得できます。 KNOWNFOLDERID

これを使用して、確認するフォルダのパスを取得し、それらをユーザーの入力パスと比較することができます。

+0

ユーザーが選択したファイルがC:¥program Files¥Test1¥Test2¥Test3の場合。フォルダはC:\ program Filesです。 この場合、C:\ programのチェックが必要です。Filesは、選択したフォルダの一部です。私はパフォーマンスについて心配しています – Ullan

+1

初期化中に "true" Program Filesフォルダを取得してから、文字列とユーザー入力場所を比較します(チェックされたパス長の長さまで)。最初に試してから、パフォーマンスを心配してください。 – crashmstr

関連する問題