dポイントプレゼントキャンペーン実施中!

C#でフォルダをロックする方法を教えて下さい。


実現したい挙動は、こんな感じです。

1, コマンドプロンプトで、カレントディレクトリを「C:\test」にする
2, その状態で「C:\test」を削除しようとする
3, 「別のプログラムがこのフォルダを開いているので、操作を完了できません。」(Vistaの場合)


つまり、フォルダはコマンドプロンプトのカレントディレクトリになっている間は削除することができませんが、これをコマンドプロンプトではなくプログラムから制御したいのです。(1プログラムで複数)


ちなみに、ファイルをロックするのは
stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.None);
という記述でできましたが、わかっていたことですが、フォルダではやはり失敗します。


よろしくお願いします。

A 回答 (2件)

これは、いかがでしょう?



Directory.SetCurrentDirectory(dir);
    • good
    • 0

一番簡単なのはダミーファイルを作ってオープンする事ですかね。

    • good
    • 0
この回答へのお礼

ありがとうございます。
確かに、それなら質問で提示した条件はクリアできますね。

費用対効果を満たした、素晴らしい解決策だと思います。

しかしごめんなさい。
私の質問の条件はクリアできますけど、ダミーファイルは作りたくないんです。

お礼日時:2012/03/20 17:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!