メイン画面説明・マクロ設定方法・コマンド一覧

madekey画面説明

INI\macsys.iniの内容説明

ユーザ任意\control.ini の内容説明

keystreamへの複数キー設定の方法

CTRL+V、ダブルクリックなどの特殊入力

マクロ実行中にアプリウィンドウを移動して良い場合

key_streamに設定できるマウス&キー&コマンド一覧



madekey画面説明

@設定名リスト・・・macsys.iniのapp_nameにユーザにより設定された任意文字列が出る、ユーザはこれにより使用するマクロを選択する。

Aターゲットアプリ名・・・マクロを施すアプリケーション名を指定する。@をクリックすることにより自動設定される。(macsys.iniのtarget_appの設定は必要)
また、desktopと設定するとマクロ対象はデスクトップになる。

B判定RGB範囲値・・・具体的に言えば、判定する画像のRGB値が例えばR値G値B値全て100だった場合、95〜105の間なら一致と判定する。(設定値5の時)

C入力後のランダム・・・キー入力後に待機時間をランダム設定できる。100と入力すれば内部的に0〜99の乱数を生成し待機時間とする。

Dデバッグモード・・・チェックONでauto_log.txtにキー送信時等のログを出力する。
〜制約〜
def_keyに関しては出力しない。
書き込みはAUTO停止時となっている。

〜ログの種類〜
5-1.first_bit_exist0 = "TRUE"の時に出力されるログ
内容:何番目の設定の画面がどこで見つかったか否かをログ出力する。
書式例:
「画像設定 0番が以下座標に見つかりました。:True」
「座標:[x]166- [y]99」

5-2.キー送信時に出力されるログ
内容:何番目の設定で何のキーを送信したか、また何の画像化をログ出力する。
書式例:
YYYY/MM/DD-HH:MM:SS キー発行:0番目 MOUSE_MV ..FileName:test_apli\left.bmpに反応

EAUTO開始・・・マクロを実行する。AUTO停止後、本ツールを再起動しなくてもAUTO開始が可能。
ただし、@のリストにて行変更すると別アプリのマクロ起動とみなし、初期化処理(場合により数分かかる処理)を行う。
ちなみに、control.ini内にfirst_bit_exist0 = "TRUE"の設定があると画面内を全サーチするイメージになるので、お使いのPC環境によっては数分以上の時間がかかる可能性があり、先述の初期化処理とは主にこれを指します。

INI\macsys.iniの内容説明

各設定はダブルコーテーションでくくる事。またiniファイル制御の性質上、設定の後ろにコメントは打ってはいけない。

[System]         ・・・ここはユーザが変更してはいけない

hotkey = "CTRL+SHIFT"  「AUTO開始」を停止するマクロ終了ホットキーの割り当て。
(ALT,SHIFT,CTRLの指定が可能です)
virkey = "F10"   この設定でCTRL+SHIFT+F10がマクロ終了ホットキーになります。
 


[Initialize]        ・・・ここはユーザが変更してはいけない

app_name0="なんとかRPG" madekey画面の左上のリストに表示される文字でなんでもよい 
ctl_file0="ユーザ任意\control.ini" マクロファイルのパス。(本ツールはcontrol.iniにマクロを記述する。)
target_app0="DragonFantazy - ver1" マクロを行う対象アプリケーション名。また"desktop"とすると対象がデスクトップになる。



●ユーザ任意\control.ini の内容説明

各設定はダブルコーテーションでくくる事。またiniファイル制御の性質上、設定の後ろにコメントは打ってはいけない。

;;以下のdef_key〜def_key_after_waitで一塊の設定であり、削除してはいけない。
以下に内容を記述する。

[app_data]   ・・・ここはユーザが変更してはいけない。

def_key = "" FileName〜hantei_y(後述)で合致しなかった場合に送信するキー
""ならキー送信しない。その他設定できる値はコマンド一覧 を参照のこと 
また、FileName〜hantei_y設定自体が存在しない場合は、こちらの設定が適用される。
def_key_before_wait = "0" キーを送る前の待機時間。(単位ms)
def_key_after_wait = "0" キーを送った後の待機時間。(単位ms)



;;以下のFileName0〜hantei_y0で一塊の画像判定用設定になっている。追加する場合は各項目番号にシーケンス番号を付加し管理する。
追加した場合はシーケンス番号の若い者から優勢順位が高く、画像判定にヒットしたもののみキー送信を送り、その他の設定は切り捨てられる。(ただし、一つの設定で複数のキー送信を行うことは可能)どれにも当てはまらない場合はdef_keyに従うようになっている。
キー送信を行った後は再度各設定を監視する動作になる、これを延々と終了ホットキーが押されるか、madekeyタスクがアクティブになるまで繰り返す。
また、FileName〜hantei_yはユーザ任意であるから必ずしもなければいけないという訳ではない。

FileName0 = "test_apli\left.bmp" 画面内を検索する画像のパス。
BMPの24ビット形式で保存の事。それ以外のJPG,GIF等は未サポート。
また、複数設定はできない。複数設定したい場合はFileName1〜hantei_y1という感じで設定を増やす必要がある。
 
key_stream0 = "MOUSE_MV" キー送信コマンド。設定できる値はコマンド一覧を参照のこと
hantei_houhou0= "NOT EQUAL" NOT EQUAL:FileName0の指定画像と画面とで不一致ならキーを送る。
EQUAL:一致したらキー送る
first_bit_exist0 = "TRUE" TRUE:「AUTO開始」をクリックするときにFileName0の画像が画面内にある。
FALSE:「AUTO開始」をクリックするときにFileName0の画像が画面内にない。
key_before_wait0 = "2000" 押す前の待機時間(単位ms)
key_after_wait0 = "2000" 押した後の待機時間(単位ms)
search_width0 = "0  クライアント領域のサーチ横幅。主にfirst_bit_existがFALSEの時(指定画像が画面に突然出てくるタイプ)に設定する。基点はhantei_x、hantei_yで設定する。
サーチ幅が大きければそれだけサーチ時間がかかる。
search_height0 = "0" クライアント領域のサーチ縦幅。後はsearch_width0と同じ。
 
hantei_x0 = "0"  クライアント領域のサーチ開始X座標
 
hantei_y0 = "0"  クライアント領域のサーチ開始Y座標
   



複数キー設定の方法
以下のように'>'をはさむ事で複数キーをコンボ入力する事が可能。
以下例ではカーソル左、下、SPACEキーを連続で送る。
key_stream0 = "LEFT > DOWN > SPACE"

・ウェイト設定も複数設定が可能である。
key_before_wait0 = "100 > 200 > 300"
key_after_wait0 = "400 > 500 > 600"
この場合だと、
LEFT押下前に100ms待機後、LEFT押下し、400ms待機する。
DOWN押下前に200ms待機後、DOWN押下し、500ms待機する。
SPACE押下前に300ms待機後、SPACE押下し、600ms待機する。

また、以下のようにしても良い。この場合は各キーに同待機時間が施される。
key_before_wait0 = "100"
key_after_wait0 = "400"

CTRL+V、ダブルクリックなどの特殊入力
以下のようにkey_stream0にはコントロールキーとの複合も可能である。
key_stream0 = "CTRL+V"

また、コントロール系キーとの複合も可能である。
key_stream0 = "SHIFT+END"

ダブルクリックは以下のようにし、key_before_wait0、key_after_wait0は低めに抑える。
key_stream0 = "L_CLICK > L_CLICK"
key_before_wait0 = "10"
key_after_wait0 = "10"

マクロ実行中にアプリウィンドウを移動して良い場合
first_bit_exist0 = "FALSE"と設定するとユーザ指定の矩形範囲で画面のサーチを行うが、
この場合、クライアント座標から位置計算するのでアプリウィンドウを移動して良い。
反対にfirst_bit_exist0 = "TRUE"とすると「AUTO開始時」に指定画像のサーチを画面全体で行い見つかった場所をデータ保持するため、マクロ実行中にアプリウィンドウを移動されると位置情報がずれるので、アプリウィンドウを移動してはいけない。(おそらく動かしても大丈夫なよう対応が可能、というか移動前の座標を保持すれば良いという話のような気がするが、今回(Ver2.0)ではこの形となっている。)

●def_key、key_streamに設定できるマウス&キー&コマンド一覧
""                       ・・・「""」なら何もキー送信しない。

L_CLICK                ・・・左クリック(画像の真ん中)
L_CLICK x y          ・・・左クリック(画面内座標)
L_CLICK_C x y       ・・・左クリック(クライアント座標)
L_CLICK ±x ±y       ・・・左クリック(画像の真ん中から相対座標指定が可能) ...2012/4/1update
R_CLICK               ・・・右クリック(画像の真ん中)
R_CLICK x y          ・・・右クリック(画面内座標)
R_CLICK_C x y       ・・・右クリック(クライアント座標)
R_CLICK ±x ±y       ・・・右クリック(画像の真ん中から相対座標指定が可能)...2012/4/1update
C_CLICK               ・・・センタークリック(画像の真ん中)
C_CLICK x y          ・・・センタークリック(画面内座標)
C_CLICK_C x y       ・・・センタークリック(クライアント座標)
C_CLICK ±x ±y       ・・・センタークリック(画像の真ん中から相対座標指定が可能)...2012/4/1update
MOUSE_MV           ・・・マウスカーソル動かすだけ(画像の真ん中)
MOUSE_MV x y      ・・・マウスカーソル動かすだけ(画面内座標)
MOUSE_MV_C x y   ・・・マウスカーソル動かすだけ(クライアント座標)
MOUSE_MV ±x ±y   ・・・マウスカーソル動かすだけ(画像の真ん中から相対座標指定が可能)...2012/4/1update

S_INP 'acb ABC'     ・・・S_INPと指定し「'」で囲むと指定文字列の入力ができる。全角はできない。
                            この例だと小文字abc、スペース1つ、大文字ABCと打つ。
                            指定できる文字は以下の通り。('>'のみ現状できない。)
                             !"#$%&'()=~|`{+*}<?_QWERTYUIOPASDFGHJKLZXCVBNM
                            1234567890-^\qwertyuiop@[asdfghjkl;:]zxcvbnm,./\

F1    ・・・ファンクションキー
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
F15
F16

UP          ・・・カーソル
DOWN
LEFT
RIGHT

T-KEY0   ・・・テンキー
T-KEY1
T-KEY2
T-KEY3
T-KEY4
T-KEY5
T-KEY6
T-KEY7
T-KEY8
T-KEY9
T-DIV
T-MULTI
T-SUB
T-ADD
T-ENTER
T-RETURN
T-DOT

ESC
BACK
TAB
CAPS
SHIFT
CTRL
ALT
ENTER
RETURN
NUMLOCK
PRINT
PRINTSCREEN
SCROLLLOCK
PAUSE
INSERT
DELETE
HOME
END
PAGEUP
PAGEDOWN
SPACE
CANCEL
CLEAR
SELECT
EXECUTE
HELP
KANJI
WINMARK_L       ・・・窓キー左
WINMARK_R       ・・・窓キー右
LIST_KEY
MUHENKAN
HENKAN
KANA


以上

重要:
当ページに記載された内容および本ツールによるトラブル、データ破損等、当方は一切の責任を負いかねます。