◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

UWSC初心者用スレ2 ->画像>12枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1637230335/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2021/11/18(木) 19:12:15.32ID:DCbtCP/2
UWSC初心者用スレです

わかってる人はこっち
自動化ツールUWSC使いよ集まれ24
http://egg.2ch.net/test/read.cgi/software/1625624264/

アドバイスされる方には
相談者が理解できていない部分を責めたりしないよう
お願いいたします

前スレ
UWSC初心者用スレ
http://mevius.2ch.net/test/read.cgi/tech/1537758829/
2デフォルトの名無しさん
2021/11/18(木) 19:13:06.18ID:DCbtCP/2
●ダウンロード
https://www.vector.co.jp/soft/winnt/util/se115105.html
https://web.archive.org/web/20180125141222/http://www.uwsc.info/download.html

●サンプル
http://www.uwsc.info/sample.html

●FAQ
http://www.uwsc.info/faq.html
3デフォルトの名無しさん
2021/11/18(木) 19:15:32.85ID:DCbtCP/2
●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、
具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi

●UWSC - Wikipedia
http://ja.wikipedia.org/wiki/UWSC
4デフォルトの名無しさん
2021/11/18(木) 19:16:04.98ID:DCbtCP/2
●使い方・基礎解説学習サイト
http://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
http://www.confrage.com/uwsc/
http://necro.jp/dev/uwsc/
http://canal22.org/
http://big.tm.land.to/handbook/uwsc.htm
http://www.game-rev.com/review/gameut/uwsc.html
5デフォルトの名無しさん
2021/11/18(木) 19:17:03.75ID:DCbtCP/2
●スクリプトテンプレサイト
http://siromasa.html.xdomain.jp/uwsc/index.html
http://scripts.web.fc2.com/
http://nem.symphonic-net.com/uwsct/0610uwsct.html
http://iriyak.adam.ne.jp/uwsc.html
6デフォルトの名無しさん
2021/11/18(木) 19:44:11.37ID:55HQlN17
おったておつ
7デフォルトの名無しさん
2021/11/18(木) 20:16:10.94ID:LLuemXlB
まだ使ってるやついるのか
作者の活動もなくなりバージョンアップもなくなったのに
8デフォルトの名無しさん
2021/11/23(火) 13:25:26.30ID:1xbfCQjm
仕様が枯れてるから使いやすいんだよ
9デフォルトの名無しさん
2021/11/23(火) 21:58:29.09ID:TqmCy8hF
インストールするファイル数も少なくて
サイズが小さいのもいい
10デフォルトの名無しさん
2021/11/24(水) 22:51:37.72ID:2Dm59tnS
代替も無いしね
11デフォルトの名無しさん
2021/11/27(土) 14:20:14.83ID:jTZUbSpl
死んだ人の成果物を許可も経ずかっさらう真似なんて日本人ならできないよ
12デフォルトの名無しさん
2021/11/27(土) 14:55:21.26ID:lBAvNkqJ
かっさらう人がいるんですか?
13デフォルトの名無しさん
2021/12/03(金) 12:54:28.64ID:VvrxD7Wi
ブラウザエロゲー(Unity製)を自動化したんだけど、同時にエロサイト見たいから裏マクロにしたら動かなくなった。
ブラウザはGoogleChrome。
最前面でWHILE以下だけなら問題なく動く。
裏マクロにすると最前面でも動かない。
-----------------------------------------------------------
最前面で動くマクロ
WHILE TRUE
ifb getkeystate(vk_end) then
break
endif
mmv(1000,875)
IFB CHKIMG("enemy_select.bmp")
BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y+50)
(中略)
ENDIF
mmv(1050,875)
WEND
-----------------------------------------------------------
sleep(5)
ID = GETID(GET_ACTIVE_WIN)
MOUSEORG(GETCTLHND(ID, "Chrome_RenderWidgetHostHWND"), MORG_DIRECT, MORG_BACK)
WHILE TRUE
ifb getkeystate(vk_end) then
break
endif
mmv(1000,875)
IFB CHKIMG("enemy_select.bmp")
BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y+50)
(中略)
ENDIF
mmv(1050,875)
WEND
14デフォルトの名無しさん
2021/12/03(金) 13:35:34.70ID:GJFzQR1P
>>13
自動化ツールUWSC使いよ集まれ24
http://2chb.net/r/software/1625624264/
15デフォルトの名無しさん
2021/12/04(土) 22:16:53.27ID:L57911eN
>>13
裏マクロの指定がおかしいから動いていない
Chromeで裏マクロにしてサイトのSTOPボタンを押す例

ID = GETID("Chrome")
MOUSEORG(ID,MORG_DIRECT,MORG_BACK)

CLKITEM(ID,"STOP")
16デフォルトの名無しさん
2021/12/05(日) 08:25:11.57ID:gxpObDNw
GET_ACTIVE_WINに草
17デフォルトの名無しさん
2021/12/05(日) 14:13:20.36ID:slvwfW4i
ID = GETID(GET_ACTIVE_WIN) にしたら、そのエロサイトのウインドウのIDが入ってしまう
ブラウザエロゲーサイトのタイトルの一部でも指定する事
18デフォルトの名無しさん
2021/12/05(日) 19:14:17.88ID:v/FRDOhm
>>15
>>17
回答サンクス

何度か書き直してみたんだけど、やっぱりうまくいかんわ。
たぶん↓2点を理解してないからうまく書けないんだと思う。

1,IDとハンドルの違いを理解してないこと。
2,「タブの指定→操作を送る」という過程でタブの指定の仕方を理解してないこと。
19デフォルトの名無しさん
2021/12/05(日) 20:03:28.40ID:slvwfW4i
タブを切り替える機能は無いから、エロゲサイトとエロサイトのタブは別ウインドウで開く
画像認識してクリックするだけならハンドル取得は不要

ID = GETID("エロゲサイトのタイトル") //タイトルの一部でも可
MOUSEORG(ID,MORG_DIRECT,MORG_BACK)
20デフォルトの名無しさん
2021/12/05(日) 20:05:42.29ID:gxpObDNw
>>18
自分で書く気があるなら関数ひとつひとつについてヘルプでどういうものか確認しよう
書き直してダメだった内容とどうダメだったかも書こう
21デフォルトの名無しさん
2021/12/05(日) 22:14:44.39ID:v/FRDOhm
とりあえず、ウィンドウはエロゲのみ、タブもエロゲのみの状態で起動。
uwsc起動後uwscのウィンドウにSTOPと表示されているため、起動はしている。
その後、何の反応も無い。
画像認証はおろか、mmvもしない。
エロゲのウィンドウをアクティブにしても反応無し。
試しにエロゲ内のボタンをクリックしてみると、80%くらいの確立で無効になる。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ID = GETID("ミッドナイトガールズR")
MOUSEORG(ID, MORG_DIRECT, MORG_BACK)
WHILE TRUE
ifb getkeystate(vk_end) then
break
endif
mmv(1000,875)
IFB CHKIMG("enemy_select.bmp")
BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y+50)
以下略
22デフォルトの名無しさん
2021/12/06(月) 00:48:34.71ID:tj91aATu
>>21
提示したソース正しいのか?
WHILEの無限ループ内で高速でMMVしているので
何の反応もないように見えるしクリックしても思った場所が
クリックできなくて無効になってるように見えてる気がする
MOUSEORG相対座標にするらしいからエロゲウインドウの
位置補正がたぶん必要

ID = GETID("ミッドナイトガールズR")
print "id: "+id //IDが取得出来ているか確認
win_x = status(id,st_x) //エロゲウインドウのx座標
win_y = status(id,st_y) //エロゲウインドウのy座標
print "x: "+win_x + " y: "+win_y //エロゲウインドウの座標確認
MOUSEORG(ID, MORG_DIRECT, MORG_BACK)
WHILE TRUE
ifb getkeystate(vk_end) then
break
endif
mmv(1000 - win_x ,800 - win_y) //エロゲウインドウの座標補正
IFB CHKIMG("enemy_select.bmp")
print "chkimg true" //画像検索成功しているか確認
print "g_img_x: "+g_img_x + " g_img_y: "+g_img_y //画像の座標を確認
BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y+50) //g_img_x,g_img_yはエロゲウインドウの相対座標なので補正不要
(中略)
ENDIF
mmv(1000 - win_x, 850 - win_y) //エロゲウインドウの座標補正
WEND
23デフォルトの名無しさん
2021/12/06(月) 00:51:01.53ID:tj91aATu
ぱっと見てmmvの座標間違えてるのは気付いたので読み替えて
24デフォルトの名無しさん
2021/12/06(月) 01:04:31.76ID:3grpylNW
素人だけど設定のハードウェアアクセラレーションを無効にすると動くこともある
25デフォルトの名無しさん
2021/12/07(火) 15:40:22.89ID:RnWlic2L
>>22-24

このスレめっちゃ親切やな
ありがとー
また今度試して報告する

画像認識、mmvしないって書いたけど、間違いかも。
正しくは、画像認識してるか分からない、mmvしてるか分からない。だ。
26デフォルトの名無しさん
2021/12/07(火) 18:35:55.47ID:o45XSsNi
>>25
まずそこ分かれよw
print入れれば確認できる
27sage
2021/12/10(金) 18:41:11.33ID:9PsZqLaO
こんばんは
UWSCの超初心者です。

UWSCでNOXのブラウザゲームのマクロを作りたく、
サイトさんでコピペをしましたが、NOXの上部を連打して画像をタップしてくれません。

大変お手数ですが、ご教授いただけますとありがたいです。

やりたいことは
①画像1があった場合、画像2をクリックし画像3をクリックし終了
②画像2が無ければ、画像4をクリックし画像5をクリックし
①へ戻る
コードは以下の通りです。

winid = getid("NoxPlayer")
print "ウィンドウIDを取得しました。"
print "ID.NOは" + winid
winPosX = STATUS(winid,ST_X)
winPosY = STATUS(winid,ST_Y)
winsizeX = STATUS(winid,ST_WIDTH)
winsizeY = STATUS(winid,ST_HEIGHT)
print "位置X 位置Y 幅 高さ"
print winPosX + " " + winPosY + " " + winsizeX + " " + winsizeY
print "位置X 位置Y 幅 高さ"
print winPosX + " " + winPosY + " " + winsizeX + " " + winsizeY

adbsizeX = 540
adbsizeY = 960

windowflamesize = winsizeY - adbsizeY
print "ウィンドウサイズは" + " " + windowflamesize
28sage
2021/12/10(金) 18:42:06.57ID:9PsZqLaO
MOUSEORG(winid,MORG_DIRECT,MORG_FORE)

CALL ChkImgX.uws


y1 = 0
x2 = 540
y2 = 980
Detect_num = 1
Threshold_delta = 5
Target_color = -1

startup_chkimgx()

While True
ifb CHKIMGX("画像1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
CHKIMGX("画像2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
btn(left,click,g_img_x,g_img_y)
CHKIMGX("画像3.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
btn(left,click,g_img_x,g_img_y)

endif

elseif CHKIMGX("画像4.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
btn(left,click,g_img_x,g_img_y)
CHKIMGX("画像5.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
btn(left,click,g_img_x,g_img_y)

else
29sage
2021/12/10(金) 18:42:54.59ID:9PsZqLaO
print "画像が見つかりません"  

endif

sleep(3.5)

Wend


以上の通りです。
お手数おかけいたしますが、なにとぞよろしくお願いいたします。
30デフォルトの名無しさん
2021/12/10(金) 20:08:07.17ID:Zx61Q8si
>>29
chkimgx.uwsの中確認したら?
g_imgx_x,g_imgx_y
31デフォルトの名無しさん
2021/12/10(金) 21:17:10.72ID:9PsZqLaO
>>30
chkimgx.uwsの中は弄ってませんでした…
Visual Studio Codeで開いてみましたが文字化けだらけで意味不明でした…
32デフォルトの名無しさん
2021/12/10(金) 21:33:40.29ID:W+CsWCwh
>>31
開いている文字コードが違うのでは
chkimgx.uws はShift_JISだよ
いじる必要はないんだけど扱うのに必要なことが書いてあるので読むべき
33デフォルトの名無しさん
2021/12/10(金) 21:41:00.65ID:W+CsWCwh
Visual Studio Code で文字化けせずにSJISファイルを開く
https://iucstscui.hatenablog.com/entry/2021/02/01/221038
↑貼れないので全角化した
34デフォルトの名無しさん
2021/12/10(金) 21:45:52.53ID:wtDmROT3
// ID: Windowを識別するID (0 であればスクリーン全体)
// ※MOUSEORGの設定は取得できないのでIDを明示的に指定してください
// 0の場合MORG_FORE, Window IDを指定した場合MORD_BACKと同じように動きます
35デフォルトの名無しさん
2021/12/10(金) 22:55:50.53ID:YWWq+54U
>>32、33、34
ありがとうございます!
まずご参考の通り開いてみてやってみます!
36デフォルトの名無しさん
2021/12/12(日) 11:50:31.75ID:cgJROYQS
質問なんですが、PCを買い替えた場合、モニターのサイズと解像度が同じなら画像をそのまま新しいPCでも流用することは可能ですか?
それとも画像を再取得する必要があるのでしょうか?
37デフォルトの名無しさん
2021/12/12(日) 12:21:31.25ID:YGBHMNxc
流用できることもある
38デフォルトの名無しさん
2021/12/12(日) 13:54:09.62ID:zbEQabkL
拡大縮小してなければモニタの解像度が違っても行けるだろ
39デフォルトの名無しさん
2021/12/12(日) 16:48:28.91ID:cRL3yS5P
>>36
ブラウザの操作ならブラウザの縦横幅を同じにすれば使える
解像度は影響しないように汎用的に作れば良い
40デフォルトの名無しさん
2021/12/12(日) 22:37:17.97ID:SJzQ+Dpm
色が
グラボやOSやソフトで、グラデやスムジを切るか、旧と同じに
41デフォルトの名無しさん
2021/12/12(日) 22:38:38.53ID:SJzQ+Dpm
半透明
バッグラ描画さぼり
42デフォルトの名無しさん
2021/12/14(火) 03:11:27.78ID:wO1KVDXL
何故にカタコト
43デフォルトの名無しさん
2021/12/14(火) 03:20:27.17ID:IDcXj5e5
相手に
合わせた
44デフォルトの名無しさん
2021/12/14(火) 08:25:28.27ID:nethN8Rv
別にその質問レスは片言でも何でもないだろ
45デフォルトの名無しさん
2021/12/24(金) 10:11:28.47ID:S6AOyW3k
これの代わりになるツールないの?
46デフォルトの名無しさん
2021/12/30(木) 21:03:24.29ID:ESCS1df0
動く画像を認識させる方法ってないのかな?
いくら調べても静止画像の認識方法しか出てこないんだけど
47デフォルトの名無しさん
2021/12/30(木) 21:10:29.75ID:dYE8+B1V
動いてる画像を録画ツールで記録して、静止画に分解して、分解した画像をchkimgxで認識させてる
48デフォルトの名無しさん
2021/12/30(木) 21:57:23.32ID:ESCS1df0
なるほど、フレームの画像を取得するのか
49デフォルトの名無しさん
2022/01/13(木) 01:01:01.47ID:OoQIgOAu
windows11へアップグレードしたけど画像が撮り直しになってしまった
仮想OSのほうもイメージ自体は変わってないはずだけどそっちも画像が取り直しになって
めんどくさいから10に戻した
50デフォルトの名無しさん
2022/01/14(金) 09:03:29.23ID:MBIe30li
初心者です。同じ名前の複数ウインドウを指定位置にそれぞれ移動させたいのですがうまくいきません
GETALLWINではやりたい動きにはならなかったので他の方法でわかる人いませんか?
51デフォルトの名無しさん
2022/01/14(金) 10:31:06.33ID:5o7urNRR
見つかったウィンドウを順番に指定位置に移動するのではダメということですか
自動化しない場合は同じ名前のウィンドウをどうやって区別しますか
52デフォルトの名無しさん
2022/01/14(金) 10:52:30.69ID:MBIe30li
>>51
1番目に見つけたのを左上、2番目を右上、3番目を左下みたいな感じにしたいです
ACWでの区別の方法がわからない状態です
53デフォルトの名無しさん
2022/01/14(金) 11:17:36.33ID:XYCePjt2
見つけた順を元にするのならわざわざ区別する必要は無いだろ
見つけたものから順に処理させれば良いだけのことだ
54デフォルトの名無しさん
2022/01/14(金) 11:24:57.20ID:5o7urNRR
>>53
使い方がわかってないのでは
>>52
getallwinで取れるidの配列をforループか個別にacwに指定したらダメですか
FOR n = 0 TO GETALLWIN() - 1
DIM ID = ALL_WIN_ID[n]
acw(id,位置指定とか)
省略
55デフォルトの名無しさん
2022/01/14(金) 11:42:09.49ID:MBIe30li
ネットのテンプレ文を少し変えて使ってるレベルの理解度なので応用とかは全然わかってないです
>>54
試してみます
ありがとうございます
56デフォルトの名無しさん
2022/01/14(金) 12:48:18.52ID:sk790Gu7
>>55
>>54 に書かれているものと組み合わせて
STATUS()でとったタイトルを
IF で判断して必要な場合だけ
ACW()するようにする

特殊な表示をしていればSTATUS()で思うような内容が
返ってこないことはありえるけど滅多にないだろう

テスト中STATUS() で返ってくる内容をチェックするには
ウィンドウ数が少なければMSGBOX()
多ければSLEEP()で適当に時間をとりながらPRINTを使う
選択的に表示しないで
にPRINT一回一回にSLEEPを使わず
GETALLWIN()の内容を全部表示したあと
SLEEP()を長くとってまとめてチェックすれば
IFでの処理間違いで表示が出ない場合などの確認ができる

テスト中はSTOPFORM()を表示して
止めたいときに止められるようにしておくといい
57デフォルトの名無しさん
2022/01/14(金) 13:22:03.98ID:MBIe30li
>>56
詳しくありがとうございます
やってみます
58デフォルトの名無しさん
2022/01/14(金) 20:21:44.68ID:qQu95WeC
実行中
UWSC自体の位置を変えて終わるときに位置を元に戻す
といったことをやりたいのですが
UWSC自体のウィンドウの制御ってどうやるんでしょう?
59デフォルトの名無しさん
2022/01/14(金) 21:46:02.04ID:sk790Gu7
>>58
60デフォルトの名無しさん
2022/01/14(金) 22:07:31.95ID:sk790Gu7
ただ、もしかしたら勘違いしてるんじゃないかという気がするのは
実行時にそのウィンドウは別に必要ないということ
コマンドプロンプトその他から
c:\dokoka\UWSC.exe c:\script\nanika.uws param1 param2 param3 ...
の形で実行されさえすればいい
61デフォルトの名無しさん
2022/01/14(金) 22:34:09.28ID:sk790Gu7
拡張子uwsと関連付けができていればエクスプローラー上で
uwsをダブルクリックすれば動作するようになる

HKEY_CLASSES_ROOT\Applications\UWSC.exe\shell\open\command

HKEY_CLASSES_ROOT\uws_auto_file\shell\open\command

既定値を
"c:\dokoka\UWSC.exe" "%1" %*
のように「%*」
をつければパラメータも扱えるようになるので
uwsのショートカットにパラメータを記述して動かせるようになる
コマンドプロンプトでもいちいちUWSC.exeを書かなくても
c:\uwsscript\nanika.uws param1 param2 param3 ...
で動かせるようになる
環境変数PATHにc:\uwsscript を追加すれば
パスを指定する必要もなくなり
nanika.uws param1 param2 param3 ...
で動作させられるようになる
62デフォルトの名無しさん
2022/01/15(土) 16:59:47.34ID:DFX5O6Fa
「一定時間マウス操作が無かった時に発動する命令」についての質問です

命令①を繰り返し続ける

1分間クリックが行われなかった場合は
命令②を行う

命令①の繰り返しに戻る

という命令文を「adbの裏マクロ」で組みたいです。
通常のマクロで上記を行う場合は「マウスカーソルの座標が移動したかどうか」
を発動条件にすればできると聞きましたが、
マウスの動かない裏マクロで上記をみたす命令文は構築できるのでしょうか
できる場合は例文やヒントを教えていただきたいです
1分間クリックが行われない状況が多岐にわたるため
「特定の画面になったら命令②を行う」はできそうにありませんでした
63デフォルトの名無しさん
2022/01/15(土) 17:17:26.50ID:2W+4eRYP
マウスカーソルの座標を取得し、一分後のマウスカーソルの座標と比較
64デフォルトの名無しさん
2022/01/15(土) 17:38:40.10ID:DFX5O6Fa
>>63
マウスが動かないためそれが出来ず困っています
「クリックが行われたかどうか」の有無を判定する命令文があればいいのですが…
65デフォルトの名無しさん
2022/01/15(土) 18:11:34.39ID:8h/gvJDc
下の想定はあってる?
ゲームを裏で自動で動かす一方で表ではPCをいろいろ使ってる
ゲーム内で1分クリックがなかった場合は命令2をする

クリックはどうやって行われるの?
命令1の中にクリックが含まれる?
気が向いた時に自分でゲーム操作してクリックする?
66デフォルトの名無しさん
2022/01/15(土) 19:18:49.62ID:DFX5O6Fa
THREAD checkCur() //以下の命令文を「checkCur()」で監視する

WHILE TRUE //①を繰り返す
(操作①)
WEND

PROCEDURE checkCur() //「checkCur()」の効果を下記のうように定める
t = GETTIME()
WHILE TRUE
x = G_MOUSE_X
y = G_MOUSE_Y
SLEEP(1)
IF G_MOUSE_X <> x OR G_MOUSE_Y <> y THEN t = GETTIME()
FUKIDASI(GETTIME() - t)
IF GETTIME() - t >= 60 THEN BREAK
WEND

(任意の操作②) //60秒何もなかったら②を実行
FEND
67デフォルトの名無しさん
2022/01/15(土) 19:38:25.22ID:DFX5O6Fa
>>65
想定としては
PCを全く触らない想定です

クリックのが実行は
特定の画像を見つけたら、定位置3か所程度をクリックするというものです
これを①の繰り返し部分につかっています。

他人の書いた命令文の見様見真似で
>>66を走らせてみたのですが
①を60秒間繰り返したのち、すぐに②が発動しちゃっていて
裏マクロのクリックはマウスの動作として認識されていないようでした
68デフォルトの名無しさん
2022/01/15(土) 19:46:52.14ID:JoeIONBq
それ画像が見つからない状態が一定時間経過したら命令2に移行するでいいんじゃないの
adbによるタップはマウスカーソル座標とか全く関係無いよ
69デフォルトの名無しさん
2022/01/15(土) 20:14:55.94ID:DFX5O6Fa
>>68
その方式にしたら私の知識でもうまく作れそうですね…
ただ、他のマクロにも利用できる汎用性のあるものを作りたいと考えていて
「一定時間クリックが行われなければ」をトリガーにした命令文を作りたい
と考えています
70デフォルトの名無しさん
2022/01/15(土) 20:43:12.28ID:DFX5O6Fa
改めて調べてみたのだけどクリック判定は難しそうです
ひとまず、画像なしを一定時間(複数回)検知したら~という方式で作ってみます
ありがとうございます
71デフォルトの名無しさん
2022/01/15(土) 23:18:43.08ID:zZcweZ63
>>66
checkCur()
は一度②を実行すると終了して
それを実行していたスレッドも終了してしまう
ループを2重にして②を実行したあとはまた最初っから
の処理を繰り返す必要があるのでは
72デフォルトの名無しさん
2022/01/16(日) 00:15:41.45ID:eEuzY81s
タップしたかどうかで判定したいならadbによるタップを関数化して
関数内でグローバル変数に最後にタップした時間をGETTIMEで入れればいい
73デフォルトの名無しさん
2022/01/16(日) 00:32:01.33ID:V+ZRX82D
こんなん?
public isclicked=0
(省略)
procedure adbclick(引数省略)
isclicked=1
doscmd(引数省略)
fend
74デフォルトの名無しさん
2022/01/16(日) 01:24:00.18ID:4EWMaBch
>>71
たしかにその通りでした
>66だと②発動条件の監視は1度だけになっていました
見てわかるのがすごい。私は走らさせないとわからなかった
75デフォルトの名無しさん
2022/01/16(日) 01:36:07.69ID:4EWMaBch
>>72
>>73
言っていることは朧げに分かりますが
それを命令文化する知識が足りません。でもありがとうございます!
>>73を参考に方法を調べてみます
76デフォルトの名無しさん
2022/01/17(月) 13:17:30.06ID:ephhg8o+
これってマックで使えないの?
77デフォルトの名無しさん
2022/01/17(月) 13:47:39.86ID:BS7LWx0L
>>76
Windowsが動くマックなら使えるでしょ
試してないけど
78デフォルトの名無しさん
2022/01/20(木) 11:03:19.87ID:V75Vz3Z+
質問します。
無料バージョンとProバージョで、単にExcel起動させるスクリプトなんですが、無料はちゃんと動くがProは工ラーが出てしまう。
Verはどちらも 5.3.0.2です。
ただ、ー部のスクリプトはProでも動きます。

使い始めて間がないので、よくわかってないところが大部分です。
よろしくお願いします。
79デフォルトの名無しさん
2022/01/20(木) 11:15:19.75ID:9lIEWcOm
動くスクリプトと動かないスクリプトをそのまま貼り付けて書き込みしましょう
80デフォルトの名無しさん
2022/01/20(木) 14:49:50.52ID:n7chvAG3
ついでにどう動かないのか
エラーメッセージが何なのかも書いた方がいい
81デフォルトの名無しさん
2022/01/20(木) 17:35:23.20ID:V75Vz3Z+
78です。
家に帰ったら、スクリプトとエラーの表示内容をアップします。
82デフォルトの名無しさん
2022/01/20(木) 21:42:35.09ID:MyoibU5A
>>78です

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.Workbooks.add()
83デフォルトの名無しさん
2022/01/20(木) 21:44:19.00ID:PmxKwmhK
UWSC初心者用スレ2 ->画像>12枚
84デフォルトの名無しさん
2022/01/20(木) 22:41:07.67ID:BEc60Lbm
セキュリティソフトを起動させておくと>>83のエラーが出たけど、OFFにしておくと問題ない

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.Workbooks.add()
EXCEL.visible = True
85デフォルトの名無しさん
2022/01/21(金) 07:31:53.10ID:dq8Ljfzw
>>84
検証、ありがとうごさいました。
86デフォルトの名無しさん
2022/01/23(日) 23:17:34.39ID:EK6M0RjQ
昨日まで問題なく使えてたChklmgXが急に画像認識しなくなったんだけど何か原因ありますか?
87デフォルトの名無しさん
2022/01/23(日) 23:18:11.34ID:dd4Q4/BT
>>86の環境が変わった
88デフォルトの名無しさん
2022/01/24(月) 17:17:53.61ID:aEoJXi2O
原因が有りすぎて特定できん
一つずつ原因を探って行くしか無い
89デフォルトの名無しさん
2022/01/24(月) 18:47:54.12ID:1UwK5pur
たびたび認識しなくなるようなら
認識用の画像を取り込むマクロ組んだほうが早い
90デフォルトの名無しさん
2022/01/25(火) 08:40:44.22ID:2SB0W66n
>>86ですが、どんな感じでおかしくなったかというと、
例えば「OK」というボタンがあって、色々な「OK」ボタンがあるのですが、その違いはほとんどありません。
(OとKの隙間が何ミリ違うとかのレベル)
先日までは色々な「OK」ボタンを全て認識してくれていたのですが、急に認識しなくなりました。
どれぐらい認識しないかというと通常のChklmgぐらい認識してくれません。
91デフォルトの名無しさん
2022/01/25(火) 09:35:40.35ID:bQTfb4+e
>>90
chkimgXは全く同じ形でも大きさが変わると認識できない
なぜ今まで認識できていたかはわからないけどそれが本来の挙動
92デフォルトの名無しさん
2022/01/25(火) 11:03:12.63ID:f9K0hpc1
Windows10だとスケーリング変えるだけで動かなくなるからそこがが一番怪しいと思うけど
次の日いきなりということ他のソフトの影響や権限関係で画像キャプチャ自体を拾えなくなってる可能性もある
93デフォルトの名無しさん
2022/01/25(火) 12:15:52.72ID:clOxlBpk
OKボタンをキャプチャできないように対策された可能性も
94デフォルトの名無しさん
2022/01/26(水) 18:42:02.11ID:eMrJuTGp
画像の撮り直しするしかないだろうな
自分も年2回くらいの頻度でゲームのメンテ後にそういう状況になる
95デフォルトの名無しさん
2022/01/26(水) 19:31:39.15ID:3qeFT0O1
アンチエイリアスが掛かっていると
同じ画像のはずなのに僅かなドットの違いで
反応しなくなったりするみたいだな
96デフォルトの名無しさん
2022/01/26(水) 20:32:24.66ID:YrQt15hx
なんならビデオカードのドライバが変わるだけでアウトだったりするしな
ほんの僅かな違いで認識しなくなる
97デフォルトの名無しさん
2022/01/26(水) 22:17:32.56ID:6HW3aESR
OKの画像でダメならOだけの画像にするとはよくやる
ギリギリまで無駄な部分を削って誤差を少なくするのは基本
98デフォルトの名無しさん
2022/01/28(金) 22:55:54.34ID:oecXklWi
画像認識で押さなくとも、CLKITEMで押せたりもする
99デフォルトの名無しさん
2022/03/27(日) 23:40:28.02ID:04DQ0omn
すみません教えて下さい!
①~③の写真を順番にクリックしたいんですけど①の写真がなければ②と③の動作はしないようにするには①のchkimg()のあとに=trueをつけるといいんですか?
あと①~③を順番に動作させたい場合はstepは使わないですか?step入れてみたのですが訳がわからなく使っててよく分かりません
100デフォルトの名無しさん
2022/03/28(月) 01:13:44.89ID:Qyr8aL6i
①の画像と②の画像同時に存在するときに動作するようにする
ifb chkimg① and chkimg②
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ではコピーできますが、再生ボタンを押すと
別のウィンドウからのコピペになってしまします
どうしたらアクティブなウィンドウを指定できますか?
104103
2022/03/31(木) 03:24:15.22ID:NioKJ8hU
>>103
自己解決です。
どうしても使いたい機能がある別のマクロソフトと
組み合わせることにしたので
アクティブなウィンドウの指定がいらなくなりました
お騒がせしてすいません
105デフォルトの名無しさん
2022/04/25(月) 01:47:22.24ID:yfsHggVp
こんばんは。初心者用スレではない方でも書き込んだのですが、こちらにお分かりになる方いればお教えいただきたいです。
タブレット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でエラーになります。
なぜでしょうか?
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 " では対処が違う
109デフォルトの名無しさん
2022/05/03(火) 07:27:16.98ID:UCmy3FzQ
やりたいことはifじゃなくてifbじゃないの
110デフォルトの名無しさん
2022/05/03(火) 10:15:47.24ID:oFZBhoiN
ご指摘ありがとうごさいます。

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 アドレスが見つかりませんでしたとなり、みつけられませんでした。
115デフォルトの名無しさん
2022/05/07(土) 12:58:40.40ID:islK5eJv
無能すぎて笑ったから貼ってあげましょう
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秒待機
上記実際に試したスクリプトですがどこか間違っているのでしょうか?
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"
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 でゲームマクロを作成する。」をほぼそのまま使ってます。
ズレが無くなるようにするにはどう書けば良いでしょうか?
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 * ??? + ???
123デフォルトの名無しさん
2022/05/25(水) 17:59:07.24ID:u9geCx6Z
>>119
ありがとうございます
無事出来ました
124デフォルトの名無しさん
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系は実現出来るのだろうか
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は優秀だけど古いよな
131デフォルトの名無しさん
2022/06/03(金) 09:32:49.12ID:4c5BNRsi
pythonじゃね
それか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年

どれも大差ないよ
137デフォルトの名無しさん
2022/06/04(土) 00:45:44.64ID:vzqEPqD2
Python等のインタプリター言語で
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だけでもめっちゃ便利なんです
142デフォルトの名無しさん
2022/06/23(木) 21:20:05.65ID:4JatNiDf
マルチスレッドを使えば
吹き出し64個同時表示が可能なんだよな
143デフォルトの名無しさん
2022/06/26(日) 13:09:31.78ID:hbdcqL5D
エスケープ文字のエスケープ方法を知りませんか?

ダブルクォーテーション、改行、タブは
エスケープ文字として<#DBL>、<#CR>、<#TAB>が割り当てられていますが、

例えば「"テスト<#DBL>です"」という文字列をファイルに出力すると
エスケープされて「テスト"です」という内容のファイルが出来ます。

これをエスケープされないように「テスト<#DBL>です」と出力するには
どうすればいいのでしょうか?
144デフォルトの名無しさん
2022/06/26(日) 13:12:38.36ID:UB4e87n3
チョンチョンで囲っても駄目なんだな
145sage
2022/06/26(日) 15:45:20.94ID:1mHgElUf
>>143
//全部大文字 をやめる
msgbox("a<#"+"dBL>b")

//または
option specialchar
msgbox("a<#"+"DBL>b")
146デフォルトの名無しさん
2022/06/26(日) 18:48:40.54ID:bS2HZoKx
>>145
これは自分では解決無理でした
本当にありがとうございました
147デフォルトの名無しさん
2022/06/28(火) 11:54:10.54ID:t3kJoord
モヤモヤが動いていて画像が指定クリック出来ません💦
あいまい画像検索しても上手くいかないのですが方法はありますか?
148デフォルトの名無しさん
2022/06/28(火) 11:55:08.44ID:t3kJoord
UWSC初心者用スレ2 ->画像>12枚
149デフォルトの名無しさん
2022/06/28(火) 17:08:34.60ID:/dfK2g9c
モザイクを無視して文字列だけを認識させるという事か?
150デフォルトの名無しさん
2022/06/28(火) 20:47:32.69ID:b3tUfSci
>>147

> モヤモヤが動いていて画像が指定クリック出来ません💦
> あいまい画像検索しても上手くいかないのですが方法はありますか?

集まれスレで返答貰ったので〆ます✨
151デフォルトの名無しさん
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どちらのほうが早く購入することができますか?
155デフォルトの名無しさん
2022/08/06(土) 12:52:24.92ID:+9Ajl8XK
不定
156デフォルトの名無しさん
2022/08/06(土) 13:52:07.75ID:3XvgAeC8
>>154
そんなのBANせれて終わりだろ
出品されたか確認の為に頻繁に問い合わせしたら即バレるわ
157デフォルトの名無しさん
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
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が表示されたらそれをクリックして再開するにはどうすればいいですか。
160デフォルトの名無しさん
2022/08/10(水) 21:46:14.83ID:zuCuX6KX
>>159
画像があればクリックするという関数をつくって
それを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
162デフォルトの名無しさん
2022/08/12(金) 14:38:28.84ID:m6+pfbJk
>>160
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
164デフォルトの名無しさん
2022/08/13(土) 16:39:49.84ID:p1KZrIM2
>>163
ありがとうございます。
試してみます。
165158
2022/08/13(土) 18:04:03.85ID:NorQZddu
すみません、どなたか教えていただけませんか…
166デフォルトの名無しさん
2022/08/13(土) 19:43:14.34ID:KPz0o6R8
>>165
ChromeあるいはEdgeのどちらか単体で裏クリックはできてますか?
それができればあとはさほど難しくないです
167デフォルトの名無しさん
2022/08/13(土) 20:59:01.69ID:P4IK+cir
>>165
ChromeとEdgeでBTN(LEFT, CLICK, 319, 474)ができれば良いのか?
168デフォルトの名無しさん
2022/08/13(土) 23:00:56.01ID:NorQZddu
>>166
解説しているサイトから拾ってきた以下のコードで裏クリックできることは確認できました

id = GetID("ゲーム名")
id = GetCtlHnd(id,"Chrome_RenderWidgetHostHWND")
MouseOrg(id,2)

BTN(LEFT, CLICK, 319, 474)

MouseOrg(0)



>>167
はい、両方で同時に同じ箇所をクリックしたいです
ただ、どちらもウィンドウ名とクラス名が全く同じなので、そこでどうすればいいのかわからなくなってしまいました
169デフォルトの名無しさん
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)
170デフォルトの名無しさん
2022/08/14(日) 00:19:06.35ID:1XEnC456
>>169
ごめんなさい、説明不足でした
そのブラウザゲームというのが、ブラウザから独立したアプリ?のような扱いになっているので、
タイトル名に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がタイトルに含まれてる必要はないよ
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を読めばわかるとおもう
174デフォルトの名無しさん
2022/08/14(日) 14:04:02.28ID:1XEnC456
>>172
試しにコピペで動作させてみたのですが、クリックは発生しませんでした…
文字コードはUTF8でも構わないのでしょうか?

>>173
仰っていただいたコードで取得してみましたが、両方とも Chrome_WidgetWin_1 で、同じクラス名でした
175デフォルトの名無しさん
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
などと組み合わせて
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  のほうがわかりやすいかも
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
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()
がエラーになった
181デフォルトの名無しさん
2022/08/15(月) 21:06:49.51ID:RCL1oiri
皆さん色々とありがとうございます
これ以上混乱させてはいけないと思うので、やりたい事を具体的に書かせていただきます

放置少女 for ブラウザ というブラウザ版のゲームで、姫プレイという60秒ごとにクリックするコンテンツがあるのですが
2つのアカウントを作業がてら操作するのが煩わしかったので、自動化させたいと思いました
182デフォルトの名無しさん
2022/08/15(月) 21:54:17.61ID:SCA4T4hb
ブラウザゲームだとウィンドウが裏とかで隠れてるとゲームが止まるってのがありがちだけどそこは問題ないのかと思った
ブラウザのプロファイルを使い分ければchrome2個とかedge2個別アカウントで動かせるからどっちかで動いたらブラウザは1種類にしたほうがいいと思った
183デフォルトの名無しさん
2022/08/15(月) 22:38:02.29ID:ycFy8B4h
>>182
止まったりしますね
画面が少しでも見えてたら止まらないようなのでウィンドウをずらして表示してますが

>>181みたいなやり方を実現したいなら仮想環境(Vmwareなど)で、いってみれば画面まるごと別にして自動化させる
ブラウザゲームを2つ同時にする程度ならi5-11400とかRyzenの3600あたりで十分だと思いますけどね
184デフォルトの名無しさん
2022/08/15(月) 22:49:44.38ID:RCL1oiri
裏で動作させるために

Chromeの場合
chrome://flags/#calculate-native-win-occlusion を Disabled にする

Edgeの場合
edge://flags/#calculate-native-win-occlusion を Disabled にする

自分の場合はこの方法で対処できています
185デフォルトの名無しさん
2022/08/15(月) 23:23:22.89ID:RCL1oiri
あと、Chromeのプロファイルを2個使うという発想は頭からスッポリ抜け落ちていました
その場合は同じクラス名のウィンドウを同時に操作するにはどう記述すれば良いのでしょうか?
186デフォルトの名無しさん
2022/12/01(木) 10:20:24.05ID:qs39Q3U2
ゲームでマウス右クリック中は ADS できるゲームなんだけど
右クリックをしたら ADS 状態を保持して
右クリックを押したらADS状態を解除するように
するにはどうしたらいいんでしょうか?
187デフォルトの名無しさん
2022/12/01(木) 12:30:34.64ID:XSZRHDZS
右クリックをしたら→離したら の間違い?
188デフォルトの名無しさん
2022/12/01(木) 14:45:39.08ID:qs39Q3U2
>>187
右クリックを押してはなして ADS 状態ですね
189デフォルトの名無しさん
2022/12/01(木) 14:59:29.84ID:cYCmqMWp
・右クリックをしたら
・右クリックを押したら
の違いがまったくわからん
190デフォルトの名無しさん
2022/12/01(木) 18:01:41.19ID:o235ACIC
スイッチでいうところのオルタネイトにしたい話なんでしょ
191デフォルトの名無しさん
2022/12/02(金) 23:40:03.62ID:cTK2xg+F
>>190
そうですオルタネートにしたいんです
右クリック一回押すと押したままの状態にして
もう1回押すと押した状態を解除する
192デフォルトの名無しさん
2022/12/03(土) 01:11:33.89ID:iJH6gcoH
>>191
autohotkeyならできますよがんばって下さいね
手が不自由な障害者向けのサンプルコードがあるので参考にできるでしょう
193デフォルトの名無しさん
2022/12/03(土) 21:53:26.17ID:cDe8HB62
while peekcolor(x,y)=緑
 処理0
...
 処理99
wend

みたいなwhile文だと、処理34をやってるときに赤になっても処理99まで一通りやってから終わらせてしまう
(x,y)が緑じゃなくなった瞬間whileを抜けるにはどしたらええん?
194デフォルトの名無しさん
2022/12/03(土) 23:59:57.47ID:t90CZNoD
>>193
自分が書いてる通りに
処理xが終わるたびに緑じゃなかったらループを抜けるようにする

それでも希望通りのタイミングじゃなかったら
1行ごとに緑じゃなくなったかどうか調べる
195デフォルトの名無しさん
2022/12/04(日) 10:47:06.25ID:QSjbkKsr
並行処理をさせたいなら関数書いてTHREADで
196デフォルトの名無しさん
2022/12/04(日) 13:07:58.96ID:G9jMrbbm
サンキュー
197デフォルトの名無しさん
2022/12/04(日) 18:15:49.96ID:rqfbFIa7
ま、「瞬間」は無理だな
198デフォルトの名無しさん
2022/12/18(日) 01:53:51.55ID:OMOd2EpL
THREADって各スレッド間の通信は
グローバル変数を使うしかないのか
199デフォルトの名無しさん
2023/01/30(月) 13:50:17.09ID:zCM+o/4+
uwscってコピー防止することってできますか?
たとえばuwsc開いたらパスワード要求されてそれ入力しないと使えなくて
なおかつ1か月たつとそのパスワードは使えなくなる方法とか
月額2000円でパスワード買わないと使用できなくなるような方法です
よろしくお願いします!
200デフォルトの名無しさん
2023/01/30(月) 13:55:41.46ID:xjPPcjmh
自分が書いたとおりに実装すればできるよ
201デフォルトの名無しさん
2023/01/30(月) 14:35:42.54ID:L0PeZlr4
できねーよ馬鹿
202デフォルトの名無しさん
2023/01/30(月) 17:58:23.19ID:Qp/n9nNg
できる
203デフォルトの名無しさん
2023/01/30(月) 20:25:09.56ID:pewbLvtZ
>>199
そんな機能はないが、パスワードを書いたテキストファイルをサーバーにUPして、
起動時にそれを読み込んで入力したパスワードと照合すれば出来るだろ
サーバーに金掛けたく無ければ無料サーバー使っても良い
204デフォルトの名無しさん
2023/04/17(月) 21:07:54.28ID:fQqMCB5/
数日前からfirefoxでPosACC(id, x, y, ACC_BACK)でテキスト文字を
所得できなくなってしまって困っております。
何か良い方法はないでしょうか・・・
205デフォルトの名無しさん
2023/10/04(水) 11:05:12.56ID:GGFuvkNr
機械語命令のNOPのような何もしない命令はありますか

IF文とかでNOPが書ければ簡単に書けるという事が割とあるので、何とかしたいです
206デフォルトの名無しさん
2023/10/04(水) 19:05:13.16ID:fsISD3kr
何も書かなければいいだけでは
207デフォルトの名無しさん
2023/10/04(水) 22:01:30.33ID:GGFuvkNr
そうもいかないのです

条件分岐の都合で何も書かない訳にもいかないので、面倒くさいです
208デフォルトの名無しさん
2023/10/04(水) 22:22:20.17ID:RyohCm2S
>>207
色々調べてみた?
結論から言うとそんな命令はありません
あなたは面倒くさいとストレスMAXにして頑張ってください
209デフォルトの名無しさん
2023/10/05(木) 01:42:49.79ID:BfJXhjdu
条件分岐でNOPを入れると書きやすいとはどういう例が有るんだ?
210デフォルトの名無しさん
2023/10/05(木) 20:38:43.81ID:XelVLkj4
無いなら作る

PROCEDURE NOP()
EXIT
FEND
211デフォルトの名無しさん
2023/10/15(日) 14:37:36.28ID:hEOK4Ev6
ちょっと困ったので賢者の皆さん力をかしてくだしあ
https://imepic.jp/20231015/526320
CHKIMGで2パターン処理が必要
一パターン目のCNKIMGからのクリックで見た目が変わるので
次に変わってないものをクリックした後で、一回目クリックしたものを
もう一度クリックしたい。

//一回目
cnt=CHKIMG("audl.bmp",1,,,,,-1,IMG_MSK_BGR2)
for i=1 to cnt
BTN(LEFT,CLICK,ALL_IMG_X[cnt-i]+15,ALL_IMG_Y[cnt-i]+15,20)
next
//二回目
no=CHKIMG("audl2.bmp",,,,,,-1,IMG_MSK_BGR2)
for i=1 to no
BTN(LEFT,CLICK,ALL_IMG_X[no-i]+15,ALL_IMG_Y[no-i]+15,20)
next
//一回目クリックしたところを再度クリック
for i=1 to cnt
BTN(LEFT,CLICK,ALL_IMG_X[cnt-i]+15,ALL_IMG_Y[cnt-i]+15,20)
next

最後のfor文ですがクリックするのは「2回目」のALL_IMG_X[no-i]+15になる
1回目の結果を変数にいれてしまえ!と思ったのですが入らない・・・エラー・・・
212デフォルトの名無しさん
2023/10/15(日) 14:56:12.29ID:hEOK4Ev6
2回目の判定画像と1回目の判定画像は部分的に重なるので、
2回目をやる前に1回目をもう一度クリックするのはダメ
213211
2023/10/15(日) 15:05:11.85ID:hEOK4Ev6
判定用画像
緑と白(と黒)の組み合わせで切り取る
https://imepic.jp/20231015/542220
214デフォルトの名無しさん
2023/10/15(日) 15:59:43.35ID:OSTpoGeh
>>211
テキトウな変数にALL_IMG_X[cnt-i]+15,ALL_IMG_Y[cnt-i]+15の座標を入れれば良い
IMGX=ALL_IMG_X[cnt-i]+15
IMGY=ALL_IMG_Y[cnt-i]+15
215デフォルトの名無しさん
2023/10/15(日) 22:25:52.63ID:hEOK4Ev6
>>214
ですよね・・・・
そうすればいい!と思いついたのですが、エラーでやられちゃって
216デフォルトの名無しさん
2023/10/15(日) 22:36:56.26ID:OSTpoGeh
//一回目クリックしたところを再度クリック
BTN(LEFT,CLICK,IMGX,IMGY,20)

座標が同じならこれでよい
217デフォルトの名無しさん
2023/10/15(日) 22:40:47.45ID:hEOK4Ev6
//一回目
for i=1 to cnt
cntx[i]=ALL_IMG_X[i-1]+15
cnty[i]=ALL_IMG_Y[i-1]+15
next

これで「宣言のない配列です」
だったので適当な変数cntx,cntyを以下のようにしてみたらエラーは出なくなったものの

dim cntx[i]=ALL_IMG_X[i-1]+15
dim cnty[i]=ALL_IMG_y[i-1]+15
(中略)
//三回目
for i=1 to cnt
BTN(LEFT,CLICK,cntx[0],cnty[0],20)
next
ここで1回目の座標の、なぜか最後の座標がクリックになる。
cntx[i]では「定義が間違っています」になり、
for i=1 to cnt
print cnty[i]
next
で中身見てみたら真っ白で、取得したやつどこやった!!っていう状態に(汗
218デフォルトの名無しさん
2023/10/15(日) 22:42:58.76ID:hEOK4Ev6
>>216
1回目と3回目の座標は同じですが
2回目が異なるのです。
なので1回目の変数を適当な変数に放り込んで、3回目で読めばいい。
はずなんですが・・・ならなくて。
219デフォルトの名無しさん
2023/10/15(日) 23:24:59.84ID:OSTpoGeh
判定用画像
ringo1.png
https://imepic.jp/20231015/838940
ringo2.png
https://imepic.jp/20231015/838941

ChkImgX 1.2.1
https://hibiarekore.com/archives/38
220デフォルトの名無しさん
2023/10/15(日) 23:25:18.59ID:OSTpoGeh
CALL ChkImgX.uws // ChkImgX関数をインクルード
startup_chkimgx()

//一回目
cnt = CHKIMGX("ringo1.png",0,0,0,1920,1080,-1,5)
for i=0 to cnt-1
 IMGX=ALL_IMGX_X[i]+15
 IMGY=ALL_IMGX_Y[i]+15
 BTN(LEFT,CLICK,IMGX,IMGY,20)
 SLEEP(1)
next

//二回目
cnt = CHKIMGX("ringo2.png",0,0,0,1920,1080,-1,5)
for i=0 to cnt-1
 BTN(LEFT,CLICK,ALL_IMGX_X[i]+15,ALL_IMGX_Y[i]+15,20)
 SLEEP(1)
next

//一回目クリックしたところを再度クリック
BTN(LEFT,CLICK,IMGX,IMGY,20)


shutdown_chkimgx()
221218
2023/10/16(月) 00:20:16.60ID:zyXWWxv7
//一回目クリックしたところを再度クリック
これがですね・・・forで書いているように1回目でクリックするのは複数回で、
3回めのforでそれを全部クリックしたい、ということなのです。
伝え方下手くそかよ・・・ごめんなさい・・・

その問題点がこの部分。
>ここで1回目の座標の、なぜか最後の座標がクリックになる。

cntx[i]でfor回るごとに追加にならないの・・・?(´;ω;`)ブワッ

追加関数までありがとうございます。某辞書で見ていたけどスルーしてました。
グレースケールでもいけるのは面白いですね
222デフォルトの名無しさん
2023/10/16(月) 00:38:26.95ID:51QmPmxN
IMGX、IMGYを配列にして座標を入れれば良い
透過PNGを使って認識させるちょっとした裏技を使ってる

dim IMGX[100],IMGY[100]

//一回目
cnt1 = CHKIMGX("ringo1.png",0,0,0,1920,1080,-1,5)
for i=0 to cnt1-1
 IMGX[i]=ALL_IMGX_X[i]+15
 IMGY[i]=ALL_IMGX_Y[i]+15
 BTN(LEFT,CLICK,IMGX[i],IMGY[i],20)
 SLEEP(1)
next

//二回目
cnt2 = CHKIMGX("ringo2.png",0,0,0,1920,1080,-1,5)
for i=0 to cnt2-1
 BTN(LEFT,CLICK,ALL_IMGX_X[i]+15,ALL_IMGX_Y[i]+15,20)
 SLEEP(1)
next

//一回目クリックしたところを再度クリック

for i=0 to cnt1-1
 BTN(LEFT,CLICK,IMGX[i],IMGY[i],20)
 SLEEP(1)
next
223デフォルトの名無しさん
2023/10/16(月) 01:03:38.57ID:zyXWWxv7
>>222
できたーーーー!!
神様ありがとうございます。

>dim IMGX[100],IMGY[100]
これだっ!
これ知らなかったです・・・。

コードもちゃんと動きました。これで今日寝られます。
他お力添えいただいた皆様もありがとうございました!
224デフォルトの名無しさん
2023/10/26(木) 00:43:45.17ID:A8ieLS5R
スクールでpythonを学習する機会があって調べたらモジュール化してUWSCに似た感じに出来る方法がわかったので
練習と学習がてらにpythonへ移植してるけどモジュール化してるとはいえかなり冗長な内容になってる
UWSCがいかに優れてるかよくわかるなぁ
もちろん使いこなせたらpythonの方が上だろうけどまだ初心者にとってはUWSCの方が使い勝手いいと思わせられる
225デフォルトの名無しさん
2023/10/28(土) 07:50:27.37ID:EUUOZvyM
説明下手か
226デフォルトの名無しさん
2023/12/09(土) 03:19:30.30ID:Z3iPlD7J
スマホゲームの自動操作はAndroidエミュをUWSCで操作するのが王道なの?それとも直接何かのプログラムでデータサーバーにアクセスして操作したりするものなの?
227デフォルトの名無しさん
2023/12/09(土) 09:20:38.27ID:/zdDQSm/
王道は知らない
データサーバーと直接通信できるゲームは多分ない
中継サーバーと直接通信するのは即BAN対象
uwscで操作も大抵はBAN対象
228デフォルトの名無しさん
2023/12/09(土) 15:45:28.46ID:0drD1kgT
エミュを操作するUWSCを検出するのは困難だろうが
エミュレータ自体が締め出されるんじゃないの
229デフォルトの名無しさん
2023/12/09(土) 22:49:24.82ID:GUVJgzLn
BANにならないように人間の操作のように偽装する
230デフォルトの名無しさん
2023/12/09(土) 23:14:59.79ID:le18kSUd
>>229
クリック場所や時間にランダム入れるのは
一番初めにやることだよね
231デフォルトの名無しさん
2023/12/09(土) 23:24:32.32ID:YsGnRVwU
それって周回作業する場合は1時間とかで切り上げるってこと?
24時間回すとかどう考えても手動じゃないし
232デフォルトの名無しさん
2023/12/09(土) 23:34:36.62ID:le18kSUd
>>231
無料で24時間何かしら回すものがあるような糞仕様しか作れない会社は
取り締まり能力も低いから
課金者をぶっちぎってランキング1位とか目立たない限り大丈夫
無課金で目立ったら証拠とか関係なしにBANされる
向こうも商売だからな

スタミナとか消費するものを課金で無限に購入して回すのはやったことないから知らん
233デフォルトの名無しさん
2023/12/10(日) 04:15:24.81ID:hMPwmZDp
同じスマホゲームのアカウントを6個作って
NOX6個同時起動させてUWSCで延々と周回させて遊んでいた
運営に怪しまれないように同アカウントで連続操作を避けて回し続けた
面白過ぎて夢中になった
234デフォルトの名無しさん
2023/12/11(月) 23:42:04.91ID:avB0hnze
作るのむずかしいですな
235デフォルトの名無しさん
2023/12/17(日) 08:10:16.85ID:MJgKP6eI
nox playerでスマホゲームやってます。
標準でマクロ機能もあるんですが
UWSCはそれより条件を細かく設定できるイメージかな?

pc上でnoxの表示箇所や幅を変更しても
そのまま対応してくれるのでしょうか?
236デフォルトの名無しさん
2023/12/17(日) 08:24:50.44ID:jVq4jP47
対応した書き方してればそうなるんじゃないの
237デフォルトの名無しさん
2024/01/25(木) 14:02:50.11ID:kDxprDQf
Citraに仮想キーコード送っても無反応なのよな
238デフォルトの名無しさん
2024/01/25(木) 14:52:52.53ID:kASAECz9
Citraはしらんけど、CLKITEMで仮想キーコード送っても無反応で、SCKEYなら送れた事がある
239デフォルトの名無しさん
2024/03/17(日) 00:34:04.91ID:cgpZaJMI
テスト
240デフォルトの名無しさん
2024/03/25(月) 20:14:15.94ID:/ucuOakA
Windows11にしたらChkImgXが使えなくなってしまった
Windows11で画像を撮り直してみましたが、マッチしません
どのような原因が考えられますか?
241デフォルトの名無しさん
2024/03/25(月) 22:31:45.48ID:YEA7vJ+7
OSには依存しないので、ChkImgXのエラーが出てないなら書き方が悪いとしか
画像もOSによって認識が変わることも無い

そもそもどう書いて、どういうエラーが出てるかも分からないのにエスパー解答しろというのもな~
242デフォルトの名無しさん
2024/03/26(火) 02:15:36.84ID:egQmjIwx
>>241
おま環で自分の環境が悪いだけなのかもしれない
問題の切り分けのために試していただけるとありがたいです

・sample.uws(付属のサンプルを少し修正したもの)
---------------------------------------
CALL ChkImgX.uws

startup_chkimgx()

// 画像サイズを取得
dim w, h
imagesize("sample.png", w, h)
print "画像 幅:" + w + "px,高さ:" + h + "px"

// 5chトップページを開く
doscmd("start https://5ch.net/";)
sleep(3)
id = getid(GET_ACTIVE_WIN)

// トップ画像をマッチングで探してクリック
if chkimgx("sample.png", id)
 print "見つけた スコア:" + G_IMGX_SCORE
 acw(id)
 mmv(G_IMGX_X, G_IMGX_Y)
 btn(LEFT, CLICK, G_IMGX_X, G_IMGX_Y)
else
 print "ない?"
endif

shutdown_chkimgx()
sleep(60)
243デフォルトの名無しさん
2024/03/26(火) 02:16:39.33ID:egQmjIwx
規定のブラウザはChromeです

・sample.png
UWSC初心者用スレ2 ->画像>12枚
(5chのトップ画面のスクリーンショットから、UWSC初心者用スレ2 ->画像>12枚 の一部を切り取り)

■Windows7
・結果
トップ画面の画像(UWSC初心者用スレ2 ->画像>12枚 の縮小表示画像)をクリックして、https://5ch.net/ を開く

・print
---------------------------------------
画像 幅:56px,高さ:47px
見つけた スコア:0.1
---------------------------------------

■Windows11
・結果
画像がマッチせず

・print
---------------------------------------
画像 幅:56px,高さ:47px
ない?
---------------------------------------
244デフォルトの名無しさん
2024/03/26(火) 15:18:15.04ID:CdpUPxZi
//とりあえず、ChkImgX.uwsの簡易テスト
//画像を保存してその画像を認識できればOKと表示する


CALL ChkImgX.uws

startup_chkimgx()

SAVEIMG("test.bmp",0,100,100,100,100,TRUE)

IFB ChkImgX("test.bmp");msgbox("OK");ENDIF

shutdown_chkimgx()
245デフォルトの名無しさん
2024/03/26(火) 15:53:57.50ID:CdpUPxZi
難しく考えないで、簡単に書けば良いんだよ
とりあえず、これでクリック出来た


CALL ChkImgX.uws

startup_chkimgx()

doscmd("start https://5ch.net/";)
sleep(3)
id = getid(GET_ACTIVE_WIN)
ACW(id,0,0,1400,1000)
sleep(2)
IFB ChkImgX("sample.png");BTN(LEFT,CLICK,G_IMGX_X+5, G_IMGX_Y+5);ENDIF

shutdown_chkimgx()
246デフォルトの名無しさん
2024/05/13(月) 07:07:57.61ID:y8uK9t53
テスト
247デフォルトの名無しさん
2024/06/26(水) 15:13:21.06ID:YSRdGTY0
MOUSEORGでバックグラウンドで操作させる場合はwindows11でも問題なく使えますか
windows10では使えないとか認識しないとかの情報が多く出てくるし・・・
windows10で使えないならwindows11では使えない?
248デフォルトの名無しさん
2024/06/26(水) 16:21:32.09ID:+on48JBe
使えてないね
だから自分はVmwareで仮想環境を作ってそっちで動かしてる
結果的にバッググラウンドと同じになる
まあマシンパワーがそれなりに必要
249デフォルトの名無しさん
2024/06/26(水) 17:39:25.61ID:PWGnqKY3
windows11で普通にMOUSEORG使えてる
250デフォルトの名無しさん
2024/06/27(木) 10:23:12.16ID:7WsF8CHO
Vmwareで仮想環境も出来なくないけど、windows11で使えなかったから互換性の問題だと思って、
C:\Program Files (x86)\UWSCフォルダ内のUWSC.exeを互換性モードでWindows7に設定したら使えた
251デフォルトの名無しさん
2024/06/30(日) 11:46:42.08ID:y5VWXF+a
MOUSEORGとCHKIMGXの連携の仕方がググってもあまり出てこない
出てこないという事はあまりやってる人がいないのか?
少し実験してみるか
252デフォルトの名無しさん
2024/07/08(月) 14:41:50.66ID:Y7cmYXRS
win11の実機でMOUSEORGが使えなかったけど、Microsoftが提供してる仮想環境でなら使えた
エディションの違いで使える、使えないとかあるんかな?
Enterpriseでなら使えるとか?

developer.microsoft.com/en-us/windows/downloads/virtual-machines/
253デフォルトの名無しさん
2024/07/08(月) 14:49:39.08ID:vUkURbA4
使えてたコードが急に使えなくなって数か月後にまた使えるようになったりと原因追う気もならない状況だからeditionとかの話ではないよ
254デフォルトの名無しさん
2024/08/03(土) 15:18:01.79ID:yEd9ZQI5
画像をいちばんあいまい検索したい場合、以下であってるよね?
chkimg("画像A.bmp",-1,,,,,,IMG_MSK_BGR4)
255デフォルトの名無しさん
2024/08/03(土) 16:22:24.18ID:LupLAawb
>>254
yes, thats right. i know you can do it!
256デフォルトの名無しさん
2024/08/03(土) 17:26:34.93ID:9urEeuWC
CHKIMGXを使ったほうがあ良いかな
257デフォルトの名無しさん
2024/08/03(土) 17:28:45.54ID:+x6BLK1H
chkimgのあいまいって色の違いだけじゃないの?
258デフォルトの名無しさん
2024/08/03(土) 20:07:01.54ID:yEd9ZQI5
>>255
thanks

ChkimgXなんか動かないんだよねえ
259デフォルトの名無しさん
2024/08/03(土) 20:19:12.19ID:+x6BLK1H
windows11でも動いてるからなんか間違ってるんじゃないの
使い方かファイルが足りないか
260デフォルトの名無しさん
2024/08/03(土) 20:39:05.21ID:9urEeuWC
動かないと思った時は大概書き方を間違えてる
261デフォルトの名無しさん
2024/08/03(土) 21:29:02.36ID:Y2mH6eig
ちょっと上のレスにChkimgXを使ったコードがある
262デフォルトの名無しさん
2024/08/03(土) 21:53:40.79ID:yEd9ZQI5
>>244
これはOK出たわ
ってことは自分のソースがおかしいな
263デフォルトの名無しさん
2024/08/03(土) 22:34:38.15ID:yEd9ZQI5
動いた動いた。でもCHKIMGのほうが速くない?

質問なんだが、↓のようにwhileの中にIFB文をひたすら書いてて、30個くらいIFB文があるんだが
もっと賢い方法ないかな?30個は全部違う画像です。

while (!getkeystate(VK_SHIFT))
IFB chkimgx("a.bmp",0,x1,y1,x2,y2,0,5,-1)
BTN(LEFT,CLICK,G_IMGX_X+random(20),G_IMGX_Y+random(20))
ENDIF
IFB chkimgx("b.bmp",0,x1,y1,x2,y2,0,5,-1)
BTN(LEFT,CLICK,G_IMGX_X+random(20),G_IMGX_Y+random(20))
ENDIF
IFB chkimgx("c.bmp",0,x1,y1,x2,y2,0,5,-1)
BTN(LEFT,CLICK,G_IMGX_X+random(20),G_IMGX_Y+random(20))
ENDIF
 ・
 ・
 ・
wend
264デフォルトの名無しさん
2024/08/03(土) 22:59:17.99ID:9urEeuWC
ChkImgX.uwsに書いてあるけど

// 以下のファイル名規則に沿ったファイルを置くことで複数のテンプレート画像とマッチング判定させることが可能
// 規則: "test.png"と指定した場合 "test.png" と "test.n.png" (nは任意の自然数)の全てのファイルをパターン画像として用いる
// マッチした画像の番号は G_IMGX_NUM に格納。例えば "test.2.png"にマッチした場合は 2, "test.png"の場合は -1 が格納される

test.0.bmp,test.1.bmp,test.2.bmp,test.3.bmp,test.4.bmp....の形式でファイル名を付ければ

while (!getkeystate(VK_SHIFT))
IFB chkimgx("test.bmp",0,x1,y1,x2,y2,0,5,-1)
BTN(LEFT,CLICK,G_IMGX_X+random(20),G_IMGX_Y+random(20))
ENDIF
wend

と書ける
265デフォルトの名無しさん
2024/08/03(土) 23:33:18.01ID:yEd9ZQI5
>>264
なるほど、やってみた
画像総なめするからクソ遅くて話にならんかったw
266デフォルトの名無しさん
2024/08/03(土) 23:56:08.73ID:9urEeuWC
ChkImgXは指定された連番のファイルを全て読み込んで処理するから、
サイズのデカいbmp画像を多く読み込むと遅くなる
JPEGファイルに変換すると約10%くらいに圧縮できるから早くなるかもしれない
267デフォルトの名無しさん
2024/08/15(木) 03:29:12.69ID:kn1YUiXr
ソフトって1回起動するとレジストリに何か追加している?
追加していたらその場所を教えて欲しい
268デフォルトの名無しさん
2024/08/15(木) 03:57:58.09ID:zohWINrn
レジストリエディタ開いてUWSCで検索すれば良いと思うよ。
ファイルの関連付け関係とインストールデータ関連がレジストリで
設定はiniファイルでだと思う
269デフォルトの名無しさん
2024/08/15(木) 05:14:45.94ID:lXb9vS63
>>268
起動させてもWindowとして出てこないんだけど
タスクバーとかアイコン状態で実行されてしまう
小さいWindow状態に出す方法ってある?
270デフォルトの名無しさん
2024/08/15(木) 07:39:33.44ID:zohWINrn
タスクバーにアイコンが表示されてる状態でもう一回UWSC.exeを起動する
271デフォルトの名無しさん
2024/08/15(木) 08:01:51.90ID:zhwzLtv2
もしくはタスクバーにアイコンがある状態でそのアイコンを右クリックして「トレイから出す」でもいいよ
272デフォルトの名無しさん
2024/08/15(木) 14:09:21.34ID:+gRGjTym
>>271
こっちの手順はやったことあるんだけど
何回やってもタスクトレイから出ないんだよね
PC が3台あって1台だけタスクトレイから
出てくれるんだけど何が違うのかわからん
273デフォルトの名無しさん
2024/08/15(木) 16:49:42.58ID:Ko0oDGRi
\AppData\Roaming\UWSC にあるUWSC.INIを
TaskTrayStart=1
にするとタスクトレイから出せる
274デフォルトの名無しさん
2024/08/15(木) 17:39:24.73ID:Ko0oDGRi
TaskTrayStart=1でなく、TaskTrayStart=0だったわ
275デフォルトの名無しさん
2024/08/15(木) 20:11:40.63ID:5LwD5C2Q
>>274
タスクトレイゼロだった
マジで助かった!
276デフォルトの名無しさん
2024/12/08(日) 11:05:19.41ID:YUFFZ9S6
sage
277デフォルトの名無しさん
2024/12/22(日) 05:05:48.82ID:A06FD57i
scrcpyでChkImgX使うと画像認識自体はしてくれるんですがクリックする座標が全く意味のわからない場所になります・・・
どうすればいいのでしょうか・・・
実際の画像の場所に関係なく、取得されているのは必ず1400,10のような座標になります
278デフォルトの名無しさん
2024/12/22(日) 10:52:16.85ID:82glRy1K
scrcpyとは相性が悪いかもしれないのでNox使ってる
279デフォルトの名無しさん
2024/12/22(日) 20:19:19.67ID:6B40YU5o
>>277
画像認識された数はいくつなの?
画像認識される対象は、必ず1つではなくて、範囲指定した領域全て調査するから複数ヒットしてる可能性がある

変な座標が返されるのは複数ヒットしたうちの1つだから自分の考えている座標と異なる=変な座標 となる。
280デフォルトの名無しさん
2024/12/22(日) 22:12:30.28ID:9zZKplFh
調査するのは必ず左上からだから、その1400,10に最初の画像があるんだろうね

lud20250210072139
このスレへの固定リンク: http://5chb.net/r/tech/1637230335/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「UWSC初心者用スレ2 ->画像>12枚 」を見た人も見ています:
【第五人格】IdentityV 初心者用スレ 12
初心者用の絵スレ
【初心者用】マイニング情報交換スレ3
【第五人格】IdentityV 初心者用スレ 15
【初心者用】マイニング情報交換スレ58
【初心者用】マイニング情報交換スレ59
【初心者用】マイニング情報交換スレ25
【初心者用】マイニング情報交換スレ33
【初心者用】マイニング情報交換スレ61
Webサイト制作初心者用質問スレ part249
【第五人格】IdentityV 初心者用スレ 17
【BnS】ゼロから始める新規初心者用ブレソスレ
【キンスレ】キングスレイド初心者用スレpart3【初心者】
【Esperanto】エスペラントの初心者用スレッド【国際補助語】 parto1
パネルでポンDS 初心者中級者用
くだすれDelphi(超初心者用)その55
ふらっと C#,C♯,C#(初心者用) Part147
ふらっと C#,C♯,C#(初心者用) Part159
ふらっと C#,C♯,C#(初心者用) Part148
ふらっと C#,C♯,C#(初心者用) Part149
くだすれC++Builder(超初心者用)その5
くだすれPython(超初心者用) その48【まず1嫁】
【NISA】初心者用S&P500、オルカン質問雑談スレ
くだすれPython(超初心者用) その43【Ruby禁止】
初心者質問スレ 162
初心者質問スレ 142
冬山初心者スレ その72
どんな質問に答える初心者専用スレ 2
ロード初心者質問スレ part402
ロード初心者ひよこスレ part2
にゃんこ大戦争初心者中級者スレ☆802
バトオペNEXT 初心者スレ part2
Fate/GrandOrder初心者スレ★12
にゃんこ大戦争初心者中級者スレ☆862
にゃんこ大戦争初心者中級者スレ☆902
【DQ10】初心者大使を語るスレッド482
【DQ10】初心者大使を語るスレッド422
ヤフオク初心者質問スレッド #842
ヤフオク初心者質問スレッド #832
Google AdSense 超初心者スレ12
にゃんこ大戦争初心者中級者スレ☆92
【初心者歓迎】メギド72質問スレ 12
ヤフオク初心者質問スレッド #852
白猫プロジェクト 初心者スレ☆92
【エスパー】超初心者の質問に答えるスレ222
クロスバイク初心者質問スレ part22
初心者歓迎 スレ立てる前に此処で質問を 932
[エスパー] 超初心者の質問に答えるスレ242
初心者歓迎 スレ立てる前に此処で質問を 912
ガンプラ初心者・初級者の雑談スレ☆32
ガンプラ初心者・初級者の雑談スレ☆22
【OCG】初心者・復帰組交流スレ Part22
League of Legends 初心者スレ Part222
白猫プロジェクト まったり初心者スレ☆2
初心者もOK! FreeBSD質問スレッド その122
【PSO2】初心者の質問に全力で答えるだけのスレ32
【WoT】World of Tanks 初心者スレ 152
【初心者】キャンプ質問スレッド【達人】 32
【初心者】ゴルフ始める、最近始めた人のスレ★52
サマナーズウォー: Sky Arena☆初心者スレ2
星のドラゴンクエスト 質問&初心者スレ ★52
【>>1必読】初心者の為の購入車種相談スレ172
中小企業診断士 第1次試験 受験者用スレッド part122
【TF2】Team Fortress 2 初心者スレ Part101
【レベル5】妖怪ウォッチぷにぷに初心者スレpart2
【赤青緑】 LED初心者の集うスレ 2 【フルカラー】
09:17:39 up 53 days, 10:16, 0 users, load average: 7.59, 7.78, 7.83

in 1.1334271430969 sec @1.1334271430969@0b7 on 060922