BUGまみれ

RegCondExec

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

RegCondExec

CondExecの監視対象が、アプリからレジストリに変わったツールです。
機能や設定方法なども共通の部分が多く、CondExecに慣れたユーザーならとっつきやすいでしょう。


設定方法

設定ファイルには各処理に応じたセクションを複数定義します。
[セクション名] 
項目名=値 
項目名=値

セクションは、セクション名以下、大きく4つの要素で構成されます。
  • [セクション名]
  • 前提条件(precond)
    • precondNegate (条件の逆転)
    • precondKeyName (レジストリエントリの名前)
    • precondKeyState (レジストリエントリの状態)
    • precondKeyType (レジストリエントリの型)
    • precondKeyValue (レジストリエントリの値)
  • トリガー条件(trigger)
    • triggerNegate (条件の逆転)
    • triggerKeyName (レジストリエントリの名前、必須)
    • triggerKeyState (レジストリエントリの状態、必須)
    • triggerKeyType (レジストリエントリの型)
    • triggerKeyValue (レジストリエントリの値)
  • チェック方法
    • checkType (チェック方法)
    • timeout (タイムアウトまでの時間)
    • polling (チェック間隔)
  • 実行内容
    • exec (条件に一致した場合の処理)
    • onUnmatch (条件に一致しなかった場合の処理)
    • onTimeout (条件にタイムアウトした場合の処理)
precond_trigger

前提条件(precond)、トリガー条件(trigger)

以下を指定します。(「~」は「precond」か「trigger」のどちらか)
  • ~Negate (条件の逆転)
    • true : 判定条件を逆転させる
    • false : 判定条件をそのまま(デフォルト)
  • ~KeyName (レジストリエントリの名前)
    • 「HKEY_~」からのフルパスで指定する
  • ~KeyState (レジストリエントリの状態)
    • exists : エントリが存在する
    • not_exists :エントリが存在しない
  • ~KeyType (レジストリエントリの型)
    • STRING : 文字列値
    • BINARY : バイナリ値
    • DWORD : DWORD値(数値)
    • MULTI_STRING : 複数行文字列型
  • ~KeyValue (レジストリエントリの値)
    • KeyTypeによってそれぞれ書式が違うので要注意

指定できる項目の組み合わせは以下のとおり。
  • ~KeyName+~KeyState (名前+状態)
  • ~KeyName+~KeyState+~KeyType (名前+状態+型)
  • ~KeyName+~KeyState+~KeyType+~KeyValue (名前+状態+型+値)
~Negateは全てと組み合わせられます。


動作フローチャート

このフローチャートから、
  • トリガー条件のチェックは起動時と常駐時の2パターンある
  • checkType=currentでは、onTimeoutは実行されない
  • checkType=changeでは、起動時にトリガー条件に一致する場合、onUnmatchが実行される
  • checkType=bothでは、前提条件に一致しない場合以外、onUnmatchは実行されない
といった特徴が分かります。


レジストリ情報

mozurinさんが、この日記に詳しくまとめています。


更新履歴

  • 06/12/21 ちょっと追記
  • 06/12/20 フローチャートを画像に差し替え
  • 06/12/19 ページ作成

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー