• ベストアンサー

ファイルの更新をチェックする方法を教えてください。

リアルタイムで特定のファイルに変更があった場合 それを通知してくれるプログラムの組み方を教えてください ソフトで10秒に一回通知するものはあるみたいですが 区間が長すぎて使えません。 最低でも3秒に一回は通知できればソフトでも大丈夫です。 結構困ってます;

質問者が選んだベストアンサー

  • ベストアンサー
  • kzr260v2
  • ベストアンサー率48% (788/1620)
回答No.3

お作りになりたいのでしたら、FileSystemWatcherクラスの利用が考えられます。サンプルもあります。 https://docs.microsoft.com/ja-jp/dotnet/api/system.io.filesystemwatcher?view=net-6.0 ただ、ファイル編集をするアプリによっては、ユーザーの操作が一度の保存であっても、複数回ファイル書き込みするものもあり、FileSystemWatcherで期待通りの結果になるかどうかは、調査が必要です。 ※ ファイルの履歴管理をするという方向性もあります。 https://search.vector.co.jp/vsearch/vsearch.php?key=%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB ※ 複数人で作業中のプログラムのソースファイルを管理したい場合、以下のような製品もあります。 Visual Studio Application Lifecycle Management 単体販売はされてなく、Visual Studioに含まれる形態になっています。 ※ 以下は、フォルダやファイルを監視するソフトがいくつか紹介されています。 https://fs-t.biz/archives/8339 ※ お使いの監視ソフトが10秒より少なく監視ができないのは、やってみたができなかったり、問題が発生したなどがあったのかもしれません。 以上、参考にならなかったらごめんなさい。

その他の回答 (2)

  • chie65535
  • ベストアンサー率43% (8519/19366)
回答No.2

>リアルタイムで特定のファイルに変更があった場合 >それを通知してくれるプログラムの組み方を教えてください 1.システムコールをフックする権限を得る 2.ファイルを更新するシステムコールをフックする 3.フックしたルーチンで、更新されるファイルが対象ファイルの場合、通知メッセージをイベントキューに書き込む 4.イベントキューに通知メッセージが書き込まれたら、メッセージを取り出し、実際の通知処理を行う 上記が、リアルタイムでの即時通知アルゴリズムです。 ファイルの更新システムコールをフックして常駐するプログラムと、イベントキューに特定通知メッセージが書き込まれたら実際の通知を行うための常駐プログラムの、2本のプログラムを、スタートアップサービスとして常駐させる必要があります。 普通に起動して一定間隔で監視する、簡単な方法もありますが、他のタスク(例えばリアルタイムゲームなど)がCPUを占有してしまうと、占有中は監視出来なくなるので、上記のような仕組みでスタートアップサービスとして常駐させるのが普通です。 この回答の意味が判らない場合は、自前でプログラムを組むのは無理でしょう(意味が理解できれば作成可能)

回答No.1

ファイルが特定されてるなら。 単にそれのstatをとればいいだけだと思うが。 むしろ、通知の方が難しい気はする。

tibigiko
質問者

補足

通知は用意してある音声ファイルを開くというプログラムではだめなんでしょうか・・・

関連するQ&A

  • 特定のファイルに書き込みがあったら知らせてくれるプ

    ログラムを作るにはどうすればいいのでしょうか? 私は老人が多い職場でシステム管理を押し付けられたのですが 対して管理に詳しくないので解りません。 ファイルの監視をしたいのですが特定のファイルに変更があった場合 リアルタイムで通知して音を出して知らせてくれるプログラムを作るには。。もしくはアプリでもなんとかなりそうなのですがどうすればいいでしょうか?

  • ファイルの更新をチェックする。

    WIN2000で特定のファイルの更新があったときに、 メールによって通知を行いたいと思っています。 なにかいい方法がありますでしょうか?

  • AVIファイルからある区間だけ取り出すには?

    AVIファイルのある区間(**秒目から**秒目まで)だけを 取り出したAVIファイルを作りたいです。 そういうことのできるフリーソフトがあったら教えてください。 AVIファイルをBMPにしたりするソフトは見つかったのですが、 AVIファイルからある区間だけ切り出したAVIファイルを作るというソフトは 見つけることができませんでした。 教えて!gooでも検索してみたのですが、 同じような質問を見つけることができなかったので、質問しました。 よろしくおねがいします。

  • 共有ファイルの更新を通知する方法

    共有フォルダ内の特定のファイル(エクセル)が更新されたことを通知させる方法ってないでしょうか? ご教示ください。

  • 共有ファイルにパスワードをかけたい

    こんにちは。 大事な情報を特定の人達にのみ閲覧・変更出来るように、共有ファイルにパスワードをかけたいと思っています。 検索をかけると例えば、ファイルを暗号化するような強固な方法が挙がっているのですが、 単純にフォルダ自体はシリンダー錠をかける感じで良く、他の人が変更した内容がリアルタイムに反映されればそれで結構なのですが、 どなたか、条件?に合致したフリーソフトや方法をご存じでないでしょうか? よろしくお願いします。

  • WEBサイトの更新チェック(ディレクトリ内を全て)

    特定のurlを登録してチェックするソフトは数多くありますが、 たとえば『http://○○.jp/○○/』と指定するだけで そのディレクトリ以下に変更や追加があった場合 HTMLページからリンクされていない画像ファイルなどでも 知らせてくれるようなソフトは無いでしょうか。 また、そういったソフトは技術的に不可能なのでしょうか? インデックスファイルのないディレクトリ (『/』で終わるURL)を打ち込むとファイル一覧が見えて、 そこから見てくれというサイトがあったのですが… 今は、リストの見える設定のサーバーは少ないのでしょうか? 2つの質問になってしまいますが、前半がメインで、後半はその補足です。 宜しくお願いします。

  • C言語で前面表示や、特定のファイル検索方法を教えてください!

    VBで作ったソフトを、今C言語で作り変えています。 そのソフトは前面表示になっており、プログラムの始めに、特定のファイルがあるかどうか調べています。 ネット上で探しているのですが、見つかりません。 知っている人がいれば、どうか教えてください。 後、VBでファイルを調べるプログラムは、 If System.IO.File.Exists(ファイル名) = True Then あった場合に動作させるプログラム Else 無かった場合に動作させるプログラム End If です。

  • フォルダ内の更新を監視する

    こんにちは、honiyonです。  Windowsについて質問です。  Explorerであるフォルダを表示しておいた場合に、フォルダ内にファイルの作成・削除等の変更があると自動的に再表示されます。  これはどのような仕組みになっているのでしょうか?  もしかして数秒単位でスキャンを行っているだけ?  任意のフォルダ内の変更を検知するプログラムを作りたいと考えています。  何か数秒単位でスキャンより効率の良い方法は無いかと考えているのですが...  宜しくお願いします(..  

  • VBAでcsvファイルを読み込み、更新する方法

    こんにちは。早速ですが、質問です。 VBAを使ってcsvファイルをエクセルに読み込んで、 読み込んだエクセル上でcsvファイル情報を変更すると、 変更した内容が読み込み元のcsvファイルに更新される ようなプログラムを作りたいのです。csvファイルの 読み込みまではうまくいったのですが、csvファイルの 更新の仕方がわかりません。良い方法があれば、 教えてください。よろしくお願いします。

  • WindowsXPの更新プログラムファイルについて

    WindowsXPの更新プログラムファイルについて  IE8 office NET その他の更新プログラムファイルが溜まっているので、プログラムの変更と削除 の項目で削除出来る物を削除したいと思います。この場合PCに不具合が発生しないか心配です  詳しい方のアドバイスをお願いします。