2022-02-25 19:21:31
Re③:プログラム実行中に強制終了する方法
自分用の自動クリック系を何度か作っている者です。 参考に自分のはこんな雰囲気というのを貼ります。 ↓手元にあるプログラムの不要そうな部分をバッサリしたもの //-----------ここから 母艦を最前面 対象ウィンドウは「*無題*メモ帳*」 実行中チェックとはチェック 次コンボとはコンボ 次コンボのアイテムは「手順1,手順2,手順3」を「,」で区切る 必要の間 もしキー状態(90/*Z*/)>0ならば 実行中チェックの値は0 もし実行中チェックの値が1ならば 自動クリック 1秒待つ 違えば 1秒待つ ●自動クリック HANDLE=対象ウィンドウを1まで窓ハンドル検索待機 もしHANDLEが0ならば 実行中チェックの値は0 戻る HANDLEを窓ハンドルアクティブ (次コンボのテキスト)をナデシコする //↓ナデシコするで呼ばれる関数 ●手順1 もし誤画面検知ならば、戻る //x,yへマウス移動してマウスクリック 次コンボのテキストは「手順2」 ●手順2 もし誤画面検知ならば、戻る //x,yへマウス移動してマウスクリック 次コンボのテキストは「手順3」 ●手順3 もし誤画面検知ならば、戻る //x,yへマウス移動してマウスクリック 次コンボのテキストは「手順1」 //ダイアログが出ているとか画面のどこかの色が思ったのと違うとかをチェック ●誤画面検知 「確認」を窓ハンドル検索 もしそれが0でなければ 実行中チェックの値は0 //ループを止める 1を戻す 0を戻す //-----------ここまで 動作のポイント ・自分用なので母艦を最前面にして常時画面に出す ・チェックボックスを用意 ・チェックをオンにすると動き出す ・チェックをオフにしたら止まる ・キー状態を見て、Zキーを押していたらチェックをオフにする ・キー送信したい画面かどうかを確認してからキー送信する ・ダイアログが出るかウィンドウタイトルでわかるなら、窓ハンドル検索待機を使う ・それ以外なら窓キャプチャして画像色取得でわかるかもしれない ・画面の様子がおかしい場合、チェックをオフにする ・コンボボックスに次のキー送信イベントをいれてナデシコするで呼び出すとデバッグや途中復帰がしやすい 操作対象がカラフルなら、窓キャプチャと画像色取得で今どの工程かを自動判別することもできます |