Download List

Sponsored link

Project Description

ファイルが更新されたことを検知し任意のアプリケーションを実行するバックグラウンド・アプリケーションです。 タスクトレイに常駐し、指定されたフォルダ上のファイル更新を監視しつづけます。 起動すると、前回の設定・前回の監視状態をもとに自動的に監視を開始(もしくは継続)します。 監視するフォルダとファイルの種類を指定してファイルの作成と更新を監視します。 作成や更新が行われた場合、指定されたアプリケーションを起動します。 アプリケーションはフォーカスを移動しない最小化、または非表示で起動することもできます。 また複数のファイルが更新された場合に一斉にアプリケーションを同時に立ち上げることも、順番にアプリケーションを立ち上げることも選択可能です。 アプリケーションを起動するかわりに、IP Messengerへのメッセージ送信、もしくは単にサウンドを鳴らすこともできます。 監視状態はログファイルに記録することができます。

System Requirements

System requirement is not defined

Released at 2010-11-23 13:23
fwatch 1.8.0.2 (3 files Hide)

Release Notes

FWatch1.8.0.2をリリースいたします。

もはや手遅れとは思いますが、長らくチケットがオープンのままだった不具合と要望について可能な限り対応させていただきました。
また、FWatch1.7.0.1をベースにFWatch Ver1.5と同等機能を、ある程度、復活させました。
ヘルプファイルもHTMLHelpに改め、最新の情報に更新しております。

MBCS版(Win9xにも対応)と、UNICODE版(Windows2000以降のみ)があります。

* fwatch1.8.0.2_unicode.zip (UNICODE版) Windows2000/XP/2003/2008/Windows7を想定
* fwatch1.8.0.2_mbcs.zip (MBCS版) Windows98/2000/XP/Windows7を想定
* fwatch_20101123_src.zip 現行ソース一式(PDB、ヘルプソース含む)

※ Windows98でなければUNICODE版を使うことを推奨いたします。

従来はMBCS版のみでした。
IE6以降が必須です。
MBCS版はVisual Studio 2005のVC++で、Unicode版はVisual Studio 2008のVC++でビルドしています。
(Windows9x用のバイナリを作成するためにはVisual Studio 2005が必要です。)
どちらもスタティックリンクでランタイム等は必要ありません。

リリースの詳細は
http://sourceforge.jp/projects/fwatch/
で確認してください。

FWatchはベクター公開版のver1.5系と、それを一部機能を捨ててデグレードしてマルチコア対応に改善した1.4.2.e2系(テスト版のまま)とがありました。
今回は、後者の1.4.2.e2を修正して、1.7.0.1としたものに対して、Ver1.5系と同等の機能と要望事項のいくつかを取り込んだものとなっています。
ただし、サービスとしての実行は未実装です。
Ver1.8のコンセプトとしては「常駐型ツール」で、設定変更や監視の開始・停止を素早く行えることを念頭においたものとなっています。
FWatch1.7の基本的な部分に変更はありませんが、いろいろな機能を追加・修正しておりますので、更新履歴の方もご覧ください。

Changelog

1. UNICODE版の場合、設定ファイルもUNICODEで保存するようにしました。
 これにより設定画面上でSJISで表現できないフォルダ等を指定した場合でも設定ファイルに保存できます。
 UNICODE版は設定ファイルがSJISの場合はSJISとして読み込みますので既存の設定ファイルを変換する必要はありません。

2. アプリケーション、パラメーター、カレントディレクトリの設定に以下の特殊変数が使えます。2つ追加されています。

PATH : 対象ファイルのフルパス
FULLPATH : PATHと同じ
DIR : 対象ファイルのフォルダ
DIRNAME : DIRと同じ
NAME : ファイル名
BASENAME : NAMEと同じ
NAMEBODY : ファイル名から拡張子を除いたもの
DATE : 現在日 YYYYMMDD
TIME : 現在時刻 HHMMSS
SPATH : PATHのショートネーム版
SDIR : DIRのショートネーム版
COUNT : 起動した、または起動を試行した回数
(監視状態を保存する場合は回数も保存される。そうでなければ開始ごとに0にリセットされる。)
RUNCOUNT : アイテムごとの実行回数
(監視状態を保存する場合は回数も保存される。そうでなければ開始ごとに0にリセットされる。)
(復活)
ATTRIBUTE_DIRECTORY : 対象ファイルがディレクトリであるか?(ファイルしか通知しないので常に0となる。)
(復活)
ATTRIBUTE_ARCHIVE : 対象ファイルがアーカイブ属性であれば「1」、そうでなければ「0」
(復活)
ATTRIBUTE_SYSTEM : 対象ファイルがシステム属性であれば「1」、そうでなければ「0」
(復活)
ATTRIBUTE_HIDDEN : 対象ファイルが隠し属性であれば「1」、そうでなければ「0」
(復活)
ATTRIBUTE_READONLY : 対象ファイルが読み取り専用属性であれば「1」、そうでなければ「0」
(今回追加)
WATCHDIR : 監視ディレクトリ(末尾は必ず「\」で終わります。)
(今回追加)
RELATIVEPATH : 対象ファイルの監視ディレクトりからの相対パス (フォルダが1階層以上ある場合のため)
(今回追加)
RELATIVEDIR : 対象ファイルの親ディレクトリの監視ディレクトりからの相対パス (フォルダが1階層以上ある場合のため)
(今回追加)
CONFDIR : ~\APPDATA\fwatch.ini\のディレクトリパス(末尾は必ず「\」で終わります。)
(今回追加)
MODULEDIR : FWatch.exeのあるディレクトり(末尾は必ず「\」で終わります。)
(今回追加)
INIDIR : fwatch.iniのあるディレクトリ(末尾は必ず「\」で終わります。)
(今回追加)
LSTDIR : lstファイルのあるディレクトリ(末尾は必ず「\」で終わります。)
(今回追加)

3. Win32エラーコードのログへの出力がされてなかった問題を修正しました。

4. 監視ハンドルの再試行期間が判定されていない問題を修正しました。

5. タイムインターバルによる強制更新チェックのログレベルを7に降格しました。(ログが出過ぎるという指摘のため。)
ログレベルは以下のようになっています。(デフォルトは5)

0: エラーのみ
1: ファイル確定、開始、終了メッセージ、監視状態の保存・復元
2: アプリケーションの実行、終了、アプリケーションの重複実行のスキップ通知
3: 変更通知
4: 監視ハンドルの作成、破棄、再作成、ログオンユーザの偽装・偽装解除
5: 変更ファイルの確定待ち開始、削除確定結果
6: 削除待ち、削除確定
7: ディレクトリのスキャン結果、強制更新チェックの開始メッセージ、監視状態の保存(定期)
8: 走査するディレクトリ、走査開始メッセージ
9: 検出した全てのファイルの状態
10: デバッグメッセージ

6. バージョン情報ダイアログを更新した。

7. FWatch.iniのパラメータに監視部コアの情報を加えた。

8. 置換変数の変数名を変更できるようにしている。(詳細はFWatch.iniを確認してください。)

9. 設定ファイル(lst)の保存形式をエスケープ対応とした。(version1.7/1.8の識別子がある場合のみ)
  パラメータ欄は改行コードを入力できるようになりました。
  アクションの実行時、プロセスの引数に渡される場合には改行コードは空白に置換されます。

10. 永続化に対応した。また永続化を定期実行するための設定が増えた。(FWatch.ini)
[注意] 永続化ファイルにある監視状態にないすべてのファイルがFwatch開始時に変更ありと判定されるため、
永続化ファイルを保存後に設定を変更した場合は大量に変更ありと検知される場合があります。

11. ログファイルのメッセージ構築バッファが足りず長いパラメータ等の場合、メッセージがログに出力されなかった問題を修正。

12. 異なるユーザに偽装してフォルダを監視できるようにした。(Windows2000以降のみ)

13. アクションとして「*PROCESS」を追加。ShellExecuteではなく直接プロセスを起動します。
  アプリケーション名にexeへのフルパスを指定しパラメータに引数を指定するか、
  アプリケーション名を空にして、パラメータにexeへのフルパスと引数をコマンドライン形式で記述します。
  (後者を推奨。アプリケーションによっては前者の形式は使用できません。)
  exeへのパスは絶対パスが必要です。ドキュメントや*.batは直接起動できません。*.batならばc:\windows\system32\cmd.exeのようにフルパスでcmd.exeを指定し、
  引数として*.cmdファイルへのパスを指定してください。

14. アクションとして「*RUNAS」「*RUNAS;load_profile=true」を追加。異なるユーザでプロセスを開始できるようにした。(Windows2000以降且つUNICODEビルドのみ)
  UNICODEビルドでない場合、もしくはユーザが指定されていない場合はRUNASは、*PROCESSと同じとなります。
  コマンドラインの記述方法は「*PROCESS」と同じです。
  「*RUNAS;load_profile=true」はプロセス開始時に指定されたユーザの環境変数等のプロファイルを読み込みます。
  そのため起動が遅くなります。頻繁に実行される場合には適していません。またネットワークドライブ等も復元されますが、
  そのユーザの権限で開けないネットワークドライブではパスワードの再確認が必要となり、自動にはアクティブにならないことに注意してください。
  内部的にはCreateProcessWithLogonW APIを使用しています。

15. アクションとして「*IPMSG」を追加、IP Messengerへメッセージを送るアクションとなります。
  アプリケーション名に送信先のIPアドレス(もしくはホスト名)、パラメータにメッセージ内容、
  カレントディレクトリに「ユーザ名@ホスト名」の形式で送信元名を指定します。
  (カレントディレクトリを省略したか、コロンが含まれる場合はユーザ名とホスト名は自動的に設定されます。)
  それ以外のパラメータは無視されます。
  送信できたかどうかはチェックされません。
  受信先のIP Messengerが起動されているかどうかもチェックせず、起動されていない場合はパケットは単に破棄されます。
  またUDPによる送信のため512バイトを超えた場合にパケットが破棄されるかどうかはネットワーク環境次第です。
  (ローカルマシン内であれば、あるいはルータを超えなければ多分問題有りません。)

16. アクションとして「*SOUND」を追加しました。これは単に情報メッセージ音を出すだけです。
  アプリケーション名として、システム定義のメッセージ種類を指定するか、wavファイルを絶対パスで指定します。
  たとえば、アプリケーション名に「MailBeep」とすればメール通知音となります。
  アプリケーション名が省略された場合は通常の情報メッセージ音となります。
  それ以外のパラメータは無視されます。

17. 起動時に監視リストダイアログを開くかどうかをFWatch.iniファイルで指定できるようにしました。

18. UNICODE版のログに余計なBOMがついていたので修正しました。

19. ヘルプをHtmlHelp形式に改め内容も現在の実装に合うように修正しました。また、コンテキストヘルプを追加しました。

20. 監視設定で、複数の通知をまとめて処理できるパラメータを追加しました。

21. 監視設定で「無効」にするチェックボックスを追加しました。また、監視リストダイアログ上から監視の開始・停止ができるようにしました。

22. 設定のコピー機能を追加しました。監視リストダイアログで既存項目を選択した状態で追加ボタンを押下するとコピーの選択ができます。