2010-12-07 15 views
2

他のプロセスが特定のフォルダの内容を変更しないようにします。私は、他のプロセスがフォルダ内のファイルを作成、削除、または変更するのを止めたいと思います。さらに、私はこの制限をサブフォルダに入れたいと思っています。Win32:フォルダの変更を防止しますか?

フォルダの内容を列挙し、各ファイルにCreateFileを呼び出すことで、私が望むものに近づくことができます。これは、新しいファイルが作成されるのを止めるわけではなく、私はハンドルののロットを取得する必要があるという点で問題があります。

私が望むものを得るための簡単な方法はありますか?


更新:いくつかのコメントへの対処、私は何をしたいの変更を防ぐために私のプログラムの実行中です。実行中にファイルが変更されても問題ありません。

ACLSに関して、このアプリケーションはフォルダ内のすべてのファイルに対する読み取りアクセス権を持っています。

+1

これは機能しません。ディレクトリへのアクセスはユーザーアカウント権限によって制御されます。 –

+0

私はそれを不可視にし、そのアカウントの特権を設定したいと思います。 WindowsのようにWindowsのフォルダを詰め込むことについての警告が表示されますが、おそらくそれを行う方法があります。 – Matt

+1

本当にやりたいですか?ロックが行われている間にプログラムが終了する(または強制終了される)場合はどうなりますか? –

答えて

3

ACLが最良の方法ですが、何らかの理由で動作することができない場合は、ファイルシステムのフィルタドライバを使用してください。これはあまり簡単ではないことに注意してください。ロケット科学でもなく、ドライバー開発には特別な注意が必要です。

http://www.microsoft.com/whdc/driver/filterdrv/default.mspx

関連する問題