UWSC初心者用スレです
わかってる人はこっち
自動化ツールUWSC使いよ集まれ24
http://egg.2ch.net/test/read.cgi/software/1625624264/
アドバイスされる方には
相談者が理解できていない部分を責めたりしないよう
お願いいたします
前スレ
UWSC初心者用スレ
http://mevius.2ch.net/test/read.cgi/tech/1537758829/
探検
UWSC初心者用スレ2
2021/11/18(木) 19:12:15.32ID:DCbtCP/2
2022/01/20(木) 17:35:23.20ID:V75Vz3Z+
78です。
家に帰ったら、スクリプトとエラーの表示内容をアップします。
家に帰ったら、スクリプトとエラーの表示内容をアップします。
2022/01/20(木) 21:42:35.09ID:MyoibU5A
2022/01/20(木) 21:44:19.00ID:PmxKwmhK
2022/01/20(木) 22:41:07.67ID:BEc60Lbm
セキュリティソフトを起動させておくと>>83のエラーが出たけど、OFFにしておくと問題ない
EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.Workbooks.add()
EXCEL.visible = True
EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.Workbooks.add()
EXCEL.visible = True
2022/01/21(金) 07:31:53.10ID:dq8Ljfzw
>>84
検証、ありがとうごさいました。
検証、ありがとうごさいました。
2022/01/23(日) 23:17:34.39ID:EK6M0RjQ
昨日まで問題なく使えてたChklmgXが急に画像認識しなくなったんだけど何か原因ありますか?
2022/01/23(日) 23:18:11.34ID:dd4Q4/BT
>>86の環境が変わった
2022/01/24(月) 17:17:53.61ID:aEoJXi2O
原因が有りすぎて特定できん
一つずつ原因を探って行くしか無い
一つずつ原因を探って行くしか無い
2022/01/24(月) 18:47:54.12ID:1UwK5pur
たびたび認識しなくなるようなら
認識用の画像を取り込むマクロ組んだほうが早い
認識用の画像を取り込むマクロ組んだほうが早い
2022/01/25(火) 08:40:44.22ID:2SB0W66n
>>86ですが、どんな感じでおかしくなったかというと、
例えば「OK」というボタンがあって、色々な「OK」ボタンがあるのですが、その違いはほとんどありません。
(OとKの隙間が何ミリ違うとかのレベル)
先日までは色々な「OK」ボタンを全て認識してくれていたのですが、急に認識しなくなりました。
どれぐらい認識しないかというと通常のChklmgぐらい認識してくれません。
例えば「OK」というボタンがあって、色々な「OK」ボタンがあるのですが、その違いはほとんどありません。
(OとKの隙間が何ミリ違うとかのレベル)
先日までは色々な「OK」ボタンを全て認識してくれていたのですが、急に認識しなくなりました。
どれぐらい認識しないかというと通常のChklmgぐらい認識してくれません。
2022/01/25(火) 09:35:40.35ID:bQTfb4+e
2022/01/25(火) 11:03:12.63ID:f9K0hpc1
Windows10だとスケーリング変えるだけで動かなくなるからそこがが一番怪しいと思うけど
次の日いきなりということ他のソフトの影響や権限関係で画像キャプチャ自体を拾えなくなってる可能性もある
次の日いきなりということ他のソフトの影響や権限関係で画像キャプチャ自体を拾えなくなってる可能性もある
2022/01/25(火) 12:15:52.72ID:clOxlBpk
OKボタンをキャプチャできないように対策された可能性も
2022/01/26(水) 18:42:02.11ID:eMrJuTGp
画像の撮り直しするしかないだろうな
自分も年2回くらいの頻度でゲームのメンテ後にそういう状況になる
自分も年2回くらいの頻度でゲームのメンテ後にそういう状況になる
2022/01/26(水) 19:31:39.15ID:3qeFT0O1
アンチエイリアスが掛かっていると
同じ画像のはずなのに僅かなドットの違いで
反応しなくなったりするみたいだな
同じ画像のはずなのに僅かなドットの違いで
反応しなくなったりするみたいだな
2022/01/26(水) 20:32:24.66ID:YrQt15hx
なんならビデオカードのドライバが変わるだけでアウトだったりするしな
ほんの僅かな違いで認識しなくなる
ほんの僅かな違いで認識しなくなる
2022/01/26(水) 22:17:32.56ID:6HW3aESR
OKの画像でダメならOだけの画像にするとはよくやる
ギリギリまで無駄な部分を削って誤差を少なくするのは基本
ギリギリまで無駄な部分を削って誤差を少なくするのは基本
2022/01/28(金) 22:55:54.34ID:oecXklWi
画像認識で押さなくとも、CLKITEMで押せたりもする
2022/03/27(日) 23:40:28.02ID:04DQ0omn
すみません教えて下さい!
@〜Bの写真を順番にクリックしたいんですけど@の写真がなければAとBの動作はしないようにするには@のchkimg()のあとに=trueをつけるといいんですか?
あと@〜Bを順番に動作させたい場合はstepは使わないですか?step入れてみたのですが訳がわからなく使っててよく分かりません
@〜Bの写真を順番にクリックしたいんですけど@の写真がなければAとBの動作はしないようにするには@のchkimg()のあとに=trueをつけるといいんですか?
あと@〜Bを順番に動作させたい場合はstepは使わないですか?step入れてみたのですが訳がわからなく使っててよく分かりません
100デフォルトの名無しさん
2022/03/28(月) 01:13:44.89ID:Qyr8aL6i @の画像とAの画像同時に存在するときに動作するようにする
ifb chkimg@ and chkimgA
click
ifb chkimg@ and chkimgA
click
101デフォルトの名無しさん
2022/03/28(月) 09:23:26.66ID:Z3wXEIoi 結局代替はみんな何使ってんの?
102デフォルトの名無しさん
2022/03/28(月) 09:44:40.37ID:1jf8X/eZ 今のところ代替の必要がない
103デフォルトの名無しさん
2022/03/31(木) 00:51:25.15ID:NioKJ8hU 教えてもらえませんか?
アクティブなウィンドウで選択している文字をCTRL+Cでコピーしたいのですが
アクティブなウィンドウが取得できません
ACW(GETID(GET_ACTIVE_WIN))をやっているのですが
別のウィンドウからコピペされてしまいます
ACW(0)だとALT+F1ではコピーできますが、再生ボタンを押すと
別のウィンドウからのコピペになってしまします
どうしたらアクティブなウィンドウを指定できますか?
アクティブなウィンドウで選択している文字をCTRL+Cでコピーしたいのですが
アクティブなウィンドウが取得できません
ACW(GETID(GET_ACTIVE_WIN))をやっているのですが
別のウィンドウからコピペされてしまいます
ACW(0)だとALT+F1ではコピーできますが、再生ボタンを押すと
別のウィンドウからのコピペになってしまします
どうしたらアクティブなウィンドウを指定できますか?
104103
2022/03/31(木) 03:24:15.22ID:NioKJ8hU105デフォルトの名無しさん
2022/04/25(月) 01:47:22.24ID:yfsHggVp こんばんは。初心者用スレではない方でも書き込んだのですが、こちらにお分かりになる方いればお教えいただきたいです。
タブレットPCを使用しているのですが、画面のタップを記録できず困っています。マウスでのクリックではなくタップを自動化したいのですが、どのようにすればよいでしょうか?
タブレットPCを使用しているのですが、画面のタップを記録できず困っています。マウスでのクリックではなくタップを自動化したいのですが、どのようにすればよいでしょうか?
106デフォルトの名無しさん
2022/05/02(月) 21:43:17.59ID:EAkaa/98 chkimgxで教えてください。
エラーが出て動作確認の為に以下のようなコードを書きました。
if chkimgx(image file)
msgbox(“1”)
else
msgbox(“2”)
endif
if chkimgx(image file)
msgbox(“3”)
else
msgbox(“4”)
endif
これを実行すると2回目のifでエラーになります。
なぜでしょうか?
エラーが出て動作確認の為に以下のようなコードを書きました。
if chkimgx(image file)
msgbox(“1”)
else
msgbox(“2”)
endif
if chkimgx(image file)
msgbox(“3”)
else
msgbox(“4”)
endif
これを実行すると2回目のifでエラーになります。
なぜでしょうか?
107デフォルトの名無しさん
2022/05/02(月) 22:32:56.47ID:OUNKq7dB 2回目のimage fileの指定が間違ってる
108デフォルトの名無しさん
2022/05/03(火) 05:14:30.48ID:q6WjpaXg " syntax error " と
" file not foud " と
" null pointer exception " では対処が違う
" file not foud " と
" null pointer exception " では対処が違う
109デフォルトの名無しさん
2022/05/03(火) 07:27:16.98ID:UCmy3FzQ やりたいことはifじゃなくてifbじゃないの
110デフォルトの名無しさん
2022/05/03(火) 10:15:47.24ID:oFZBhoiN ご指摘ありがとうごさいます。
STARTUP_CHKIMGX()
SHUTDOWN_CHKIMGX()
使用する時この中に記述しないといけないのを見落としていました。
なんとか本来行たい事も出来ました。
すみませんでした。
STARTUP_CHKIMGX()
SHUTDOWN_CHKIMGX()
使用する時この中に記述しないといけないのを見落としていました。
なんとか本来行たい事も出来ました。
すみませんでした。
111デフォルトの名無しさん
2022/05/03(火) 14:09:04.62ID:KNYGN0Wa バグの原因の多くが、スペルミスか記述漏れである事は多い
どうせスペルミスだろと思って見直す事はよくある
どうせスペルミスだろと思って見直す事はよくある
112デフォルトの名無しさん
2022/05/04(水) 06:34:34.80ID:7xKas5ey >>109
どっちも同じです
どっちも同じです
113デフォルトの名無しさん
2022/05/04(水) 18:00:54.33ID:3g5tWLyo やりたい事もやれない世の中はポイズン
114デフォルトの名無しさん
2022/05/07(土) 12:52:09.91ID:4xkMcU9J あいまい検索プラグインのchkimgXをDLしたいのですがどこにあるでしょうか?
ご指南お願いします。
piggy-bank.jp の DNS アドレスが見つかりませんでしたとなり、みつけられませんでした。
ご指南お願いします。
piggy-bank.jp の DNS アドレスが見つかりませんでしたとなり、みつけられませんでした。
115デフォルトの名無しさん
2022/05/07(土) 12:58:40.40ID:islK5eJv 無能すぎて笑ったから貼ってあげましょう
https://classicrpa.000webhostapp.com/ChkImgX-ver1.2.1.zip
https://classicrpa.000webhostapp.com/ChkImgX-ver1.2.1.zip
116デフォルトの名無しさん
2022/05/07(土) 16:22:01.86ID:ZNYq+zf8 いろんなサイトに転載されてるから chkimgX DL でググればDL出来るサイトは普通に見つかる
117デフォルトの名無しさん
2022/05/07(土) 17:25:55.09ID:4xkMcU9J >>115
ありがとうございます。
ありがとうございます。
118デフォルトの名無しさん
2022/05/25(水) 06:44:52.01ID:u9geCx6Z 最近uwscを使い始めてnoxにadbコマンドを送ってゲームの自動化をしていたのですが、キーボード入力が出来なくて困ってます。
調べたところadb shell input keyevent A でキーボードのAが入力されるみたいなのですが、実行してみたところ何も起きません。
//入力
CMD = "cd C:\Program Files (x86)\Nox\bin & nox_adb shell input keyevent A"
print CMD //CMDの内容を確認
DOSCMD(CMD) //Noxに操作を送信
sleep(1) //操作送信後1秒待機
上記実際に試したスクリプトですがどこか間違っているのでしょうか?
調べたところadb shell input keyevent A でキーボードのAが入力されるみたいなのですが、実行してみたところ何も起きません。
//入力
CMD = "cd C:\Program Files (x86)\Nox\bin & nox_adb shell input keyevent A"
print CMD //CMDの内容を確認
DOSCMD(CMD) //Noxに操作を送信
sleep(1) //操作送信後1秒待機
上記実際に試したスクリプトですがどこか間違っているのでしょうか?
119デフォルトの名無しさん
2022/05/25(水) 07:28:30.21ID:KZxZ7LBt >>118
一度に複数のコマンドを実行する場合は<#CR>改行でつなぐ
CMD = "cd C:\Program Files (x86)\Nox\bin<#CR>nox_adb shell input keyevent A"
一度に複数のコマンドを実行する場合は<#CR>改行でつなぐ
CMD = "cd C:\Program Files (x86)\Nox\bin<#CR>nox_adb shell input keyevent A"
120デフォルトの名無しさん
2022/05/25(水) 10:46:15.60ID:Z9JTB2tv 自分も>>118と同じく最近uwscとnox_adbを使い始めたのですが、
chkimgXで得られたG_IMGX_XとG_IMGX_Yをnox_adbに送るとタップ位置が(xy両方)ズレてしまいます。
ifb CHKIMGX("image1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) THEN
BTN(LEFT,CLICK,g_imgx_x, g_imgx_y,0)//←これは正しい位置をタップする
DOSCMD(dir + "nox_adb shell input touchscreen tap " + (g_imgx_x) + " " + (g_imgx_y - windowflamesize))//←これはズレる
ソースコードはQiitaの「UWSC × Nox でゲームマクロを作成する。」をほぼそのまま使ってます。
ズレが無くなるようにするにはどう書けば良いでしょうか?
chkimgXで得られたG_IMGX_XとG_IMGX_Yをnox_adbに送るとタップ位置が(xy両方)ズレてしまいます。
ifb CHKIMGX("image1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) THEN
BTN(LEFT,CLICK,g_imgx_x, g_imgx_y,0)//←これは正しい位置をタップする
DOSCMD(dir + "nox_adb shell input touchscreen tap " + (g_imgx_x) + " " + (g_imgx_y - windowflamesize))//←これはズレる
ソースコードはQiitaの「UWSC × Nox でゲームマクロを作成する。」をほぼそのまま使ってます。
ズレが無くなるようにするにはどう書けば良いでしょうか?
121デフォルトの名無しさん
2022/05/25(水) 11:34:10.69ID:kLoWZPwa G_IMGX_XとG_IMGX_Yを+か-して調整すれば良い
122デフォルトの名無しさん
2022/05/25(水) 17:11:34.18ID:Z9JTB2tv >>121
ズレる位置が常に一定なら±するだけですが、固定値では無いんです。
何らかの法則はありそうなのですが、その計算式の求め方というか根拠が分かりません。
nox_adbのタップ位置 = G_IMGX_Y * ??? + ???
ズレる位置が常に一定なら±するだけですが、固定値では無いんです。
何らかの法則はありそうなのですが、その計算式の求め方というか根拠が分かりません。
nox_adbのタップ位置 = G_IMGX_Y * ??? + ???
123デフォルトの名無しさん
2022/05/25(水) 17:59:07.24ID:u9geCx6Z124デフォルトの名無しさん
2022/05/25(水) 18:14:22.88ID:iso8r4bW UWSCってなんですか?
125デフォルトの名無しさん
2022/05/25(水) 19:39:24.22ID:rVGJ6xgQ Umiumi Windows SCript
だっけ?
だっけ?
126デフォルトの名無しさん
2022/05/31(火) 05:16:47.31ID:omctaPA2 え
127デフォルトの名無しさん
2022/05/31(火) 06:37:44.93ID:mVj/h8Ue Delphiで作られているらしいな
c#等の.net系は実現出来るのだろうか
c#等の.net系は実現出来るのだろうか
128デフォルトの名無しさん
2022/05/31(火) 06:45:19.87ID:SYdTC473 .net系は実現できるのだろうかってどういう意味?
129デフォルトの名無しさん
2022/06/02(木) 20:31:26.54ID:rz5QQV47 見た目は今風になるだろうけどDelphiよりは確実にもっさりしたのが出来上がる
130デフォルトの名無しさん
2022/06/03(金) 04:53:58.22ID:GQ43dJuv 今UWSCと同じような物を作る最適な言語はなんだ
Delphiは優秀だけど古いよな
Delphiは優秀だけど古いよな
131デフォルトの名無しさん
2022/06/03(金) 09:32:49.12ID:4c5BNRsi pythonじゃね
それかruby
ゲームのマクロ目的だからExcelを自動化みたいな考えは無い
それかruby
ゲームのマクロ目的だからExcelを自動化みたいな考えは無い
132デフォルトの名無しさん
2022/06/03(金) 14:40:18.33ID:971V5y+F 言語に古いも新しいもない
133デフォルトの名無しさん
2022/06/03(金) 15:20:14.94ID:0iMwvplW あるけど 古い=悪い わけではない
134デフォルトの名無しさん
2022/06/03(金) 22:01:48.99ID:vpEWwdrG rubyはGUIが弱くってそこを補うためにuwsc使ってるからuwscの代替となるかと言われると無理な気がする
135デフォルトの名無しさん
2022/06/03(金) 22:40:43.65ID:3c73icsX UWSCでGUIはなくてもよさそうだけど
136デフォルトの名無しさん
2022/06/03(金) 22:52:34.21ID:971V5y+F Python 1991年
Ruby 1993年
Delphi 1995年
どれも大差ないよ
Ruby 1993年
Delphi 1995年
どれも大差ないよ
137デフォルトの名無しさん
2022/06/04(土) 00:45:44.64ID:vzqEPqD2 Python等のインタプリター言語で
uwscのインタプリターを作ったら
遅くなり過ぎるだろ
uwscのインタプリターを作ったら
遅くなり過ぎるだろ
138デフォルトの名無しさん
2022/06/04(土) 05:07:12.40ID:uhrbPQbf 知ったか
139デフォルトの名無しさん
2022/06/04(土) 09:06:55.20ID:hxU+fwdC いや、当たり前のこと言ってるようにしか思えないんだが
140デフォルトの名無しさん
2022/06/04(土) 09:36:23.36ID:4UBGSNRy 作者がもうこの世にいない以上、今あるUWSCでどうにかするしかない
141デフォルトの名無しさん
2022/06/16(木) 15:59:53.46ID:N3SYIUJS >>135
fukidasiだけでもめっちゃ便利なんです
fukidasiだけでもめっちゃ便利なんです
142デフォルトの名無しさん
2022/06/23(木) 21:20:05.65ID:4JatNiDf マルチスレッドを使えば
吹き出し64個同時表示が可能なんだよな
吹き出し64個同時表示が可能なんだよな
143デフォルトの名無しさん
2022/06/26(日) 13:09:31.78ID:hbdcqL5D エスケープ文字のエスケープ方法を知りませんか?
ダブルクォーテーション、改行、タブは
エスケープ文字として<#DBL>、<#CR>、<#TAB>が割り当てられていますが、
例えば「"テスト<#DBL>です"」という文字列をファイルに出力すると
エスケープされて「テスト"です」という内容のファイルが出来ます。
これをエスケープされないように「テスト<#DBL>です」と出力するには
どうすればいいのでしょうか?
ダブルクォーテーション、改行、タブは
エスケープ文字として<#DBL>、<#CR>、<#TAB>が割り当てられていますが、
例えば「"テスト<#DBL>です"」という文字列をファイルに出力すると
エスケープされて「テスト"です」という内容のファイルが出来ます。
これをエスケープされないように「テスト<#DBL>です」と出力するには
どうすればいいのでしょうか?
144デフォルトの名無しさん
2022/06/26(日) 13:12:38.36ID:UB4e87n3 チョンチョンで囲っても駄目なんだな
145sage
2022/06/26(日) 15:45:20.94ID:1mHgElUf146デフォルトの名無しさん
2022/06/26(日) 18:48:40.54ID:bS2HZoKx147デフォルトの名無しさん
2022/06/28(火) 11:54:10.54ID:t3kJoord モヤモヤが動いていて画像が指定クリック出来ません💦
あいまい画像検索しても上手くいかないのですが方法はありますか?
あいまい画像検索しても上手くいかないのですが方法はありますか?
148デフォルトの名無しさん
2022/06/28(火) 11:55:08.44ID:t3kJoord149デフォルトの名無しさん
2022/06/28(火) 17:08:34.60ID:/dfK2g9c モザイクを無視して文字列だけを認識させるという事か?
150デフォルトの名無しさん
2022/06/28(火) 20:47:32.69ID:b3tUfSci151デフォルトの名無しさん
2022/07/29(金) 16:42:17.83ID:so2b8qwX test
152デフォルトの名無しさん
2022/07/30(土) 21:13:43.61ID:8Mquypwa tester
153デフォルトの名無しさん
2022/07/31(日) 23:15:10.36ID:LmtiMMax testest
154デフォルトの名無しさん
2022/08/06(土) 11:49:04.93ID:Jq43FlU6 オンラインゲームでマーケットにアイテムが出品された瞬間に購入するbotを作る場合
uwscとpythonどちらのほうが早く購入することができますか?
uwscとpythonどちらのほうが早く購入することができますか?
155デフォルトの名無しさん
2022/08/06(土) 12:52:24.92ID:+9Ajl8XK 不定
156デフォルトの名無しさん
2022/08/06(土) 13:52:07.75ID:3XvgAeC8157デフォルトの名無しさん
2022/08/06(土) 17:37:43.29ID:Jq43FlU6 >>156
それはそうかもしれませんが、単純に速さはどちらが上ですか?
それはそうかもしれませんが、単純に速さはどちらが上ですか?
158デフォルトの名無しさん
2022/08/08(月) 14:21:58.10ID:A57pDOpl 同じウィンドウ名とクラス名のブラウザアプリ(ChromeとEdge)で、同時に同じ箇所を1回だけ裏クリックしたいです。
色々なサイトを参考にして書いてみたのですが、全く動作しませんでした。
どう改善すれば良いかご教示ください。
FUNCTION GETID2(title, class, n)
DIM cnt = 0
FOR i = 0 TO GETALLWIN() - 1
DIM ID = ALL_WIN_ID[i]
DIM targetTitle = STATUS(ID, ST_TITLE)
DIM targetClass = STATUS(ID, ST_CLASS)
IFB POS(title, targetTitle) <> 0 AND POS(class, targetClass) <> 0 THEN
cnt = cnt + 1
IFB cnt = n THEN
RESULT = ID
EXIT
ENDIF
ENDIF
NEXT
IF n = 0 THEN RESULT = cnt
FEND
FOR i = 1 TO ("ゲーム名", "Chrome_RenderWidgetHostHWND", 0)
mouseorg(i, 2, MORG_BACK)
BTN(LEFT, CLICK, 319, 474)
NEXT
色々なサイトを参考にして書いてみたのですが、全く動作しませんでした。
どう改善すれば良いかご教示ください。
FUNCTION GETID2(title, class, n)
DIM cnt = 0
FOR i = 0 TO GETALLWIN() - 1
DIM ID = ALL_WIN_ID[i]
DIM targetTitle = STATUS(ID, ST_TITLE)
DIM targetClass = STATUS(ID, ST_CLASS)
IFB POS(title, targetTitle) <> 0 AND POS(class, targetClass) <> 0 THEN
cnt = cnt + 1
IFB cnt = n THEN
RESULT = ID
EXIT
ENDIF
ENDIF
NEXT
IF n = 0 THEN RESULT = cnt
FEND
FOR i = 1 TO ("ゲーム名", "Chrome_RenderWidgetHostHWND", 0)
mouseorg(i, 2, MORG_BACK)
BTN(LEFT, CLICK, 319, 474)
NEXT
159デフォルトの名無しさん
2022/08/09(火) 20:42:54.77ID:WTH4cAqy For i = 1 to 100
BTN(LEFT,CLICK,x1,y1,0)
sleep(5)
BTN(LEFT,CLICK,x2,y2,0)
sleep(5)
BTN(LEFT,CLICK,x3,y3,0)
sleep(5)
BTN(LEFT,CLICK,x4,y4,0)
sleep(5)
next
これを実行中に画像Aが表示されたらそれをクリックして再開するにはどうすればいいですか。
BTN(LEFT,CLICK,x1,y1,0)
sleep(5)
BTN(LEFT,CLICK,x2,y2,0)
sleep(5)
BTN(LEFT,CLICK,x3,y3,0)
sleep(5)
BTN(LEFT,CLICK,x4,y4,0)
sleep(5)
next
これを実行中に画像Aが表示されたらそれをクリックして再開するにはどうすればいいですか。
160デフォルトの名無しさん
2022/08/10(水) 21:46:14.83ID:zuCuX6KX >>159
画像があればクリックするという関数をつくって
それをBTN()とBTN()の間で呼ぶようにすればいい
THREAD()を使ったりするとクリックの競合が
発生しないように制御しなければならなくなるので
こちらのほうが素直
画像があればクリックするという関数をつくって
それをBTN()とBTN()の間で呼ぶようにすればいい
THREAD()を使ったりするとクリックの競合が
発生しないように制御しなければならなくなるので
こちらのほうが素直
161デフォルトの名無しさん
2022/08/11(木) 13:41:16.86ID:UtolBXHt For i = 1 to 100
BTN(LEFT,CLICK,x1,y1,0)
sleep(5)
BTN(LEFT,CLICK,x2,y2,0)
sleep(5)
BTN(LEFT,CLICK,x3,y3,0)
sleep(5)
BTN(LEFT,CLICK,x4,y4,0)
sleep(5)
IFB CHKIMG("画像A.bmp");BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,0);ENDIF
next
BTN(LEFT,CLICK,x1,y1,0)
sleep(5)
BTN(LEFT,CLICK,x2,y2,0)
sleep(5)
BTN(LEFT,CLICK,x3,y3,0)
sleep(5)
BTN(LEFT,CLICK,x4,y4,0)
sleep(5)
IFB CHKIMG("画像A.bmp");BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,0);ENDIF
next
162デフォルトの名無しさん
2022/08/12(金) 14:38:28.84ID:m6+pfbJk >>160
BTN()が100以上など数が多い場合も間で呼ぶしかないのでしょうか。
>>
161
4回クリックした後に画像検索をするのではなく、1クリックごとに画像検索できるようにしたいです。
返信ありがとうございました。自分でも調べてみます。何かわかれば教えてください。
BTN()が100以上など数が多い場合も間で呼ぶしかないのでしょうか。
>>
161
4回クリックした後に画像検索をするのではなく、1クリックごとに画像検索できるようにしたいです。
返信ありがとうございました。自分でも調べてみます。何かわかれば教えてください。
163デフォルトの名無しさん
2022/08/12(金) 15:35:31.78ID:AU9IgIpc >>162
こんな感じでどう?
For i = 1 to 100
HOGE1(x[i],y[i])
next
PROCEDURE HOGE1(x, y)
BTN(LEFT,CLICK,x,y,0)
sleep(5)
IFB CHKIMG("画像A.bmp");BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,0);ENDIF
FEND
こんな感じでどう?
For i = 1 to 100
HOGE1(x[i],y[i])
next
PROCEDURE HOGE1(x, y)
BTN(LEFT,CLICK,x,y,0)
sleep(5)
IFB CHKIMG("画像A.bmp");BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,0);ENDIF
FEND
164デフォルトの名無しさん
2022/08/13(土) 16:39:49.84ID:p1KZrIM2165158
2022/08/13(土) 18:04:03.85ID:NorQZddu すみません、どなたか教えていただけませんか…
166デフォルトの名無しさん
2022/08/13(土) 19:43:14.34ID:KPz0o6R8167デフォルトの名無しさん
2022/08/13(土) 20:59:01.69ID:P4IK+cir >>165
ChromeとEdgeでBTN(LEFT, CLICK, 319, 474)ができれば良いのか?
ChromeとEdgeでBTN(LEFT, CLICK, 319, 474)ができれば良いのか?
168デフォルトの名無しさん
2022/08/13(土) 23:00:56.01ID:NorQZddu169デフォルトの名無しさん
2022/08/13(土) 23:36:32.85ID:P4IK+cir //難しく考えすぎなんじゃ無いの?
DIM クローム = GETID("Chrome"),エッジ = GETID("Edge")
MOUSEORG(クローム,2,2)
BTN(LEFT,CLICK,319,474)
MOUSEORG(0)
MOUSEORG(エッジ,2,2)
BTN(LEFT,CLICK,319,474)
MOUSEORG(0)
DIM クローム = GETID("Chrome"),エッジ = GETID("Edge")
MOUSEORG(クローム,2,2)
BTN(LEFT,CLICK,319,474)
MOUSEORG(0)
MOUSEORG(エッジ,2,2)
BTN(LEFT,CLICK,319,474)
MOUSEORG(0)
170デフォルトの名無しさん
2022/08/14(日) 00:19:06.35ID:1XEnC456 >>169
ごめんなさい、説明不足でした
そのブラウザゲームというのが、ブラウザから独立したアプリ?のような扱いになっているので、
タイトル名にChromeやEdgeといった文字が含まれておらず、ゲーム名だけなのです
ごめんなさい、説明不足でした
そのブラウザゲームというのが、ブラウザから独立したアプリ?のような扱いになっているので、
タイトル名にChromeやEdgeといった文字が含まれておらず、ゲーム名だけなのです
171デフォルトの名無しさん
2022/08/14(日) 01:05:25.29ID:wZs9w9Jg >>158のソースはgetid2を呼んでるのかと呼んでるなら引数のn=0が仕事してなさそうな気がするけどその辺は正しいの?
172デフォルトの名無しさん
2022/08/14(日) 09:26:56.54ID:C9iCXLwP >>170
タイトル指定が面倒な時の裏技みたいなもんだから、ChromeやEdgeがタイトルに含まれてる必要はないよ
タイトル指定が面倒な時の裏技みたいなもんだから、ChromeやEdgeがタイトルに含まれてる必要はないよ
173デフォルトの名無しさん
2022/08/14(日) 09:58:46.13ID:9+drVVHY >>170
GETIDはタイトルだけじゃなくてクラス名も指定できる
これでChromeとEdgeの識別ができる
クラス名はChromeとEdgeの片方を起動した状態で
GETALLWIN()
FOR win IN ALL_WIN_ID
IF STATUS(win,ST_TITLE) = "ゲーム名" THEN PRINT STATUS(win,ST_CLASS)
NEXT
で取得できる
何をしてるかはヘルプのGETALLWINとSTATUSを読めばわかるとおもう
GETIDはタイトルだけじゃなくてクラス名も指定できる
これでChromeとEdgeの識別ができる
クラス名はChromeとEdgeの片方を起動した状態で
GETALLWIN()
FOR win IN ALL_WIN_ID
IF STATUS(win,ST_TITLE) = "ゲーム名" THEN PRINT STATUS(win,ST_CLASS)
NEXT
で取得できる
何をしてるかはヘルプのGETALLWINとSTATUSを読めばわかるとおもう
174デフォルトの名無しさん
2022/08/14(日) 14:04:02.28ID:1XEnC456175デフォルトの名無しさん
2022/08/14(日) 16:33:04.96ID:C9iCXLwP ブラウザから独立したアプリ以外は閉じるか最小化して、余計なモノを無視するようにすれば出来るかも
テキトウなゲームアプリで試したら出来たし
テキトウなゲームアプリで試したら出来たし
176デフォルトの名無しさん
2022/08/14(日) 16:36:00.95ID:h7b2YHtm >>174
>>173の調査で、Chrome_WidgetWin_1 が無事に2個あるなら
どっちかがChromeのIDで、もう一方がEdgeのIDなので
FOR GameWinID = 0 TO RESIZE(ALL_WIN_ID) - 1
IFB ゲームのIDかどうかSTATUS(GameWinID , ST_TITLE)で調べる
ゲームのIDだったら>>168
念のためカウントしてPRINT
ENDIF
NEXT
3個以上なら、ここの判定を改良
IFB ゲームのIDかどうかSTATUS(GameWinID , ST_TITLE)で調べる
STATUS(ID, ST_PATH) // EXEのパスを返す
STATUS(ID, ST_PARENT) // 親ウィンドウのIDを返す、親が無ければ-1
などと組み合わせて
>>173の調査で、Chrome_WidgetWin_1 が無事に2個あるなら
どっちかがChromeのIDで、もう一方がEdgeのIDなので
FOR GameWinID = 0 TO RESIZE(ALL_WIN_ID) - 1
IFB ゲームのIDかどうかSTATUS(GameWinID , ST_TITLE)で調べる
ゲームのIDだったら>>168
念のためカウントしてPRINT
ENDIF
NEXT
3個以上なら、ここの判定を改良
IFB ゲームのIDかどうかSTATUS(GameWinID , ST_TITLE)で調べる
STATUS(ID, ST_PATH) // EXEのパスを返す
STATUS(ID, ST_PARENT) // 親ウィンドウのIDを返す、親が無ければ-1
などと組み合わせて
177デフォルトの名無しさん
2022/08/14(日) 16:58:30.77ID:h7b2YHtm >>176
書きわすれ。どこか最初の方で
AllWinID = GETALLWIN() をやっておいて
FOR GameWinID = 0 TO RESIZE(ALL_WIN_ID) - 1 も
FOR GameWinID = 0 TO AllWinID - 1 のほうがわかりやすいかも
書きわすれ。どこか最初の方で
AllWinID = GETALLWIN() をやっておいて
FOR GameWinID = 0 TO RESIZE(ALL_WIN_ID) - 1 も
FOR GameWinID = 0 TO AllWinID - 1 のほうがわかりやすいかも
178デフォルトの名無しさん
2022/08/14(日) 17:32:57.22ID:PBIVozZX 初心者スレだからこのゲームのここでこうしたいけど出来ないまで書いちゃえば?
179デフォルトの名無しさん
2022/08/15(月) 04:20:46.46ID:pm4LQRan >>170
試しにこれを実行してみてほしい
DIM sSearchTitle = INPUT("指定するブラウザのアクティブなタブ表示を入力")
DIM idWnd = getid(sSearchTitle)
DIM sBrowserName = WhatBrowser(idWnd)
MSGBOX("ブラウザは"+sBrowserName)
FUNCTION WhatBrowser(idWnd)
RESULT = "不明"
DIM sFullTitle = STATUS(idWnd, ST_TITLE)
//MSGBOX(sFullTitle)
INPUT("ウィンドウのフルタイトル", sFullTitle )
IFB POS( " - Google Chrome", sFullTitle) THEN
RESULT = "Chrome"
ELSEIF POS( " - Chromium", sFullTitle) THEN
RESULT = "Chromium"
// ELSEIF POS( " - Microsoft Edge", sFullTitle) THEN
// Microsoftの後ろはゼロ幅スペース: U+200Bに続いて通常のスペース
// UTF-8 保存でなら使用できる
ELSEIF POS( " - Microsoft", sFullTitle) AND POS(" Edge", sFullTitle) THEN
RESULT = "Edge"
ELSEIF POS( " - Vivaldi", sFullTitle) THEN
RESULT = "Vivaldi"
ENDIF
FEND
試しにこれを実行してみてほしい
DIM sSearchTitle = INPUT("指定するブラウザのアクティブなタブ表示を入力")
DIM idWnd = getid(sSearchTitle)
DIM sBrowserName = WhatBrowser(idWnd)
MSGBOX("ブラウザは"+sBrowserName)
FUNCTION WhatBrowser(idWnd)
RESULT = "不明"
DIM sFullTitle = STATUS(idWnd, ST_TITLE)
//MSGBOX(sFullTitle)
INPUT("ウィンドウのフルタイトル", sFullTitle )
IFB POS( " - Google Chrome", sFullTitle) THEN
RESULT = "Chrome"
ELSEIF POS( " - Chromium", sFullTitle) THEN
RESULT = "Chromium"
// ELSEIF POS( " - Microsoft Edge", sFullTitle) THEN
// Microsoftの後ろはゼロ幅スペース: U+200Bに続いて通常のスペース
// UTF-8 保存でなら使用できる
ELSEIF POS( " - Microsoft", sFullTitle) AND POS(" Edge", sFullTitle) THEN
RESULT = "Edge"
ELSEIF POS( " - Vivaldi", sFullTitle) THEN
RESULT = "Vivaldi"
ENDIF
FEND
180デフォルトの名無しさん
2022/08/15(月) 04:44:39.65ID:pm4LQRan これでの判定があっていれば
>>169のいうとおり
最初からChromeかEdgeか指定して取得できる
表示上ブラウザ名がついていなくても内部的にはたぶんついている
GETID() はタイトルの一部のみで取得できそれが先頭部分である必要もない
もしこれで判定できなければ
https://plaza.rakuten.co.jp/dmaster/diary/200512210004/
のように実行EXE名を取得できるのでそれで判定する方法がある
ただChromeでは問題なかったが
Edgeの場合何かのセキュリティが効いているらしくEnumProcessModules()
がエラーになった
>>169のいうとおり
最初からChromeかEdgeか指定して取得できる
表示上ブラウザ名がついていなくても内部的にはたぶんついている
GETID() はタイトルの一部のみで取得できそれが先頭部分である必要もない
もしこれで判定できなければ
https://plaza.rakuten.co.jp/dmaster/diary/200512210004/
のように実行EXE名を取得できるのでそれで判定する方法がある
ただChromeでは問題なかったが
Edgeの場合何かのセキュリティが効いているらしくEnumProcessModules()
がエラーになった
181デフォルトの名無しさん
2022/08/15(月) 21:06:49.51ID:RCL1oiri 皆さん色々とありがとうございます
これ以上混乱させてはいけないと思うので、やりたい事を具体的に書かせていただきます
放置少女 for ブラウザ というブラウザ版のゲームで、姫プレイという60秒ごとにクリックするコンテンツがあるのですが
2つのアカウントを作業がてら操作するのが煩わしかったので、自動化させたいと思いました
これ以上混乱させてはいけないと思うので、やりたい事を具体的に書かせていただきます
放置少女 for ブラウザ というブラウザ版のゲームで、姫プレイという60秒ごとにクリックするコンテンツがあるのですが
2つのアカウントを作業がてら操作するのが煩わしかったので、自動化させたいと思いました
レスを投稿する
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★2 [BFU★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 [蚤の市★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 【MLB】ドジャース・山本由伸と渦中の村上宗隆が会食 米メディア騒然 「村上と大谷翔平が同じ打線に並ぶ姿を想像してみてほしい」 [冬月記者★]
- 中国「高市が謝罪しなければ、ハニトラに引っかかった日本の政治家を公表する」 [804169411]
- 【実況】博衣こよりのえちえちカービィのエアライダー🧪★2
- (´・ω・`)もう寝るね
- 最近気付いたんだけど俺肉の味じゃなくて塩味と食感で米食ってた
- 福岡でミカンの木に逆さ吊りの死体😨 [369521721]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
