UWSC初心者用スレ2at TECH
UWSC初心者用スレ2 - 暇つぶし2ch2:デフォルトの名無しさん
21/11/18 19:13:06.18 DCbtCP/2.net
●ダウンロード
URLリンク(www.vector.co.jp)
URLリンク(web.archive.org)URLリンク(www.uwsc.info)
●サンプル
URLリンク(www.uwsc.info)
●FAQ
URLリンク(www.uwsc.info)

3:デフォルトの名無しさん
21/11/18 19:15:32.85 DCbtCP/2.net
●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、
具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
URLリンク(www3.rocketbbs.com)
●UWSC - Wikipedia
URLリンク(ja.wikipedia.org)

4:デフォルトの名無しさん
21/11/18 19:16:04.98 DCbtCP/2.net
●使い方・基礎解説学習サイト
URLリンク(uwsc.g.hatena.ne.jp)
URLリンク(www.confrage.com)
URLリンク(necro.jp)
URLリンク(canal22.org)
URLリンク(big.tm.land.to)
URLリンク(www.game-rev.com)

5:デフォルトの名無しさん
21/11/18 19:17:03.75 DCbtCP/2.net
●スクリプトテンプレサイト
URLリンク(siromasa.html.xdomain.jp)
URLリンク(scripts.web.fc2.com)
URLリンク(nem.symphonic-net.com)
URLリンク(iriyak.adam.ne.jp)

6:デフォルトの名無しさん
21/11/18 19:44:11.37 55HQlN17.net
おったておつ

7:デフォルトの名無しさん
21/11/18 20:16:10.94 LLuemXlB.net
まだ使ってるやついるのか
作者の活動もなくなりバージョンアップもなくなったのに

8:デフォルトの名無しさん
21/11/23 13:25:26.30 1xbfCQjm.net
仕様が枯れてるから使いやすいんだよ

9:デフォルトの名無しさん
21/11/23 21:58:29.09 TqmCy8hF.net
インストールするファイル数も少なくて
サイズが小さいのもいい

10:デフォルトの名無しさん
21/11/24 22:51:37.72 2Dm59tnS.net
代替も無いしね

11:デフォルトの名無しさん
21/11/27 14:20:14.83 jTZUbSpl.net
死んだ人の成果物を許可も経ずかっさらう真似なんて日本人ならできないよ

12:デフォルトの名無しさん
21/11/27 14:55:21.26 lBAvNkqJ.net
かっさらう人がいるんですか?

13:デフォルトの名無しさん
21/12/03 12:54:28.64 VvrxD7Wi.net
ブラウザエロゲー(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:デフォルトの名無しさん
21/12/03 13:35:34.70 GJFzQR1P.net
>>13
自動化ツールUWSC使いよ集まれ24
スレリンク(software板)

15:デフォルトの名無しさん
21/12/04 22:16:53.27 L57911eN.net
>>13
裏マクロの指定がおかしいから動いていない
Chromeで裏マクロにしてサイトのSTOPボタンを押す例
ID = GETID("Chrome")
MOUSEORG(ID,MORG_DIRECT,MORG_BACK)
CLKITEM(ID,"STOP")

16:デフォルトの名無しさん
21/12/05 08:25:11.57 gxpObDNw.net
GET_ACTIVE_WINに草

17:デフォルトの名無しさん
21/12/05 14:13:20.36 slvwfW4i.net
ID = GETID(GET_ACTIVE_WIN) にしたら、そのエロサイトのウインドウのIDが入ってしまう
ブラウザエロゲーサイトのタイトルの一部でも指定する事

18:デフォルトの名無しさん
21/12/05 19:14:17.88 v/FRDOhm.net
>>15
>>17
回答サンクス
何度か書き直してみたんだけど、やっぱりうまくいかんわ。
たぶん↓2点を理解してないからうまく書けないんだと思う。
1,IDとハンドルの違いを理解してないこと。
2,「タブの指定→操作を送る」という過程でタブの指定の仕方を理解してないこと。

19:デフォルトの名無しさん
21/12/05 20:03:28.40 slvwfW4i.net
タブを切り替える機能は無いから、エロゲサイトとエロサイトのタブは別ウインドウで開く
画像認識してクリックするだけならハンドル取得は不要
ID = GETID("エロゲサイトのタイトル") //タイトルの一部でも可
MOUSEORG(ID,MORG_DIRECT,MORG_BACK)

20:デフォルトの名無しさん
21/12/05 20:05:42.29 gxpObDNw.net
>>18
自分で書く気があるなら関数ひとつひとつについてヘルプでどういうものか確認しよう
書き直してダメだった内容とどうダメだったかも書こう

21:デフォルトの名無しさん
21/12/05 22:14:44.39 v/FRDOhm.net
とりあえず、ウィンドウはエロゲのみ、タブもエロゲのみの状態で起動。
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:デフォルトの名無しさん
21/12/06 00:48:34.71 tj91aATu.net
>>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:デフォルトの名無しさん
21/12/06 00:51:01.53 tj91aATu.net
ぱっと見てmmvの座標間違えてるのは気付いたので読み替えて

24:デフォルトの名無しさん
21/12/06 01:04:31.76 3grpylNW.net
素人だけど設定のハードウェアアクセラレーションを無効にすると動くこともある

25:デフォルトの名無しさん
21/12/07 15:40:22.89 RnWlic2L.net
>>22-24
このスレめっちゃ親切やな
ありがとー
また今度試して報告する
画像認識、mmvしないって書いたけど、間違いかも。
正しくは、画像認識してるか分からない、mmvしてるか分からない。だ。

26:デフォルトの名無しさん
21/12/07 18:35:55.47 o45XSsNi.net
>>25
まずそこ分かれよw
print入れれば確認できる

27:sage
21/12/10 18:41:11.33 9PsZqLaO.net
こんばんは
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

28:sage
21/12/10 18:42:06.57 9PsZqLaO.net
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

29:sage
21/12/10 18:42:54.59 9PsZqLaO.net
print "画像が見つかりません"  
endif
sleep(3.5)
Wend

以上の通りです。
お手数おかけいたしますが、なにとぞよろしくお願いいたします。

30:デフォルトの名無しさん
21/12/10 20:08:07.17 Zx61Q8si.net
>>29
chkimgx.uwsの中確認したら?
g_imgx_x,g_imgx_y

31:デフォルトの名無しさん
21/12/10 21:17:10.72 9PsZqLaO.net
>>30
chkimgx.uwsの中は弄ってませんでした…
Visual Studio Codeで開いてみましたが文字化けだらけで意味不明でした…

32:デフォルトの名無しさん
21/12/10 21:33:40.29 W+CsWCwh.net
>>31
開いている文字コードが違うのでは
chkimgx.uws はShift_JISだよ
いじる必要はないんだけど扱うのに必要なことが書いてあるので読むべき

33:デフォルトの名無しさん
21/12/10 21:41:00.65 W+CsWCwh.net
Visual Studio Code で文字化けせずにSJISファイルを開く
https://iucstscui.hatenablog.com/entry/2021/02/01/221038
↑貼れないので全角化した

34:デフォルトの名無しさん
21/12/10 21:45:52.53 wtDmROT3.net
// ID: Windowを識別するID (0 であればスクリーン全体)
// ※MOUSEORGの設定は取得できないのでIDを明示的に指定してください
// 0の場合MORG_FORE, Window IDを指定した場合MORD_BACKと同じように動きます

35:デフォルトの名無しさん
21/12/10 22:55:50.53 YWWq+54U.net
>>32、33、34
ありがとうございます!
まずご参考の通り開いてみてやってみます!

36:デフォルトの名無しさん
21/12/12 11:50:31.75 cgJROYQS.net
質問なんですが、PCを買い替えた場合、モニターのサイズと解像度が同じなら画像をそのまま新しいPCでも流用することは可能ですか?
それとも画像を再取得する必要があるのでしょうか?

37:デフォルトの名無しさん
21/12/12 12:21:31.25 YGBHMNxc.net
流用できることもある

38:デフォルトの名無しさん
21/12/12 13:54:09.62 zbEQabkL.net
拡大縮小してなければモニタの解像度が違っても行けるだろ

39:デフォルトの名無しさん
21/12/12 16:48:28.91 cRL3yS5P.net
>>36
ブラウザの操作ならブラウザの縦横幅を同じにすれば使える
解像度は影響しないように汎用的に作れば良い

40:デフォルトの名無しさん
21/12/12 22:37:17.97 SJzQ+Dpm.net
色が
グラボやOSやソフトで、グラデやスムジを切るか、旧と同じに

41:デフォルトの名無しさん
21/12/12 22:38:38.53 SJzQ+Dpm.net
半透明
バッグラ描画さぼり

42:デフォルトの名無しさん
21/12/14 03:11:27.78 wO1KVDXL.net
何故にカタコト

43:デフォルトの名無しさん
21/12/14 03:20:27.17 IDcXj5e5.net
相手に
合わせた

44:デフォルトの名無しさん
21/12/14 08:25:28.27 nethN8Rv.net
別にその質問レスは片言でも何でもないだろ

45:デフォルトの名無しさん
21/12/24 10:11:28.47 S6AOyW3k.net
これの代わりになるツールないの?

46:デフォルトの名無しさん
21/12/30 21:03:24.29 ESCS1df0.net
動く画像を認識させる方法ってないのかな?
いくら調べても静止画像の認識方法しか出てこないんだけど

47:デフォルトの名無しさん
21/12/30 21:10:29.75 dYE8+B1V.net
動いてる画像を録画ツールで記録して、静止画に分解して、分解した画像をchkimgxで認識させてる

48:デフォルトの名無しさん
21/12/30 21:57:23.32 ESCS1df0.net
なるほど、フレームの画像を取得するのか

49:デフォルトの名無しさん
22/01/13 01:01:01.47 OoQIgOAu.net
windows11へアップグレードしたけど画像が撮り直しになってしまった
仮想OSのほうもイメージ自体は変わってないはずだけどそっちも画像が取り直しになって
めんどくさいから10に戻した

50:デフォルトの名無しさん
22/01/14 09:03:29.23 MBIe30li.net
初心者です。同じ名前の複数ウインドウを指定位置にそれぞれ移動させたいのですがうまくいきません
GETALLWINではやりたい動きにはならなかったので他の方法でわかる人いませんか?

51:デフォルトの名無しさん
22/01/14 10:31:06.33 5o7urNRR.net
見つかったウィンドウを順番に指定位置に移動するのではダメということですか
自動化しない場合は同じ名前のウィンドウをどうやって区別しますか

52:デフォルトの名無しさん
22/01/14 10:52:30.69 MBIe30li.net
>>51
1番目に見つけたのを左上、2番目を右上、3番目を左下みたいな感じにしたいです
ACWでの区別の方法がわからない状態です

53:デフォルトの名無しさん
22/01/14 11:17:36.33 XYCePjt2.net
見つけた順を元にするのならわざわざ区別する必要は無いだろ
見つけたものから順に処理させれば良いだけのことだ

54:デフォルトの名無しさん
22/01/14 11:24:57.20 5o7urNRR.net
>>53
使い方がわかってないのでは
>>52
getallwinで取れるidの配列をforループか個別にacwに指定したらダメですか
FOR n = 0 TO GETALLWIN() - 1
DIM ID = ALL_WIN_ID[n]
acw(id,位置指定とか)
省略

55:デフォルトの名無しさん
22/01/14 11:42:09.49 MBIe30li.net
ネットのテンプレ文を少し変えて使ってるレベルの理解度なので応用とかは全然わかってないです
>>54
試してみます
ありがとうございます

56:デフォルトの名無しさん
22/01/14 12:48:18.52 sk790Gu7.net
>>55
>>54 に書かれているものと組み合わせて
STATUS()でとったタイトルを
IF で判断して必要な場合だけ
ACW()するようにする
特殊な表示をしていればSTATUS()で思うような内容が
返ってこないことはありえるけど滅多にないだろう
テスト中STATUS() で返ってくる内容をチェックするには
ウィンドウ数が少なければMSGBOX()
多ければSLEEP()で適当に時間をとりながらPRINTを使う
選択的に表示しないで
にPRINT一回一回にSLEEPを使わず
GETALLWIN()の内容を全部表示したあと
SLEEP()を長くとってまとめてチェックすれば
IFでの処理間違いで表示が出ない場合などの確認ができる
テスト中はSTOPFORM()を表示して
止めたいときに止められるようにしておくといい

57:デフォルトの名無しさん
22/01/14 13:22:03.98 MBIe30li.net
>>56
詳しくありがとうございます
やってみます

58:デフォルトの名無しさん
22/01/14 20:21:44.68 qQu95WeC.net
実行中
UWSC自体の位置を変えて終わるときに位置を元に戻す
といったことをやりたいのですが
UWSC自体のウィンドウの制御ってどうやるんでしょう?

59:デフォルトの名無しさん
22/01/14 21:46:02.04 sk790Gu7.net
>>58
UWSC自体というのが
URLリンク(img02.hamazo.tv)
( URLリンク(ktpcschool.hamazo.tv) )
(↑このURLは画像を借りた場所という以上の意味はないです)
これのことだとしたら
GETID("UWSC", "TUMain_uwsc")
で取得したIDで動かすことができる

60:デフォルトの名無しさん
22/01/14 22:07:31.95 sk790Gu7.net
ただ、もしかしたら勘違いしてるんじゃないかという気がするのは
実行時にそのウィンドウは別に必要ないということ
コマンドプロンプトその他から
c:\dokoka\UWSC.exe c:\script\nanika.uws param1 param2 param3 ...
の形で実行されさえすればいい

61:デフォルトの名無しさん
22/01/14 22:34:09.28 sk790Gu7.net
拡張子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:デフォルトの名無しさん
22/01/15 16:59:47.34 DFX5O6Fa.net
「一定時間マウス操作が無かった時に発動する命令」についての質問です
命令①を繰り返し続ける

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

命令①の繰り返しに戻る
という命令文を「adbの裏マクロ」で組みたいです。
通常のマクロで上記を行う場合は「マウスカーソルの座標が移動したかどうか」
を発動条件にすればできると聞きましたが、
マウスの動かない裏マクロで上記をみたす命令文は構築できるのでしょうか
できる場合は例文やヒントを教えていただきたいです
1分間クリックが行われない状況が多岐にわたるため
「特定の画面になったら命令②を行う」はできそうにありませんでした

63:デフォルトの名無しさん
22/01/15 17:17:26.50 2W+4eRYP.net
マウスカーソルの座標を取得し、一分後のマウスカーソルの座標と比較

64:デフォルトの名無しさん
22/01/15 17:38:40.10 DFX5O6Fa.net
>>63
マウスが動かないためそれが出来ず困っています
「クリックが行われたかどうか」の有無を判定する命令文があればいいのですが…

65:デフォルトの名無しさん
22/01/15 18:11:34.39 8h/gvJDc.net
下の想定はあってる?
ゲームを裏で自動で動かす一方で表ではPCをいろいろ使ってる
ゲーム内で1分クリックがなかった場合は命令2をする
クリックはどうやって行われるの?
命令1の中にクリックが含まれる?
気が向いた時に自分でゲーム操作してクリックする?

66:デフォルトの名無しさん
22/01/15 19:18:49.62 DFX5O6Fa.net
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:デフォルトの名無しさん
22/01/15 19:38:25.22 DFX5O6Fa.net
>>65
想定としては
PCを全く触らない想定です
クリックのが実行は
特定の画像を見つけたら、定位置3か所程度をクリックするというものです
これを①の繰り返し部分につかっています。
他人の書いた命令文の見様見真似で
>>66を走らせてみたのですが
①を60秒間繰り返したのち、すぐに②が発動しちゃっていて
裏マクロのクリックはマウスの動作として認識されていないようでした

68:デフォルトの名無しさん
22/01/15 19:46:52.14 JoeIONBq.net
それ画像が見つからない状態が一定時間経過したら命令2に移行するでいいんじゃないの
adbによるタップはマウスカーソル座標とか全く関係無いよ

69:デフォルトの名無しさん
22/01/15 20:14:55.94 DFX5O6Fa.net
>>68
その方式にしたら私の知識でもうまく作れそうですね…
ただ、他のマクロにも利用できる汎用性のあるものを作りたいと考えていて
「一定時間クリックが行われなければ」をトリガーにした命令文を作りたい
と考えています

70:デフォルトの名無しさん
22/01/15 20:43:12.28 DFX5O6Fa.net
改めて調べてみたのだけどクリック判定は難しそうです
ひとまず、画像なしを一定時間(複数回)検知したら~という方式で作ってみます
ありがとうございます

71:デフォルトの名無しさん
22/01/15 23:18:43.08 zZcweZ63.net
>>66
checkCur()
は一度②を実行すると終了して
それを実行していたスレッドも終了してしまう
ループを2重にして②を実行したあとはまた最初っから
の処理を繰り返す必要があるのでは

72:デフォルトの名無しさん
22/01/16 00:15:41.45 eEuzY81s.net
タップしたかどうかで判定したいならadbによるタップを関数化して
関数内でグローバル変数に最後にタップした時間をGETTIMEで入れればいい

73:デフォルトの名無しさん
22/01/16 00:32:01.33 V+ZRX82D.net
こんなん?
public isclicked=0
(省略)
procedure adbclick(引数省略)
isclicked=1
doscmd(引数省略)
fend

74:デフォルトの名無しさん
22/01/16 01:24:00.18 4EWMaBch.net
>>71
たしかにその通りでした
>66だと②発動条件の監視は1度だけになっていました
見てわかるのがすごい。私は走らさせないとわからなかった

75:デフォルトの名無しさん
22/01/16 01:36:07.69 4EWMaBch.net
>>72
>>73
言っていることは朧げに分かりますが
それを命令文化する知識が足りません。でもありがとうございます!
>>73を参考に方法を調べてみます

76:デフォルトの名無しさん
22/01/17 13:17:30.06 ephhg8o+.net
これってマックで使えないの?

77:デフォルトの名無しさん
22/01/17 13:47:39.86 BS7LWx0L.net
>>76
Windowsが動くマックなら使えるでしょ
試してないけど

78:デフォルトの名無しさん
22/01/20 11:03:19.87 V75Vz3Z+.net
質問します。
無料バージョンとProバージョで、単にExcel起動させるスクリプトなんですが、無料はちゃんと動くがProは工ラーが出てしまう。
Verはどちらも 5.3.0.2です。
ただ、ー部のスクリプトはProでも動きます。
使い始めて間がないので、よくわかってないところが大部分です。
よろしくお願いします。

79:デフォルトの名無しさん
22/01/20 11:15:19.75 9lIEWcOm.net
動くスクリプトと動かないスクリプトをそのまま貼り付けて書き込みしましょう

80:デフォルトの名無しさん
22/01/20 14:49:50.52 n7chvAG3.net
ついでにどう動かないのか
エラーメッセージが何なのかも書いた方がいい

81:デフォルトの名無しさん
22/01/20 17:35:23.20 V75Vz3Z+.net
78です。
家に帰ったら、スクリプトとエラーの表示内容をアップします。

82:デフォルトの名無しさん
22/01/20 21:42:35.09 MyoibU5A.net
>>78です
EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.Workbooks.add()

83:デフォルトの名無しさん
22/01/20 21:44:19.00 PmxKwmhK.net
URLリンク(i.imgur.com)

84:デフォルトの名無しさん
22/01/20 22:41:07.67 BEc60Lbm.net
セキュリティソフトを起動させておくと>>83のエラーが出たけど、OFFにしておくと問題ない
EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.Workbooks.add()
EXCEL.visible = True

85:デフォルトの名無しさん
22/01/21 07:31:53.10 dq8Ljfzw.net
>>84
検証、ありがとうごさいました。

86:デフォルトの名無しさん
22/01/23 23:17:34.39 EK6M0RjQ.net
昨日まで問題なく使えてたChklmgXが急に画像認識しなくなったんだけど何か原因ありますか?

87:デフォルトの名無しさん
22/01/23 23:18:11.34 dd4Q4/BT.net
>>86の環境が変わった

88:デフォルトの名無しさん
22/01/24 17:17:53.61 aEoJXi2O.net
原因が有りすぎて特定できん
一つずつ原因を探って行くしか無い

89:デフォルトの名無しさん
22/01/24 18:47:54.12 1UwK5pur.net
たびたび認識しなくなるようなら
認識用の画像を取り込むマクロ組んだほうが早い

90:デフォルトの名無しさん
22/01/25 08:40:44.22 2SB0W66n.net
>>86ですが、どんな感じでおかしくなったかというと、
例えば「OK」というボタンがあって、色々な「OK」ボタンがあるのですが、その違いはほとんどありません。
(OとKの隙間が何ミリ違うとかのレベル)
先日までは色々な「OK」ボタンを全て認識してくれていたのですが、急に認識しなくなりました。
どれぐらい認識しないかというと通常のChklmgぐらい認識してくれません。

91:デフォルトの名無しさん
22/01/25 09:35:40.35 bQTfb4+e.net
>>90
chkimgXは全く同じ形でも大きさが変わると認識できない
なぜ今まで認識できていたかはわからないけどそれが本来の挙動

92:デフォルトの名無しさん
22/01/25 11:03:12.63 f9K0hpc1.net
Windows10だとスケーリング変えるだけで動かなくなるからそこがが一番怪しいと思うけど
次の日いきなりということ他のソフトの影響や権限関係で画像キャプチャ自体を拾えなくなってる可能性もある

93:デフォルトの名無しさん
22/01/25 12:15:52.72 clOxlBpk.net
OKボタンをキャプチャできないように対策された可能性も

94:デフォルトの名無しさん
22/01/26 18:42:02.11 eMrJuTGp.net
画像の撮り直しするしかないだろうな
自分も年2回くらいの頻度でゲームのメンテ後にそういう状況になる

95:デフォルトの名無しさん
22/01/26 19:31:39.15 3qeFT0O1.net
アンチエイリアスが掛かっていると
同じ画像のはずなのに僅かなドットの違いで
反応しなくなったりするみたいだな

96:デフォルトの名無しさん
22/01/26 20:32:24.66 YrQt15hx.net
なんならビデオカードのドライバが変わるだけでアウトだったりするしな
ほんの僅かな違いで認識しなくなる

97:デフォルトの名無しさん
22/01/26 22:17:32.56 6HW3aESR.net
OKの画像でダメならOだけの画像にするとはよくやる
ギリギリまで無駄な部分を削って誤差を少なくするのは基本

98:デフォルトの名無しさん
22/01/28 22:55:54.34 oecXklWi.net
画像認識で押さなくとも、CLKITEMで押せたりもする

99:デフォルトの名無しさん
22/03/27 23:40:28.02 04DQ0omn.net
すみません教えて下さい!
①~③の写真を順番にクリックしたいんですけど①の写真がなければ②と③の動作はしないようにするには①のchkimg()のあとに=trueをつけるといいんですか?
あと①~③を順番に動作させたい場合はstepは使わないですか?step入れてみたのですが訳がわからなく使っててよく分かりません

100:デフォルトの名無しさん
22/03/28 01:13:44.89 Qyr8aL6i.net
①の画像と②の画像同時に存在するときに動作するようにする
ifb chkimg① and chkimg②
click

101:デフォルトの名無しさん
22/03/28 09:23:26.66 Z3wXEIoi.net
結局代替はみんな何使ってんの?

102:デフォルトの名無しさん
22/03/28 09:44:40.37 1jf8X/eZ.net
今のところ代替の必要がない

103:デフォルトの名無しさん
22/03/31 00:51:25.15 NioKJ8hU.net
教えてもらえませんか?
アクティブなウィンドウで選択している文字をCTRL+Cでコピーしたいのですが
アクティブなウィンドウが取得できません
ACW(GETID(GET_ACTIVE_WIN))をやっているのですが
別のウィンドウからコピペされてしまいます
ACW(0)だとALT+F1ではコピーできますが、再生ボタンを押すと
別のウィンドウからのコピペになってしまします
どうしたらアクティブなウィンドウを指定できますか?

104:103
22/03/31 03:24:15.22 NioKJ8hU.net
>>103
自己解決です。
どうしても使いたい機能がある別のマクロソフトと
組み合わせることにしたので
アクティブなウィンドウの指定がいらなくなりました
お騒がせしてすいません

105:デフォルトの名無しさん
22/04/25 01:47:22.24 yfsHggVp.net
こんばんは。初心者用スレではない方でも書き込んだのですが、こちらにお分かりになる方いればお教えいただきたいです。
タブレットPCを使用しているのですが、画面のタップを記録できず困っています。マウスでのクリックではなくタップを自動化したいのですが、どのようにすればよいでしょうか?

106:デフォルトの名無しさん
22/05/02 21:43:17.59 EAkaa/98.net
chkimgxで教えてください。
エラーが出て動作確認の為に以下のようなコードを書きました。
if chkimgx(image file)
msgbox(“1”)
else
msgbox(“2”)
endif
if chkimgx(image file)
msgbox(“3”)
else
msgbox(“4”)
endif
これを実行すると2回目のifでエラーになります。
なぜでしょうか?

107:デフォルトの名無しさん
22/05/02 22:32:56 OUNKq7dB.net
2回目のimage fileの指定が間違ってる

108:デフォルトの名無しさん
22/05/03 05:14:30 q6WjpaXg.net
" syntax error " と
" file not foud " と
" null pointer exception " では対処が違う

109:デフォルトの名無しさん
22/05/03 07:27:16.98 UCmy3FzQ.net
やりたいことはifじゃなくてifbじゃないの

110:デフォルトの名無しさん
22/05/03 10:15:47.24 oFZBhoiN.net
ご指摘ありがとうごさいます。
STARTUP_CHKIMGX()
SHUTDOWN_CHKIMGX()
使用する時この中に記述しないといけないのを見落としていました。
なんとか本来行たい事も出来ました。
すみませんでした。

111:デフォルトの名無しさん
22/05/03 14:09:04.62 KNYGN0Wa.net
バグの原因の多くが、スペルミスか記述漏れである事は多い
どうせスペルミスだろと思って見直す事はよくある

112:デフォルトの名無しさん
22/05/04 06:34:34 7xKas5ey.net
>>109
どっちも同じです

113:デフォルトの名無しさん
22/05/04 18:00:54.33 3g5tWLyo.net
やりたい事もやれない世の中はポイズン

114:デフォルトの名無しさん
22/05/07 12:52:09.91 4xkMcU9J.net
あいまい検索プラグインのchkimgXをDLしたいのですがどこにあるでしょうか?
ご指南お願いします。
piggy-bank.jp の DNS アドレスが見つかりませんでしたとなり、みつけられませんでした。

115:デフォルトの名無しさん
22/05/07 12:58:40.40 islK5eJv.net
無能すぎて笑ったから貼ってあげましょう
URLリンク(classicrpa.000webhostapp.com)

116:デフォルトの名無しさん
22/05/07 16:22:01.86 ZNYq+zf8.net
いろんなサイトに転載されてるから chkimgX DL でググればDL出来るサイトは普通に見つかる

117:デフォルトの名無しさん
22/05/07 17:25:55.09 4xkMcU9J.net
>>115
ありがとうございます。

118:デフォルトの名無しさん
22/05/25 06:44:52.01 u9geCx6Z.net
最近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:デフォルトの名無しさん
22/05/25 07:28:30.21 KZxZ7LBt.net
>>118
一度に複数のコマンドを実行する場合は<#CR>改行でつなぐ
CMD = "cd C:\Program Files (x86)\Nox\bin<#CR>nox_adb shell input keyevent A"

120:デフォルトの名無しさん
22/05/25 10:46:15.60 Z9JTB2tv.net
自分も>>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:デフォルトの名無しさん
22/05/25 11:34:10.69 kLoWZPwa.net
G_IMGX_XとG_IMGX_Yを+か-して調整すれば良い

122:デフォルトの名無しさん
22/05/25 17:11:34.18 Z9JTB2tv.net
>>121
ズレる位置が常に一定なら±するだけですが、固定値では無いんです。
何らかの法則はありそうなのですが、その計算式の求め方というか根拠が分かりません。
nox_adbのタップ位置 = G_IMGX_Y * ??? + ???

123:デフォルトの名無しさん
22/05/25 17:59:07.24 u9geCx6Z.net
>>119
ありがとうございます
無事出来ました

124:デフォルトの名無しさん
22/05/25 18:14:22.88 iso8r4bW.net
UWSCってなんですか?

125:デフォルトの名無しさん
22/05/25 19:39:24.22 rVGJ6xgQ.net
Umiumi Windows SCript
だっけ?

126:デフォルトの名無しさん
22/05/31 05:16:47.31 omctaPA2.net


127:デフォルトの名無しさん
22/05/31 06:37:44.93 mVj/h8Ue.net
Delphiで作られているらしいな
c#等の.net系は実現出来るのだろうか

128:デフォルトの名無しさん
22/05/31 06:45:19.87 SYdTC473.net
.net系は実現できるのだろうかってどういう意味?

129:デフォルトの名無しさん
22/06/02 20:31:26.54 rz5QQV47.net
見た目は今風になるだろうけどDelphiよりは確実にもっさりしたのが出来上がる

130:デフォルトの名無しさん
22/06/03 04:53:58 GQ43dJuv.net
今UWSCと同じような物を作る最適な言語はなんだ
Delphiは優秀だけど古いよな

131:デフォルトの名無しさん
22/06/03 09:32:49.12 4c5BNRsi.net
pythonじゃね
それかruby
ゲームのマクロ目的だからExcelを自動化みたいな考えは無い

132:デフォルトの名無しさん
22/06/03 14:40:18.33 971V5y+F.net
言語に古いも新しいもない

133:デフォルトの名無しさん
22/06/03 15:20:14.94 0iMwvplW.net
あるけど 古い=悪い わけではない

134:デフォルトの名無しさん
22/06/03 22:01:48.99 vpEWwdrG.net
rubyはGUIが弱くってそこを補うためにuwsc使ってるからuwscの代替となるかと言われると無理な気がする

135:デフォルトの名無しさん
22/06/03 22:40:43 3c73icsX.net
UWSCでGUIはなくてもよさそうだけど

136:デフォルトの名無しさん
22/06/03 22:52:34 971V5y+F.net
Python 1991年
Ruby 1993年
Delphi 1995年

どれも大差ないよ

137:デフォルトの名無しさん
22/06/04 00:45:44.64 vzqEPqD2.net
Python等のインタプリター言語で
uwscのインタプリターを作ったら
遅くなり過ぎるだろ

138:デフォルトの名無しさん
22/06/04 05:07:12.40 uhrbPQbf.net
知ったか

139:デフォルトの名無しさん
22/06/04 09:06:55.20 hxU+fwdC.net
いや、当たり前のこと言ってるようにしか思えないんだが

140:デフォルトの名無しさん
22/06/04 09:36:23.36 4UBGSNRy.net
作者がもうこの世にいない以上、今あるUWSCでどうにかするしかない

141:デフォルトの名無しさん
22/06/16 15:59:53.46 N3SYIUJS.net
>>135
fukidasiだけでもめっちゃ便利なんです

142:デフォルトの名無しさん
22/06/23 21:20:05.65 4JatNiDf.net
マルチスレッドを使えば
吹き出し64個同時表示が可能なんだよな

143:デフォルトの名無しさん
22/06/26 13:09:31.78 hbdcqL5D.net
エスケープ文字のエスケープ方法を知りませんか?
ダブルクォーテーション、改行、タブは
エスケープ文字として<#DBL>、<#CR>、<#TAB>が割り当てられていますが、
例えば「"テスト<#DBL>です"」という文字列をファイルに出力すると
エスケープされて「テスト"です」という内容のファイルが出来ます。
これをエスケープされないように「テスト<#DBL>です」と出力するには
どうすればいいのでしょうか?

144:デフォルトの名無しさん
22/06/26 13:12:38.36 UB4e87n3.net
チョンチョンで囲っても駄目なんだな

145:sage
22/06/26 15:45:20.94 1mHgElUf.net
>>143
//全部大文字 をやめる
msgbox("a<#"+"dBL>b")
//または
option specialchar
msgbox("a<#"+"DBL>b")

146:デフォルトの名無しさん
22/06/26 18:48:40.54 bS2HZoKx.net
>>145
これは自分では解決無理でした
本当にありがとうございました

147:デフォルトの名無しさん
22/06/28 11:54:10.54 t3kJoord.net
モヤモヤが動いていて画像が指定クリック出来ません💦
あいまい画像検索しても上手くいかないのですが方法はありますか?

148:デフォルトの名無しさん
22/06/28 11:55:08.44 t3kJoord.net
URLリンク(i.imgur.com)

149:デフォルトの名無しさん
22/06/28 17:08:34.60 /dfK2g9c.net
モザイクを無視して文字列だけを認識させるという事か?

150:デフォルトの名無しさん
22/06/28 20:47:32.69 b3tUfSci.net
>>147
> モヤモヤが動いていて画像が指定クリック出来ません💦
> あいまい画像検索しても上手くいかないのですが方法はありますか?
集まれスレで返答貰ったので〆ます✨

151:デフォルトの名無しさん
22/07/29 16:42:17.83 so2b8qwX.net
test

152:デフォルトの名無しさん
22/07/30 21:13:43.61 8Mquypwa.net
tester

153:デフォルトの名無しさん
22/07/31 23:15:10.36 LmtiMMax.net
testest

154:デフォルトの名無しさん
22/08/06 11:49:04.93 Jq43FlU6.net
オンラインゲームでマーケットにアイテムが出品された瞬間に購入するbotを作る場合
uwscとpythonどちらのほうが早く購入することができますか?

155:デフォルトの名無しさん
22/08/06 12:52:24.92 +9Ajl8XK.net
不定

156:デフォルトの名無しさん
22/08/06 13:52:07.75 3XvgAeC8.net
>>154
そんなのBANせれて終わりだろ
出品されたか確認の為に頻繁に問い合わせしたら即バレるわ

157:デフォルトの名無しさん
22/08/06 17:37:43.29 Jq43FlU6.net
>>156
それはそうかもしれませんが、単純に速さはどちらが上ですか?

158:デフォルトの名無しさん
22/08/08 14:21:58 A57pDOpl.net
同じウィンドウ名とクラス名のブラウザアプリ(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:デフォルトの名無しさん
22/08/09 20:42:54.77 WTH4cAqy.net
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:デフォルトの名無しさん
22/08/10 21:46:14.83 zuCuX6KX.net
>>159
画像があればクリックするという関数をつくって
それをBTN()とBTN()の間で呼ぶようにすればいい
THREAD()を使ったりするとクリックの競合が
発生しないように制御しなければならなくなるので
こちらのほうが素直

161:デフォルトの名無しさん
22/08/11 13:41:16.86 UtolBXHt.net
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:デフォルトの名無しさん
22/08/12 14:38:28.84 m6+pfbJk.net
>>160
BTN()が100以上など数が多い場合も間で呼ぶしかないのでしょうか。
>>
161
4回クリックした後に画像検索をするのではなく、1クリックごとに画像検索できるようにしたいです。
返信ありがとうございました。自分でも調べてみます。何かわかれば教えてください。

163:デフォルトの名無しさん
22/08/12 15:35:31.78 AU9IgIpc.net
>>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:デフォルトの名無しさん
22/08/13 16:39:49.84 p1KZrIM2.net
>>163
ありがとうございます。
試してみます。

165:158
22/08/13 18:04:03.85 NorQZddu.net
すみません、どなたか教えていただけませんか…

166:デフォルトの名無しさん
22/08/13 19:43:14.34 KPz0o6R8.net
>>165
ChromeあるいはEdgeのどちらか単体で裏クリックはできてますか?
それができればあとはさほど難しくないです

167:デフォルトの名無しさん
22/08/13 20:59:01.69 P4IK+cir.net
>>165
ChromeとEdgeでBTN(LEFT, CLICK, 319, 474)ができれば良いのか?

168:デフォルトの名無しさん
22/08/13 23:00:56.01 NorQZddu.net
>>166
解説しているサイトから拾ってきた以下のコードで裏クリックできることは確認できました
id = GetID("ゲーム名")
id = GetCtlHnd(id,"Chrome_RenderWidgetHostHWND")
MouseOrg(id,2)
BTN(LEFT, CLICK, 319, 474)
MouseOrg(0)

>>167
はい、両方で同時に同じ箇所をクリックしたいです
ただ、どちらもウィンドウ名とクラス名が全く同じなので、そこでどうすればいいのかわからなくなってしまいました

169:デフォルトの名無しさん
22/08/13 23:36:32.85 P4IK+cir.net
//難しく考えすぎなんじゃ無いの?
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:デフォルトの名無しさん
22/08/14 00:19:06.35 1XEnC456.net
>>169
ごめんなさい、説明不足でした
そのブラウザゲームというのが、ブラウザから独立したアプリ?のような扱いになっているので、
タイトル名にChromeやEdgeといった文字が含まれておらず、ゲーム名だけなのです

171:デフォルトの名無しさん
22/08/14 01:05:25.29 wZs9w9Jg.net
>>158のソースはgetid2を呼んでるのかと呼んでるなら引数のn=0が仕事してなさそうな気がするけどその辺は正しいの?

172:デフォルトの名無しさん
[ここ壊れてます] .net
>>170
タイトル指定が面倒な時の裏技みたいなもんだから、ChromeやEdgeがタイトルに含まれてる必要はないよ

173:デフォルトの名無しさん
22/08/14 09:58:46.13 9+drVVHY.net
>>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:デフォルトの名無しさん
22/08/14 14:04:02.28 1XEnC456.net
>>172
試しにコピペで動作させてみたのですが、クリックは発生しませんでした…
文字コードはUTF8でも構わないのでしょうか?
>>173
仰っていただいたコードで取得してみましたが、両方とも Chrome_WidgetWin_1 で、同じクラス名でした

175:デフォルトの名無しさん
22/08/14 16:33:04.96 C9iCXLwP.net
ブラウザから独立したアプリ以外は閉じるか最小化して、余計なモノを無視するようにすれば出来るかも
テキトウなゲームアプリで試したら出来たし

176:デフォルトの名無しさん
22/08/14 16:36:00.95 h7b2YHtm.net
>>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:デフォルトの名無しさん
22/08/14 16:58:30.77 h7b2YHtm.net
>>176
書きわすれ。どこか最初の方で
AllWinID = GETALLWIN() をやっておいて
FOR GameWinID = 0 TO RESIZE(ALL_WIN_ID) - 1 も
FOR GameWinID = 0 TO AllWinID - 1  のほうがわかりやすいかも

178:デフォルトの名無しさん
22/08/14 17:32:57.22 PBIVozZX.net
初心者スレだからこのゲームのここでこうしたいけど出来ないまで書いちゃえば?

179:デフォルトの名無しさん
22/08/15 04:20:46.46 pm4LQRan.net
>>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:デフォルトの名無しさん
22/08/15 04:44:39.65 pm4LQRan.net
これでの判定があっていれば
>>169のいうとおり
最初からChromeかEdgeか指定して取得できる
表示上ブラウザ名がついていなくても内部的にはたぶんついている
GETID() はタイトルの一部のみで取得できそれが先頭部分である必要もない
もしこれで判定できなければ
URLリンク(plaza.rakuten.co.jp)
のように実行EXE名を取得できるのでそれで判定する方法がある
ただChromeでは問題なかったが
Edgeの場合何かのセキュリティが効いているらしくEnumProcessModules()
がエラーになった

181:デフォルトの名無しさん
22/08/15 21:06:49.51 RCL1oiri.net
皆さん色々とありがとうございます
これ以上混乱させてはいけないと思うので、やりたい事を具体的に書かせていただきます
放置少女 for ブラウザ というブラウザ版のゲームで、姫プレイという60秒ごとにクリックするコンテンツがあるのですが
2つのアカウントを作業がてら操作するのが煩わしかったので、自動化させたいと思いました

182:デフォルトの名無しさん
22/08/15 21:54:17.61 SCA4T4hb.net
ブラウザゲームだとウィンドウが裏とかで隠れてるとゲームが止まるってのがありがちだけどそこは問題ないのかと思った
ブラウザのプロファイルを使い分ければchrome2個とかedge2個別アカウントで動かせるからどっちかで動いたらブラウザは1種類にしたほうがいいと思った

183:デフォルトの名無しさん
22/08/15 22:38:02.29 ycFy8B4h.net
>>182
止まったりしますね
画面が少しでも見えてたら止まらないようなのでウィンドウをずらして表示してますが
>>181みたいなやり方を実現したいなら仮想環境(Vmwareなど)で、いってみれば画面まるごと別にして自動化させる
ブラウザゲームを2つ同時にする程度ならi5-11400とかRyzenの3600あたりで十分だと思いますけどね

184:デフォルトの名無しさん
22/08/15 22:49:44.38 RCL1oiri.net
裏で動作させるために
Chromeの場合
chrome://flags/#calculate-native-win-occlusion を Disabled にする
Edgeの場合
edge://flags/#calculate-native-win-occlusion を Disabled にする
自分の場合はこの方法で対処できています

185:デフォルトの名無しさん
22/08/15 23:23:22.89 RCL1oiri.net
あと、Chromeのプロファイルを2個使うという発想は頭からスッポリ抜け落ちていました
その場合は同じクラス名のウィンドウを同時に操作するにはどう記述すれば良いのでしょうか?

186:デフォルトの名無しさん
22/12/01 10:20:24.05 qs39Q3U2.net
ゲームでマウス右クリック中は ADS できるゲームなんだけど
右クリックをしたら ADS 状態を保持して
右クリックを押したらADS状態を解除するように
するにはどうしたらいいんでしょうか?

187:デフォルトの名無しさん
22/12/01 12:30:34.64 XSZRHDZS.net
右クリックをしたら→離したら の間違い?

188:デフォルトの名無しさん
22/12/01 14:45:39.08 qs39Q3U2.net
>>187
右クリックを押してはなして ADS 状態ですね

189:デフォルトの名無しさん
22/12/01 14:59:29.84 cYCmqMWp.net
・右クリックをしたら
・右クリックを押したら
の違いがまったくわからん

190:デフォルトの名無しさん
22/12/01 18:01:41.19 o235ACIC.net
スイッチでいうところのオルタネイトにしたい話なんでしょ

191:デフォルトの名無しさん
22/12/02 23:40:03.62 cTK2xg+F.net
>>190
そうですオルタネートにしたいんです
右クリック一回押すと押したままの状態にして
もう1回押すと押した状態を解除する

192:デフォルトの名無しさん
22/12/03 01:11:33.89 iJH6gcoH.net
>>191
autohotkeyならできますよがんばって下さいね
手が不自由な障害者向けのサンプルコードがあるので参考にできるでしょう

193:デフォルトの名無しさん
22/12/03 21:53:26.17 cDe8HB62.net
while peekcolor(x,y)=緑
 処理0
...
 処理99
wend
みたいなwhile文だと、処理34をやってるときに赤になっても処理99まで一通りやってから終わらせてしまう
(x,y)が緑じゃなくなった瞬間whileを抜けるにはどしたらええん?

194:デフォルトの名無しさん
22/12/03 23:59:57.47 t90CZNoD.net
>>193
自分が書いてる通りに
処理xが終わるたびに緑じゃなかったらループを抜けるようにする
それでも希望通りのタイミングじゃなかったら
1行ごとに緑じゃなくなったかどうか調べる

195:デフォルトの名無しさん
22/12/04 10:47:06.25 QSjbkKsr.net
並行処理をさせたいなら関数書いてTHREADで

196:デフォルトの名無しさん
22/12/04 13:07:58.96 G9jMrbbm.net
サンキュー

197:デフォルトの名無しさん
22/12/04 18:15:49.96 rqfbFIa7.net
ま、「瞬間」は無理だな

198:デフォルトの名無しさん
22/12/18 01:53:51.55 OMOd2EpL.net
THREADって各スレッド間の通信は
グローバル変数を使うしかないのか

199:デフォルトの名無しさん
23/01/30 13:50:17.09 zCM+o/4+.net
uwscってコピー防止することってできますか?
たとえばuwsc開いたらパスワード要求されてそれ入力しないと使えなくて
なおかつ1か月たつとそのパスワードは使えなくなる方法とか
月額2000円でパスワード買わないと使用できなくなるような方法です
よろしくお願いします!

200:デフォルトの名無しさん
23/01/30 13:55:41.46 xjPPcjmh.net
自分が書いたとおりに実装すればできるよ

201:デフォルトの名無しさん
23/01/30 14:35:42.54 L0PeZlr4.net
できねーよ馬鹿

202:デフォルトの名無しさん
23/01/30 17:58:23.19 Qp/n9nNg.net
できる

203:デフォルトの名無しさん
23/01/30 20:25:09.56 pewbLvtZ.net
>>199
そんな機能はないが、パスワードを書いたテキストファイルをサーバーにUPして、
起動時にそれを読み込んで入力したパスワードと照合すれば出来るだろ
サーバーに金掛けたく無ければ無料サーバー使っても良い

204:デフォルトの名無しさん
23/04/17 21:07:54.28 fQqMCB5/.net
数日前からfirefoxでPosACC(id, x, y, ACC_BACK)でテキスト文字を
所得できなくなってしまって困っております。
何か良い方法はないでしょうか・・・

205:デフォルトの名無しさん
23/07/15 04:13:10.78 XPm7W1EUb
最近地球破壊テ□リス├税金泥棒自閉隊が都心付近まて゛クソヘリやらC-130やらクソ爆音航空機飛ばしまくって低周波騒音引き起こしてるな
自閉隊とは,国民の生命と財産を守る存在ではなく、税金泥棒しなか゛ら.工ネ価格に物価にと暴騰させて.住民の権利を強奪して破壊して
氣侯変動させて災害連発させて國土まて゛破壊しなか゛ら私腹を肥やすテ□リス├の典型だと理解しよう!
ウクライナの軍事予算はGDρ比4%以上あったわけだし.軍のク─テ゛タ―によって政権掌握されたミャンマ―はGDΡ比2%台,
徴兵して拒否すれは゛犬コ口公務員に制圧させて殺害可能な社会にしようとしてるのか゛防衛予算のために増税まて゛計画している岸田増税文雄
ちなみに.2014年にマレーシア地球破壊テ口リスト機MH17を地対空ミサイル9K37フ゛-クて゛見事に撃墜したのは.戦闘民族ウクライナ人な
真の防衛として、利権を貪って税金泥棒して地球破壊して私権侵害して私腹を肥やすた゛けの人類に湧いた害虫クソ公務員を全滅させて.
新三種の神器.拳銃,スティンカ゛━,手榴弾を―刻も早く全家庭に普及させないとお前ら間違いなく□シア逃亡民みたいな目に合うそ゛

創価学會員は,何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最惡の殺人腐敗組織公明党を
池田センセ一か゛囗をきけて容認するとか本気で思ってるとしたら侮辱にもほと゛があるそ゛!
hТТρs://i、imgur,com/hnli1ga.jpeg

206:デフォルトの名無しさん
23/09/13 05:36:21.42 G2PIY4BTP
結局ビックモー夕ーはプロパガンタ゛放送局の拝金の餌食にされただけて゛大騒き゛するような不正じゃなかったな、保険会社が承諾してる
両社ウインウインの話だしな、何かしら名目が必要だが保証期間がすき゛ると故障する電子基板みたくうまくできなかったって話だろ
樹木云々とか環境破壊を目的に知事になった拝金主義小池百合子なんて明治神宮外苑の3千本もの巨木伐採だし.保険料が上か゛るとか
世界最悪の殺人テロ組織公明党強盗殺人の首魁蓄財3億円超の斉藤鉄夫なんて閑静な住宅地から都心まで数珠つなぎでクソ航空機飛ばして
鉄道のз0倍以上もの莫大な温室効果ガスまき散らして気候変動させて海水温上昇させてかつてない量の水蒸氣発生させて土砂崩れ、洪水
暴風、熱中症にと災害連発させて火災保険料爆上げ、もはや一般家庭は風災水災を保險から外さざるをえなくなってるしな
大衆が拝金メディアに踊らされない見識があれば自民公明が与党とかあり得ない話,某枕営業なんてのも拒否したら冷たくされたとか自白
してたけど要するに拒否できたけと゛金のためにてめえの意思で受け入れてたって話だろ今頃もっと金クレだのキモチワ儿イ
〔羽田〕tTps://www.call4.jp/info.phр?tУpe=items&id=I0000062 , URLリンク(han)<)еbaownd.Com/
(テロ組織)tTps://i.imgur.com/hnli1ga.jpeg

207:デフォルトの名無しさん
23/10/04 11:05:12.56 GGFuvkNr.net
機械語命令のNOPのような何もしない命令はありますか

IF文とかでNOPが書ければ簡単に書けるという事が割とあるので、何とかしたいです

208:デフォルトの名無しさん
23/10/04 19:05:13.16 fsISD3kr.net
何も書かなければいいだけでは

209:デフォルトの名無しさん
23/10/04 22:01:30.33 GGFuvkNr.net
そうもいかないのです

条件分岐の都合で何も書かない訳にもいかないので、面倒くさいです

210:デフォルトの名無しさん
23/10/04 22:22:20.17 RyohCm2S.net
>>209
色々調べてみた?
結論から言うとそんな命令はありません
あなたは面倒くさいとストレスMAXにして頑張ってください

211:デフォルトの名無しさん
23/10/05 01:42:49.79 BfJXhjdu.net
条件分岐でNOPを入れると書きやすいとはどういう例が有るんだ?

212:デフォルトの名無しさん
23/10/05 20:38:43.81 XelVLkj4.net
無いなら作る
PROCEDURE NOP()
EXIT
FEND

213:デフォルトの名無しさん
23/10/15 14:37:36.28 hEOK4Ev6.net
ちょっと困ったので賢者の皆さん力をかしてくだしあ
URLリンク(imepic.jp)
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回目の結果を変数にいれてしまえ!と思ったのですが入らない・・・エラー・・・

214:デフォルトの名無しさん
23/10/15 14:56:12.29 hEOK4Ev6.net
2回目の判定画像と1回目の判定画像は部分的に重なるので、
2回目をやる前に1回目をもう一度クリックするのはダメ

215:211
23/10/15 15:05:11.85 hEOK4Ev6.net
判定用画像
緑と白(と黒)の組み合わせで切り取る
URLリンク(imepic.jp)

216:デフォルトの名無しさん
23/10/15 15:59:43.35 OSTpoGeh.net
>>213
テキトウな変数に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

217:デフォルトの名無しさん
23/10/15 22:25:52.63 hEOK4Ev6.net
>>216
ですよね・・・・
そうすればいい!と思いついたのですが、エラーでやられちゃって

218:デフォルトの名無しさん
23/10/15 22:36:56.26 OSTpoGeh.net
//一回目クリックしたところを再度クリック
BTN(LEFT,CLICK,IMGX,IMGY,20)
座標が同じならこれでよい

219:デフォルトの名無しさん
23/10/15 22:40:47.45 hEOK4Ev6.net
//一回目
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
で中身見てみたら真っ白で、取得したやつどこやった!!っていう状態に(汗

220:デフォルトの名無しさん
23/10/15 22:42:58.76 hEOK4Ev6.net
>>218
1回目と3回目の座標は同じですが
2回目が異なるのです。
なので1回目の変数を適当な変数に放り込んで、3回目で読めばいい。
はずなんですが・・・ならなくて。

221:デフォルトの名無しさん
23/10/15 23:24:59.84 OSTpoGeh.net
判定用画像
ringo1.png
URLリンク(imepic.jp)
ringo2.png
URLリンク(imepic.jp)
ChkImgX 1.2.1
URLリンク(hibiarekore.com)

222:デフォルトの名無しさん
23/10/15 23:25:18.59 OSTpoGeh.net
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()

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

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

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

追加関数までありがとうございます。某辞書で見ていたけどスルーしてました。
グレースケールでもいけるのは面白いですね

224:デフォルトの名無しさん
23/10/16 00:38:26.95 51QmPmxN.net
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

225:デフォルトの名無しさん
23/10/16 01:03:38.57 zyXWWxv7.net
>>224
できたーーーー!!
神様ありがとうございます。
>dim IMGX[100],IMGY[100]
これだっ!
これ知らなかったです・・・。
コードもちゃんと動きました。これで今日寝られます。
他お力添えいただいた皆様もありがとうございました!

226:デフォルトの名無しさん
23/10/26 00:43:45.17 A8ieLS5R.net
スクールでpythonを学習する機会があって調べたらモジュール化してUWSCに似た感じに出来る方法がわかったので
練習と学習がてらにpythonへ移植してるけどモジュール化してるとはいえかなり冗長な内容になってる
UWSCがいかに優れてるかよくわかるなぁ
もちろん使いこなせたらpythonの方が上だろうけどまだ初心者にとってはUWSCの方が使い勝手いいと思わせられる

227:デフォルトの名無しさん
23/10/28 07:50:27.37 EUUOZvyM.net
説明下手か

228:デフォルトの名無しさん
23/12/09 03:19:30.30 Z3iPlD7J.net
スマホゲームの自動操作はAndroidエミュをUWSCで操作するのが王道なの?それとも直接何かのプログラムでデータサーバーにアクセスして操作したりするものなの?

229:デフォルトの名無しさん
23/12/09 09:20:38.27 /zdDQSm/.net
王道は知らない
データサーバーと直接通信できるゲームは多分ない
中継サーバーと直接通信するのは即BAN対象
uwscで操作も大抵はBAN対象

230:デフォルトの名無しさん
23/12/09 15:45:28.46 0drD1kgT.net
エミュを操作するUWSCを検出するのは困難だろうが
エミュレータ自体が締め出されるんじゃないの

231:デフォルトの名無しさん
23/12/09 22:49:24.82 GUVJgzLn.net
BANにならないように人間の操作のように偽装する

232:デフォルトの名無しさん
23/12/09 23:14:59.79 le18kSUd.net
>>231
クリック場所や時間にランダム入れるのは
一番初めにやることだよね

233:デフォルトの名無しさん
23/12/09 23:24:32.32 YsGnRVwU.net
それって周回作業する場合は1時間とかで切り上げるってこと?
24時間回すとかどう考えても手動じゃないし

234:デフォルトの名無しさん
23/12/09 23:34:36.62 le18kSUd.net
>>233
無料で24時間何かしら回すものがあるような糞仕様しか作れない会社は
取り締まり能力も低いから
課金者をぶっちぎってランキング1位とか目立たない限り大丈夫
無課金で目立ったら証拠とか関係なしにBANされる
向こうも商売だからな
スタミナとか消費するものを課金で無限に購入して回すのはやったことないから知らん

235:デフォルトの名無しさん
23/12/10 04:15:24.81 hMPwmZDp.net
同じスマホゲームのアカウントを6個作って
NOX6個同時起動させてUWSCで延々と周回させて遊んでいた
運営に怪しまれないように同アカウントで連続操作を避けて回し続けた
面白過ぎて夢中になった

236:デフォルトの名無しさん
23/12/11 23:42:04.91 avB0hnze.net
作るのむずかしいですな

237:デフォルトの名無しさん
23/12/17 08:10:16.85 MJgKP6eI.net
nox playerでスマホゲームやってます。
標準でマクロ機能もあるんですが
UWSCはそれより条件を細かく設定できるイメージかな?

pc上でnoxの表示箇所や幅を変更しても
そのまま対応してくれるのでしょうか?

238:デフォルトの名無しさん
23/12/17 08:24:50.44 jVq4jP47.net
対応した書き方してればそうなるんじゃないの

239:デフォルトの名無しさん
24/01/25 14:02:50.11 kDxprDQf.net
Citraに仮想キーコード送っても無反応なのよな

240:デフォルトの名無しさん
24/01/25 14:52:52.53 kASAECz9.net
Citraはしらんけど、CLKITEMで仮想キーコード送っても無反応で、SCKEYなら送れた事がある

241:デフォルトの名無しさん
24/03/17 00:34:04.91 cgpZaJMI.net
テスト

242:デフォルトの名無しさん
24/03/25 20:14:15.94 /ucuOakA.net
Windows11にしたらChkImgXが使えなくなってしまった
Windows11で画像を撮り直してみましたが、マッチしません
どのような原因が考えられますか?

243:デフォルトの名無しさん
24/03/25 22:31:45.48 YEA7vJ+7.net
OSには依存しないので、ChkImgXのエラーが出てないなら書き方が悪いとしか
画像もOSによって認識が変わることも無い
そもそもどう書いて、どういうエラーが出てるかも分からないのにエスパー解答しろというのもな~

244:デフォルトの名無しさん
24/03/26 02:15:36.84 egQmjIwx.net
>>243
おま環で自分の環境が悪いだけなのかもしれない
問題の切り分けのために試していただけるとありがたいです
・sample.uws(付属のサンプルを少し修正したもの)
---------------------------------------
CALL ChkImgX.uws
startup_chkimgx()
// 画像サイズを取得
dim w, h
imagesize("sample.png", w, h)
print "画像 幅:" + w + "px,高さ:" + h + "px"
// 5chトップページを開く
doscmd("start URLリンク(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)

245:デフォルトの名無しさん
24/03/26 02:16:39.33 egQmjIwx.net
規定のブラウザはChromeです
・sample.png
URLリンク(i.imgur.com)
(5chのトップ画面のスクリーンショットから、URLリンク(5ch.net) の一部を切り取り)
■Windows7
・結果
トップ画面の画像(URLリンク(5ch.net) の縮小表示画像)をクリックして、URLリンク(5ch.net) を開く
・print
---------------------------------------
画像 幅:56px,高さ:47px
見つけた スコア:0.1
---------------------------------------
■Windows11
・結果
画像がマッチせず
・print
---------------------------------------
画像 幅:56px,高さ:47px
ない?
---------------------------------------

246:デフォルトの名無しさん
24/03/26 15:18:15.04 CdpUPxZi.net
//とりあえず、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()

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

CALL ChkImgX.uws
startup_chkimgx()
doscmd("start URLリンク(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()

248:デフォルトの名無しさん
24/05/13 07:07:57.61 y8uK9t53.net
テスト

249:デフォルトの名無しさん
24/06/26 15:13:21.06 YSRdGTY0.net
MOUSEORGでバックグラウンドで操作させる場合はwindows11でも問題なく使えますか
windows10では使えないとか認識しないとかの情報が多く出てくるし・・・
windows10で使えないならwindows11では使えない?

250:デフォルトの名無しさん
24/06/26 16:21:32.09 +on48JBe.net
使えてないね
だから自分はVmwareで仮想環境を作ってそっちで動かしてる
結果的にバッググラウンドと同じになる
まあマシンパワーがそれなりに必要

251:デフォルトの名無しさん
24/06/26 17:39:25.61 PWGnqKY3.net
windows11で普通にMOUSEORG使えてる

252:デフォルトの名無しさん
24/06/27 10:23:12.16 7WsF8CHO.net
Vmwareで仮想環境も出来なくないけど、windows11で使えなかったから互換性の問題だと思って、
C:\Program Files (x86)\UWSCフォルダ内のUWSC.exeを互換性モードでWindows7に設定したら使えた

253:デフォルトの名無しさん
24/06/30 11:46:42.08 y5VWXF+a.net
MOUSEORGとCHKIMGXの連携の仕方がググってもあまり出てこない
出てこないという事はあまりやってる人がいないのか?
少し実験してみるか

254:デフォルトの名無しさん
24/07/08 14:41:50.66 Y7cmYXRS.net
win11の実機でMOUSEORGが使えなかったけど、Microsoftが提供してる仮想環境でなら使えた
エディションの違いで使える、使えないとかあるんかな?
Enterpriseでなら使えるとか?
developer.microsoft.com/en-us/windows/downloads/virtual-machines/

255:デフォルトの名無しさん
24/07/08 14:49:39.08 vUkURbA4.net
使えてたコードが急に使えなくなって数か月後にまた使えるようになったりと原因追う気もならない状況だからeditionとかの話ではないよ

256:デフォルトの名無しさん
24/08/03 15:18:01.79 yEd9ZQI5.net
画像をいちばんあいまい検索したい場合、以下であってるよね?
chkimg("画像A.bmp",-1,,,,,,IMG_MSK_BGR4)

257:デフォルトの名無しさん
24/08/03 16:22:24.18 LupLAawb.net
>>256
yes, thats right. i know you can do it!

258:デフォルトの名無しさん
24/08/03 17:26:34.93 9urEeuWC.net
CHKIMGXを使ったほうがあ良いかな

259:デフォルトの名無しさん
24/08/03 17:28:45.54 +x6BLK1H.net
chkimgのあいまいって色の違いだけじゃないの?

260:デフォルトの名無しさん
24/08/03 20:07:01.54 yEd9ZQI5.net
>>257
thanks

ChkimgXなんか動かないんだよねえ

261:デフォルトの名無しさん
24/08/03 20:19:12.19 +x6BLK1H.net
windows11でも動いてるからなんか間違ってるんじゃないの
使い方かファイルが足りないか

262:デフォルトの名無しさん
24/08/03 20:39:05.21 9urEeuWC.net
動かないと思った時は大概書き方を間違えてる

263:デフォルトの名無しさん
24/08/03 21:29:02.36 Y2mH6eig.net
ちょっと上のレスにChkimgXを使ったコードがある

264:デフォルトの名無しさん
24/08/03 21:53:40.79 yEd9ZQI5.net
>>246
これはOK出たわ
ってことは自分のソースがおかしいな

265:デフォルトの名無しさん
24/08/03 22:34:38.15 yEd9ZQI5.net
動いた動いた。でも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

266:デフォルトの名無しさん
24/08/03 22:59:17.99 9urEeuWC.net
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

と書ける

267:デフォルトの名無しさん
24/08/03 23:33:18.01 yEd9ZQI5.net
>>266
なるほど、やってみた
画像総なめするからクソ遅くて話にならんかったw

268:デフォルトの名無しさん
24/08/03 23:56:08.73 9urEeuWC.net
ChkImgXは指定された連番のファイルを全て読み込んで処理するから、
サイズのデカいbmp画像を多く読み込むと遅くなる
JPEGファイルに変換すると約10%くらいに圧縮できるから早くなるかもしれない

269:デフォルトの名無しさん
24/08/15 03:29:12.69 kn1YUiXr.net
ソフトって1回起動するとレジストリに何か追加している?
追加していたらその場所を教えて欲しい

270:デフォルトの名無しさん
24/08/15 03:57:58.09 zohWINrn.net
レジストリエディタ開いてUWSCで検索すれば良いと思うよ。
ファイルの関連付け関係とインストールデータ関連がレジストリで
設定はiniファイルでだと思う

271:デフォルトの名無しさん
24/08/15 05:14:45.94 lXb9vS63.net
>>270
起動させてもWindowとして出てこないんだけど
タスクバーとかアイコン状態で実行されてしまう
小さいWindow状態に出す方法ってある?

272:デフォルトの名無しさん
24/08/15 07:39:33.44 zohWINrn.net
タスクバーにアイコンが表示されてる状態でもう一回UWSC.exeを起動する

273:デフォルトの名無しさん
24/08/15 08:01:51.90 zhwzLtv2.net
もしくはタスクバーにアイコンがある状態でそのアイコンを右クリックして「トレイから出す」でもいいよ

274:デフォルトの名無しさん
24/08/15 14:09:21.34 +gRGjTym.net
>>273
こっちの手順はやったことあるんだけど
何回やってもタスクトレイから出ないんだよね
PC が3台あって1台だけタスクトレイから
出てくれるんだけど何が違うのかわからん

275:デフォルトの名無しさん
24/08/15 16:49:42.58 Ko0oDGRi.net
\AppData\Roaming\UWSC にあるUWSC.INIを
TaskTrayStart=1
にするとタスクトレイから出せる

276:デフォルトの名無しさん
24/08/15 17:39:24.73 Ko0oDGRi.net
TaskTrayStart=1でなく、TaskTrayStart=0だったわ

277:デフォルトの名無しさん
24/08/15 20:11:40.63 5LwD5C2Q.net
>>276
タスクトレイゼロだった
マジで助かった!

278:デフォルトの名無しさん
24/12/08 11:05:19.41 YUFFZ9S6.net
sage

279:デフォルトの名無しさん
24/12/22 05:05:48.82 A06FD57i.net
scrcpyでChkImgX使うと画像認識自体はしてくれるんですがクリックする座標が全く意味のわからない場所になります・・・
どうすればいいのでしょうか・・・
実際の画像の場所に関係なく、取得されているのは必ず1400,10のような座標になります

280:デフォルトの名無しさん
24/12/22 10:52:16.85 82glRy1K.net
scrcpyとは相性が悪いかもしれないのでNox使ってる

281:デフォルトの名無しさん
24/12/22 20:19:19.67 6B40YU5o.net
>>279
画像認識された数はいくつなの?
画像認識される対象は、必ず1つではなくて、範囲指定した領域全て調査するから複数ヒットしてる可能性がある

変な座標が返されるのは複数ヒットしたうちの1つだから自分の考えている座標と異なる=変な座標 となる。

282:デフォルトの名無しさん
24/12/22 22:12:30.28 9zZKplFh.net
調査するのは必ず左上からだから、その1400,10に最初の画像があるんだろうね

283:デフォルトの名無しさん
25/01/30 16:13:15.52 5Q7vq0VHJ
オトナのイジメは死に至らしめてようやく表に出るが国民を貧困化させて強奪した税金を湯水の如く使って毎日グルク゛ル遊覧ヘリ飛ばして
石油燃やしまくって莫大な温室効果ガスまき散らして望遠カメラで女風呂のぞき見して大騒音まき散らして住民イラヰラ犯罪惹起してる
クソポリ公た゛のJALだのANAだのテロリストか゛憲法ガン無視で海に囲まれた曰本でわざわざ陸域飛行しまくって威力業務妨害
労働者の睡眠妨害して生産性壞滅させて国民の間にイライラ伝播させてるのが原因な、シリアでは市民がクソ政権打倒したり
日本に原爆落とした世界最悪のならす゛者国家では企業トップを銃殺して多くの人々に英雄扱いされたり民主主義って感じで格好いいが
百兆円もの課税余地を放棄してる航空燃料税によって全国航空騒音まみれにして国民貧困化させて献金企業や犬コ口公務員と私腹を肥やしてる
自民公明がイジメ伝播の開始点だがイシ゛メ伝播の終着点に苦しんでるやつはその根本原因に一矢報いるくらいしないと死ぬまで解決しないぞ
某礼儀正しいメガネフェチ君だろうと誰だろうとクソ航空騒音にイライラしてやったと自供するだけで送金したいってやつマジで大勢いるしな
(ref.] tTps://www.call4.jp/info.Ρhp?Type=items&id〓I0000062
tTps://haneda-project.jimdofree.com/ , URLリンク(fligh)т-rouTe.com/
tTps://n-souonhigaisosуoudan.amebaownd.Com/

284:デフォルトの名無しさん
25/07/23 13:00:49.25 g7reM0J8.net
While True
KBD(VK_ESC,CLICK,5000)
Wend


これで「5秒毎にEscキーを押す」という動作になりますが

これを
特定のブラウザがアクティブになっているときのみ動き
タスクバーなどにしまわれている間は動かない

といったことをやるにはどうしたらいいんでしょう?

285:デフォルトの名無しさん
25/07/23 14:54:57.37 ktIA1NF+.net
たぶん、もっと良い方法がありそうだけど、今思いつくのは

targetID = GETID("Google Chrome","Chrome_WidgetWin_1")
とかやってtargetID にそのウィンドウのIDを覚えておいて、


タイマーで回しながら

activeWindowID = GETID(GET_ACTIVE_WIN)  
でアクティブになってるウィンドウのIDを調べて、これがtargetID と同じだったら
そのウィンドウにESCキーのイベントを送れば良いんじゃないかな。

付属の uwsc.chm とか ここ URLリンク(uwsc.jp) を眺め回して
ウィンドウ状態の変化のイベントを取る方法があったらタイマーを回さないもっとスッキリしたものが出来るかも。

286:デフォルトの名無しさん
25/07/23 18:19:12.59 g7reM0J8.net
う~ん
なんだか難しそうですね
でも教えていただきありがとうございました

287:デフォルトの名無しさん
25/07/24 21:32:10.55 lwZ3AmUb.net
>>284
アクティブってことは見えてるんだから
必ず見えてる部分の画像検索すればいいと思う
左上の方にあるアイコンとか

288:デフォルトの名無しさん
25/10/03 20:58:27.82 /OVDGbY6.net
Win11にしたらChkImgXが動かなくなってこのスレに辿り着いた。
このスレでは結局解決しなかったけど、原因はタイトルバーが
win11で30pxから32pxに2px増えたのに加えて謎の1pxが加わって3px太くなってやがることと
フォントも微妙に変わってること。
結局全部画像を取得し直しになった。
クソがー!

289:デフォルトの名無しさん
25/10/06 09:10:33.58 Lx3PXVeI.net
以前からchromeの画面の連続キャプチャをuwscでやってたのですが、最近キャプチャをすると出来た画像が真っ黒になってしまうようになりました。以前にも同じことがあり、その時はグラフィックアクセレレータの使用をオフにすれば使えてたのですが、今回は改善しません。エッジなどの他のブラウザでも真っ黒です。どのサイトでも真っ黒でサイト依存性はないようです。Snipping toolを使えばキャプチャ自体はできているのですが、UWSCでのキャプチャはできなくなってしまいました。改善方法はないでしょうか?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch