- - PR -
ファイル変更を検出する方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-11-10 16:30
みなさん、いつもお世話になっておりますw。
また、質問です。 あるファイルを自分で作ったアプリケーションで開いたままの状態で、 同じファイルがほかのアプリケーションによって開かれて編集が行われたことを どのようにして検出すればいいでしょうか? すいません、よろしくお願いします。 | ||||||||
|
投稿日時: 2003-11-10 16:32
ファイルを開くときのモード設定でなんとかなりませんか、
| ||||||||
|
投稿日時: 2003-11-10 16:47
こんにちは。
モード設定ですか… えー、ちょっとピンッときません、 もうすこし、具体的に教えていただけないでしょうか? | ||||||||
|
投稿日時: 2003-11-10 16:55
FileSystemWatcher.Changed イベント
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemiofilesystemwatcherclasschangedtopic.asp http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbtskcreatinghandlersforfilesystemevents.asp こんなところかな? #以下追加 「開いているファイル」というのは、普通は他のプロセスによる変更を禁止します。例えば、読みとっている最中にファイルを消されたり、サイズの変更をされると、今読んでいるデータが台無しになりますよね。 例えばVS.NET IDEの「他のアプリケーションによる変更を反映する」などは、いったんファイルハンドルを閉じて、このイベントで検知していると思います。そうでなければ、読み込み途中にデータが変更されたときの作り込みが無茶苦茶大変になると思います。 [ メッセージ編集済み 編集者: Jitta 編集日時 2003-11-10 16:57 ] | ||||||||
|
投稿日時: 2003-11-10 17:08
こんにちは。
おー、すげー、これが知りたかったっす! Jittaさんにはいつも助けて頂いてますね、 いつもありがとうございます。 ということで(どういうことで?(~o~))またよろしくお願いします。 | ||||||||
|
投稿日時: 2003-11-10 18:16
ども、ほむらです。
後もう一つの手としてはタイムスタンプを覚えておいて タイマーで自分自身を監視する方法もありますね。 もしもWindowsメッセージで処理していた場合、ファイル単位の監視は Win9x系ではサポートしていないと思いました。 #蛇足でした。。 | ||||||||
|
投稿日時: 2003-11-10 19:01
.NET Frameworkで提供されているのだから、それはないでしょう…と思ったら、サポートされていませんでした。使用の際にはご注意を。
| ||||||||
|
投稿日時: 2003-11-10 19:14
なるほど、ほむらさんの案もありですね 勉強になります。 |