日本語プログラミング言語なでしこの公式掲示板

なでしこ の 掲示板

トップ 新規 検索

2022-02-25 19:21:31

Re③:プログラム実行中に強制終了する方法

TKI さん

自分用の自動クリック系を何度か作っている者です。
参考に自分のはこんな雰囲気というのを貼ります。

↓手元にあるプログラムの不要そうな部分をバッサリしたもの
//-----------ここから
母艦を最前面
対象ウィンドウは「*無題*メモ帳*」

実行中チェックとはチェック
次コンボとはコンボ
次コンボのアイテムは「手順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キーを押していたらチェックをオフにする

・キー送信したい画面かどうかを確認してからキー送信する
 ・ダイアログが出るかウィンドウタイトルでわかるなら、窓ハンドル検索待機を使う
 ・それ以外なら窓キャプチャして画像色取得でわかるかもしれない
 ・画面の様子がおかしい場合、チェックをオフにする

・コンボボックスに次のキー送信イベントをいれてナデシコするで呼び出すとデバッグや途中復帰がしやすい

操作対象がカラフルなら、窓キャプチャと画像色取得で今どの工程かを自動判別することもできます


(編集パスワード送信)

子記事

親記事 (No.1234)
返信した記事(元) (No.1238)

この内容(No.1240)に返信

この内容(No.1240)をダウンロード

この内容(No.1240)のテキスト表示





www.eznavi.net