アプリ版:「スタンプのみでお礼する」機能のリリースについて

ディレクトリを監視して、ファイルが作成された場合。
その作成されたファイルの名前や拡張子などを知りたいのですが何かよい方法があるでしょうか?今現在ではファイルが作成される前のディレクトリ内のファイルのリストを作っておいてそれと比較してリストにないものが新しいファイル、という風な方法を考えています。他に何かありましたら教えてください。

A 回答 (3件)

FindFirstChangeNotification をトリガとして


FindFirstFile, FindNextFile, FindClose を使ってファイル一覧を取得し GetFileAttributes でファイル属性(作成時間,変更時間)を調べればわかるのでは?

C++なら
CFileFind, CFile, CFileStatus
あたりで…。
    • good
    • 0
この回答へのお礼

ありがとうございます。
自分が考えていたのでやっていたらただ名前を変えただけのファイルも引っかかってしまうところでした。
FindFirstChangeNotificationで書き込みが行われたら、という監視をして作成時間、アクセス時間(ファイルをドラッグ&ドロップすると更新されるようで)が最近のもの、もしくは前もってディレクトリ内の作成時間、アクセス時間の最大を調べておき比較して変更ファイルと決めようと考えていますが、どうでしょうか?前者のほうだと同時に複数のファイル移動、作成をするとわからなくなると思いまして

お礼日時:2006/10/24 17:48

Windowsでしょうか?



もしそうなら
FindFirstChangeNotification を使ってみてください。
指定したディレクトリでファイル作成、属性変更、etc 等が行われた場合
それを検知してなんらかの処理を行うようにすることが可能です。
詳細はMSDNで調べてください。
    • good
    • 0
この回答へのお礼

大事なことですよね、書き忘れててすいません。
WindowsのXPです。
FindFirstChangeNotification は、調べてみたらファイルの変更はわかるけれど、どのファイルが変更されたかはわからないみたいなのですがそのとおりでしょうか?

お礼日時:2006/10/24 06:18

OSは何でしょうか。

OSにより方法が異なるかと思いますので。
    • good
    • 0
この回答へのお礼

大事な書き忘れをしてすいません。
WindowsのXPです。

お礼日時:2006/10/24 06:19

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