UWSC初心者用スレ2

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/
2022/08/14(日) 00:19:06.35ID:1XEnC456
>>169
ごめんなさい、説明不足でした
そのブラウザゲームというのが、ブラウザから独立したアプリ?のような扱いになっているので、
タイトル名にChromeやEdgeといった文字が含まれておらず、ゲーム名だけなのです
2022/08/14(日) 01:05:25.29ID:wZs9w9Jg
>>158のソースはgetid2を呼んでるのかと呼んでるなら引数のn=0が仕事してなさそうな気がするけどその辺は正しいの?
2022/08/14(日) 09:26:56.54ID:C9iCXLwP
>>170
タイトル指定が面倒な時の裏技みたいなもんだから、ChromeやEdgeがタイトルに含まれてる必要はないよ
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を読めばわかるとおもう
2022/08/14(日) 14:04:02.28ID:1XEnC456
>>172
試しにコピペで動作させてみたのですが、クリックは発生しませんでした…
文字コードはUTF8でも構わないのでしょうか?

>>173
仰っていただいたコードで取得してみましたが、両方とも Chrome_WidgetWin_1 で、同じクラス名でした
2022/08/14(日) 16:33:04.96ID:C9iCXLwP
ブラウザから独立したアプリ以外は閉じるか最小化して、余計なモノを無視するようにすれば出来るかも
テキトウなゲームアプリで試したら出来たし
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
などと組み合わせて
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  のほうがわかりやすいかも
2022/08/14(日) 17:32:57.22ID:PBIVozZX
初心者スレだからこのゲームのここでこうしたいけど出来ないまで書いちゃえば?
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
2022/08/15(月) 04:44:39.65ID:pm4LQRan
これでの判定があっていれば
>>169のいうとおり
最初からChromeかEdgeか指定して取得できる
表示上ブラウザ名がついていなくても内部的にはたぶんついている
GETID() はタイトルの一部のみで取得できそれが先頭部分である必要もない

もしこれで判定できなければ
https://plaza.rakuten.co.jp/dmaster/diary/200512210004/
のように実行EXE名を取得できるのでそれで判定する方法がある
ただChromeでは問題なかったが
Edgeの場合何かのセキュリティが効いているらしくEnumProcessModules()
がエラーになった
2022/08/15(月) 21:06:49.51ID:RCL1oiri
皆さん色々とありがとうございます
これ以上混乱させてはいけないと思うので、やりたい事を具体的に書かせていただきます

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

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

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

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

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

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

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

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

条件分岐の都合で何も書かない訳にもいかないので、面倒くさいです
2023/10/04(水) 22:22:20.17ID:RyohCm2S
>>207
色々調べてみた?
結論から言うとそんな命令はありません
あなたは面倒くさいとストレスMAXにして頑張ってください
2023/10/05(木) 01:42:49.79ID:BfJXhjdu
条件分岐でNOPを入れると書きやすいとはどういう例が有るんだ?
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回目の結果を変数にいれてしまえ!と思ったのですが入らない・・・エラー・・・
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
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
2023/10/15(日) 22:25:52.63ID:hEOK4Ev6
>>214
ですよね・・・・
そうすればいい!と思いついたのですが、エラーでやられちゃって
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回目で読めばいい。
はずなんですが・・・ならなくて。
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
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回るごとに追加にならないの・・・?(´;ω;`)ブワッ

追加関数までありがとうございます。某辞書で見ていたけどスルーしてました。
グレースケールでもいけるのは面白いですね
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
2023/10/16(月) 01:03:38.57ID:zyXWWxv7
>>222
できたーーーー!!
神様ありがとうございます。

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

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

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

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

そもそもどう書いて、どういうエラーが出てるかも分からないのにエスパー解答しろというのもな〜
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)
2024/03/26(火) 02:16:39.33ID:egQmjIwx
規定のブラウザはChromeです

・sample.png
https://i.imgur.com/9UWr90v.png
(5chのトップ画面のスクリーンショットから、https://5ch.net/images/5ch_mascot_normal.png の一部を切り取り)

■Windows7
・結果
トップ画面の画像(https://5ch.net/images/5ch_mascot_normal.png の縮小表示画像)をクリックして、https://5ch.net/ を開く

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

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

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

developer.microsoft.com/en-us/windows/downloads/virtual-machines/
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)
2024/08/03(土) 16:22:24.18ID:LupLAawb
>>254
yes, thats right. i know you can do it!
2024/08/03(土) 17:26:34.93ID:9urEeuWC
CHKIMGXを使ったほうがあ良いかな
2024/08/03(土) 17:28:45.54ID:+x6BLK1H
chkimgのあいまいって色の違いだけじゃないの?
258デフォルトの名無しさん
垢版 |
2024/08/03(土) 20:07:01.54ID:yEd9ZQI5
>>255
thanks

ChkimgXなんか動かないんだよねえ
2024/08/03(土) 20:19:12.19ID:+x6BLK1H
windows11でも動いてるからなんか間違ってるんじゃないの
使い方かファイルが足りないか
2024/08/03(土) 20:39:05.21ID:9urEeuWC
動かないと思った時は大概書き方を間違えてる
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
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
2024/08/03(土) 23:56:08.73ID:9urEeuWC
ChkImgXは指定された連番のファイルを全て読み込んで処理するから、
サイズのデカいbmp画像を多く読み込むと遅くなる
JPEGファイルに変換すると約10%くらいに圧縮できるから早くなるかもしれない
2024/08/15(木) 03:29:12.69ID:kn1YUiXr
ソフトって1回起動するとレジストリに何か追加している?
追加していたらその場所を教えて欲しい
2024/08/15(木) 03:57:58.09ID:zohWINrn
レジストリエディタ開いてUWSCで検索すれば良いと思うよ。
ファイルの関連付け関係とインストールデータ関連がレジストリで
設定はiniファイルでだと思う
2024/08/15(木) 05:14:45.94ID:lXb9vS63
>>268
起動させてもWindowとして出てこないんだけど
タスクバーとかアイコン状態で実行されてしまう
小さいWindow状態に出す方法ってある?
2024/08/15(木) 07:39:33.44ID:zohWINrn
タスクバーにアイコンが表示されてる状態でもう一回UWSC.exeを起動する
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況