こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

C#でフォルダをロックする方法

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


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

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


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


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


よろしくお願いします。

投稿日時 - 2012-03-20 09:28:29

QNo.7372762

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

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

Directory.SetCurrentDirectory(dir);

投稿日時 - 2012-03-23 11:40:03

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

投稿日時 - 2012-03-20 11:09:15

お礼

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

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

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

投稿日時 - 2012-03-20 17:22:14

あなたにオススメの質問