UWSC初心者用スレ

■ このスレッドは過去ログ倉庫に格納されています
2018/09/24(月) 12:13:49.92ID:an35jPjo
UWSC初心者用スレです

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

降臨される神々においては相手を人と思わず猿と思し召されるよう
何卒お願い申し上げます
2020/04/25(土) 20:57:41.86ID:+DYe+iEQ
uwscを使用していると稀に external exception C0000264. と出てくるのですが、これはどうしたら出なくなりますか?
2020/04/26(日) 11:35:57.42ID:yth2UhWM
0xc0000264で調べて諦めるといい
2020/05/02(土) 19:11:57.36ID:hfp4FbZC
chkimgxを複数の並列処理で使用したいのですが上手くいきません。
一つのプロセスでしか機能しないのでしょうか?
複数で使えるのであればやり方などお教え頂きたいです。
2020/05/02(土) 22:26:35.09ID:yTTamFYE
グローバル変数に結果格納してるわけでタイミングによっては書き換えられてしまうからでは
どういううまく動かないかが分からんけど、これが原因なら実行後すぐに別の変数に退避するかスレッド別になるようにライブラリ書き換えるか、等々
2020/05/03(日) 14:58:09.85ID:J77i8eFq
procedure 並列()
while trur
if chkimgx(画像1.bmp,指定id1〜
msgbox(ok)
endif
sleep(1)
wend
fend

↑の様なものを並列処理で別のウィンドウidを指定し3つ程動かしているのですが、chkimgxでエラーが発生しました。と表示されて動作しません。
どういった方法を取れば解決出来ますでしょうか?
2020/05/03(日) 17:30:45.30ID:2n/B6drN
お前には無理だから諦めろ
2020/05/03(日) 19:36:38.64ID:JpRTnUDx
startup_chkimgx()してないだけでしょ
2020/05/04(月) 23:58:16.12ID:pqlhkoPy
>>630
> これが原因なら実行後すぐに別の変数に退避するか
それでもタイミング次第で駄目だよ

chkimgx実行前後に排他処理入れるしか解決方法ない
635デフォルトの名無しさん
垢版 |
2020/06/26(金) 12:54:56.86ID:qsHwziaQ
サクラエディタの質問になってしまうのですが、指定した行、例えば2,6,14,32行を1度にコピーしたり挿入するにはどうすればできますか。
よろしくお願いします。
2020/06/26(金) 13:04:26.04ID:PH3cJrMz
何がよろしくお願いしますだよ、スレチ過ぎて回答なんか来ないぞ
2020/06/26(金) 13:44:24.55ID:ECSKM2w9
サクラエディタってマクロないのかよ
2020/06/26(金) 18:59:51.57ID:42Sy87qY
あったはず
2020/06/26(金) 19:24:43.88ID:nyM1H0WV
UWSCのマクロを作るのにサクラエディタを使っているけどスレチだな
2020/06/26(金) 19:32:51.02ID:nyM1H0WV
そういやサクラエディタと
大昔にMIFES、VZ、 WZエディタを使っていたけど
評判の良い秀丸エディタは使った事が無かった
2020/06/26(金) 19:59:38.01ID:ECSKM2w9
秀丸のマクロをUWSCのセレクトボックスに登録して呼び出して使ってたりする
2020/06/26(金) 20:10:29.72ID:42Sy87qY
秀丸エディタは有料だから手を出す気にならない
2020/06/27(土) 00:34:23.45ID:iUYo3nGX
秀丸=四千円もするもんな
2020/06/27(土) 07:47:14.58ID:Jk2b87/7
>>643
やめろ
2020/06/27(土) 14:33:58.98ID:LSvaexnY
このネタわかる人は高齢者
2020/07/03(金) 01:22:06.10ID:Dvup0ZMV
質問です
初めてuwsc入れたのですが記録ボタンが灰色になっていて操作が出来ません
色々調べてみたけれどもイマイチよく分からなかったのですがどうすればいいでしょうか?
win10のdynabookです
647デフォルトの名無しさん
垢版 |
2020/07/04(土) 09:42:53.15ID:bhHjhVrL
>>646
UWSC.exeと同じフォルダにRecUws.dllありますか?
2020/07/04(土) 13:54:48.14ID:3Gp7+FfQ
>>647
あります
その後が分かりません…
649デフォルトの名無しさん
垢版 |
2020/07/04(土) 14:06:52.81ID:BpefeSFV
     ○ ○
  ○
○      ○
    ●    ○
       ○

●が自機で、○が敵です
●から一番近い○を順にタッチしていきたいのです(●は移動するが○はその場所から消えない)
が、どうやればいいのか皆目検討がつきません
こういうアルゴリズムって何ていうんでしょう
650デフォルトの名無しさん
垢版 |
2020/07/04(土) 14:11:12.78ID:BpefeSFV
間違えました
×(●は移動するが○はその場所から消えない)
○(●は移動する。○はタッチすると死骸×に変化する)
でした
2020/07/04(土) 16:00:55.72ID:rpET5GXf
アルゴリズムは知らんけど
CADCAMの工作機械ドリル穴あけパスの最短距離
自動生成機能みたいなやつだな
652デフォルトの名無しさん
垢版 |
2020/07/04(土) 16:29:11.29ID:OTAHPrbr
巡回セールスマン問題?
これを真面目にやると面倒だけれど、
接近してきた画像を押すだけなら
野暮な力技で十分な気がする。
2020/07/04(土) 16:38:02.20ID:VhIEqfUN
>>649
単純に距離√(xx+yy)で当たり判定で良いんじゃまいか
2020/07/04(土) 17:17:22.17ID:DEQjmcqB
>>653
欲しいのは距離じゃなくて近い奴だから
ルート取る必要ないだろ。
655デフォルトの名無しさん
垢版 |
2020/07/04(土) 17:38:19.56ID:TN5VprEm
>>654
は?
2020/07/04(土) 17:46:26.32ID:1QfEBuvL
ルートを計算しなくても大小関係変わらんだろ
今回に関してはバカに絡まれるデメリット背負ってまでルートの計算負荷を減らす意味はないと思うけど
2020/07/04(土) 17:56:59.79ID:VPpCSEzQ
>>650
白は移動したら移動後の位置から近い位置の黒にいくのと、それとも元の白の位置を基準にするのとどっち?
まあ、前者でも後者でもやることはchkimgなりで位置のリストが取得できるからそれ使って白位置の近似値からタップするだけよ
アルゴリズム? 知らんな
2020/07/04(土) 18:01:03.68ID:Mq6JcoKF
距離と分かる式にするか処理を少しでも軽くするかは一長一短で
自分が一番初めに思いついた方にしとく方が可読性が上がる
人に言われて変えるものではないと思う
2020/07/04(土) 18:08:20.26ID:DEQjmcqB
>>656
これさあ、昔読んだ叫ぶCプログラマっていう本に出てきた一節でさ。
それとも同じ作者のプログラマを笑えだったかな。
2020/07/04(土) 18:10:16.03ID:DEQjmcqB
>>658
この程度じゃコメントすら要らんだろ。
ま、距離の大小は2乗の時点で判明とかコメントつけときゃOK
661デフォルトの名無しさん
垢版 |
2020/07/05(日) 14:07:22.77ID:s67fMTSC
1) 視界内の全敵位置取得
2) abs(自XY - 敵XY[数])で並べて近い敵に移動してタッチ
の繰り返しでやろうと思います
ありがとうございました
2020/07/27(月) 17:13:01.26ID:LFattNL9
noxで
1,画像Aを探してタップ(見つからなくなるまで)
2,画像Bを探して見つからなかったら下にスワイプして1に戻る
3,画像Bが見つかったら終了
のような動作をさせようと思って以下のように作って見たのですが、画像Aを発見してループ2を一周した後は画像Aと画像Bが見つからないが交互に出てループ1から抜け出せない状態です。
print "テスト開始"
while True //ループ1開始
while True //ループ2開始
ifb CHKIMGX("画像A.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
print "画像Aを発見しました。"
X1 = g_imgx_x + 5 + random(5)
Y1 = g_imgx_y - 30 + 5+ random(5) // ウィンドウ枠分の座標補正とクリック位置調整
DOSCMD("nox_adb shell input touchscreen tap " + X1 + " " + Y1)
sleep(2)
DOSCMD("nox_adb shell input touchscreen tap 384 541")
sleep(2)
DOSCMD("nox_adb shell input touchscreen tap 272 523")
sleep(2)
else
print "画像Aは見つかりませんでした。"
break
endif
wend //ループ2終了
ifb CHKIMGX("画像B.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)=FALSE
print "画像Bは見つかりませんでした。"
DOSCMD("nox_adb shell input swipe 288 600 288 300 600")
sleep(2)
else
print "画像Bを発見しました。"
break
endif
wend //ループ1終了
2020/07/27(月) 17:21:22.43ID:LFattNL9
ちなみに画像Aがない状態でスタートすると、画像Aが表示されるまで下にスワイプ(途中に画像Bがあってもスルー)してループ2を1周してからまた画像AとBが見つからないループに入ってしまいます。
また、adbを使わないマウスが取られるマクロの方は一応問題なく動いてます。
664デフォルトの名無しさん
垢版 |
2020/07/27(月) 18:37:45.17ID:Ig/59khU
winid = getid("NoxPlayer")だろうとwinid = getid("メモ帳")だろうと関係なくwinidが1になってしまうのは何故なんでしょうか。
2020/07/27(月) 19:56:01.58ID:VYBQARBr
>>662-663
単にスワイプ後の慣性で画面が動いてて画像認識出来てないだけじゃない?

画像をタップする座標は乱数入ってるのにその後のタップやスワイプは固定座標なのとか
色々ツッコミどころはあるけど、まずはタップとスワイプを関数化しておくのをオススメする

procedure tap(x, y)
  doscmd("nox_adb shell input touchscreen tap " + x + " " + y)
fend

procedure swipe(x1, y1, x2, y2)
  doscmd("nox_adb shell input swipe " + x1 + " " + y1 + " " + x2 + " " + y2)
fend
2020/07/27(月) 20:31:25.50ID:LFattNL9
>>665
回答ありがとうございます、スワイプ後の慣性も考えてsleepを長めに取ったり、最初の時点で画像Aが複数ある状態でスタートしても結果は変わらずでした。
procedureは使ったことがなかったので、調べながら修正してみます。
667デフォルトの名無しさん
垢版 |
2020/07/27(月) 21:12:51.27ID:2I3xUck9
サイトハッキングて意外と簡単やな
http://re-file.com/18k/1669/
668デフォルトの名無しさん
垢版 |
2020/07/27(月) 21:21:06.80ID:Y/C2ypnr
>X1 = g_imgx_x + 5 + random(5)
>Y1 = g_imgx_y - 30 + 5+ random(5) // ウィンドウ枠分の座標補正とクリック位置調整
これさあ
変数名って大文字小文字区別するんだっけ
2020/07/27(月) 21:49:14.47ID:LFattNL9
>>668
X1とY1をaaaとbbbにしてみたらちゃんと動作してくれるようになりました。
大文字と小文字を区別するにしても変数にx or y+数字は安直過ぎました。
解決方法を教えていただきありがとうございます。
2020/07/27(月) 22:31:39.36ID:3jtmTLJJ
>>667の本当の内容

【閲覧注意】【メキシコ】麻薬カルテル、元組織のメンバーを「皮剥ぎの刑」に処す - 18禁グロ

▼カテゴリ - 18禁グロには一部、異様・奇怪・猟奇的・暴力シーン・グロテスクな表現が含まれていますので、閲覧制限をしています。

1. 18歳未満は閲覧禁止です。
2. 耐性が無い方は閲覧しないでください。
3. 閲覧は自己責任でお願い致します。

※上記、18歳以上で同意できる方は入室してください。
PASS:7777
2020/07/28(火) 01:07:54.67ID:dFO+mkSs
>>666
まず画像Aと画像Bを認識出来てる?
同じ画像に見えても表示される座標が変わると一致率も変わっているとかよくある

どこが問題か分かりやすくするために、デバッグは小さいパーツに分けてやったほうが良い
例えばスワイプ後に画像Bを探すだけのコードを試すとか
2020/07/28(火) 10:35:41.28ID:PZ7FD++0
>>671
画像Aや画像Bの認識は問題なく、>>668であるように変数にx1とy1を使っていたのが原因でした。
2020/07/28(火) 11:33:20.45ID:hWwhsWN2
どなたか>>664について分かる方みえませんか?
getid("アプリ名")をしても起動中のアプリは1、起動していないアプリは-1となり、1か-1しか結果が返ってきません。
ウインドウIDを取得したいのですが、何がいけないんでしょうか。
UWSC5.3.0.2、win10 64bitです。
2020/07/28(火) 11:45:37.39ID:PZ7FD++0
>>671
更に質問で申し訳ないのですが、procedure使ってswipe(x1, y1, x2, y2)のようにして簡略化することはできたのですが、ここから更にランダム性をprocedure上で反映させるにはどうしたら良いでしょうか?
とりあえず今のところメインとなるuwsファイルで
swipe(x1+ random(5), y1+ random(5), x2+ random(5), y2+ random(5))
のようにすれば動作することは分かったのですが、producerで一括して処理しようと思い
procedure swipe(x1, y1, x2, y2)
  doscmd("nox_adb shell input swipe " + x1+ random(100) + " " + y1+ random(100) + " " + x2+ random(100) + " " + y2+ random(100))
fend
としてみたのですがエラーは出ないもののなにも動作しない状態です。
2020/07/28(火) 12:32:50.82ID:BIndr6P+
>>673
winidはそもそも数値で表現されるオブジェクトじゃない
あえてそれを表示しようとすると1/-1で状態を返すという仕様なだけで別にidが1/-1ではない

>>674
doscmdの()内で+で記述すると加算された合計値じゃなくてそれぞれが文字列で結合されちゃうんじゃかいかな?
括弧でくくってやればいいと思うよ
2020/07/28(火) 13:09:15.41ID:PZ7FD++0
>>675
おっしゃる通りにしたところ上手く動作してくれました、ありがとうございました。
2020/08/01(土) 10:55:03.03ID:A3rem5Z4
吹き出しが下から噴き出すプログラムを作ってみた

PUBLIC RZZ=0
While true
FKIDSI()
Fukidasi(RZZ,1200,10,0,3,,,$AAAAAA)
Wend
procedure FKIDSI()
IF RZZ<64
Thread FKDSSUB()
ENDIF
fend
procedure FKDSSUB()
RZZ = RZZ + 1
Xinc = ((random(6)+1) * (random(2)*2 -1)) /1.9
Yinc = (random(8)/10+0.2) /4
z=random($FFFFFF)
X=640
Y=1010
for i=-100 TO 100
Fukidasi(" ", X, Y, 0, ,,,Z)
SLEEP(0.01)
Ymov = Yinc * i
X = X + Xinc
Y = Y + Ymov
next
RZZ = RZZ - 1
fend
2020/08/01(土) 10:59:28.16ID:Bo5IFXl7
fendって何だっけ
2020/08/01(土) 10:59:55.52ID:Bo5IFXl7
procedure閉じてるのか
2020/08/01(土) 11:05:00.24ID:A3rem5Z4
あとマウスカーソルについてくる吹き出し
PUBLIC RZZ=0
PUBLIC X=0
PUBLIC Y=0
XX=0; YY=0;
WHILE TRUE
FOR RZZ=0 TO 55
F=0;
WHILE (F=0)
XX = X; YY = Y;
X = G_MOUSE_X; Y = G_MOUSE_Y;
IF (XX <> X) OR (YY <> Y)
F=1
ENDIF
WEND
Thread FKDSSUB()
NEXT
WEND
procedure FKDSSUB()
TZ=RZZ-1
IF TZ = -1 THEN TZ = 55
Fukidasi(RZZ, X+10, Y+10, 0, ,,,random($FFFFFF))
WHILE TZ <> RZZ
SLEEP (0.01)
WEND
FEND
2020/08/01(土) 12:38:15.63ID:I5HfbaHP
死ぬほど読みづらいからコード貼る時は適度な改行とインデントつけてくれ
5chだとアンダーバー4つか全角スペース2個でインデント1つになる

while True
____ifb

while True
  ifb
2020/08/01(土) 14:01:23.40ID:U7vGE7b3
>>677 >>680
インデントされてれば引用で専ブラで見れるはず
2020/08/01(土) 14:34:06.11ID:Bo5IFXl7
自分で好きに整形しろ
2020/08/01(土) 16:55:40.92ID:Uz4ilC0D
「Harigami」を使ってみてはどうだ

ttps://harigami.jp/cd?hsh=8e4b495c-d3f3-4267-9154-8d83dc1cbd8b
685デフォルトの名無しさん
垢版 |
2020/08/16(日) 21:01:17.32ID:k+kUeFyT
CHKIMGXをWHILE TRUEの外に出すとエラーが出てしまいます。
なぜなんでしょう
下記でメインからサブ関数でCHKIMGXは読んでいます

// ChkImgX関数をインクルード
CALL ChkImgX.uws;

while true
TRY
startup_chkimgx() //CHKIMGX関数開始

 ****ここにプログラム
 CHK(LOC)

FINALLY
shutdown_chkimgx() //CHKIMGX関数停止
ENDTRY

wend

function CHK(loc[])
  CHKIMGXをここで使う
FEND
2020/08/17(月) 02:52:44.83ID:UvoRp25i
何エラーよ
2020/08/17(月) 19:53:01.04ID:KciEC6qM
*_chkimgxは何度も呼び出すような関数じゃないよ
どっかでリークしてるオチじゃないの
688デフォルトの名無しさん
垢版 |
2020/08/17(月) 23:35:10.11ID:wjXkQQv2
TRYがWHILEENDの中でずっと回っていたのだけど、
WHILEENDの外に出したら治った・・・
皆様ありがとう
689デフォルトの名無しさん
垢版 |
2020/08/18(火) 12:57:20.18ID:suCzDasT
CHKIMGやCHKIMGXの画像検索範囲について質問です。
大きさ10x10の画像を0,0 100,100の範囲から探す場合
画像左上のピクセルが100,100に到達するまで検索しているのか
画像右下のピクセルが100,100に到達かのどちらでしょうか
2020/08/18(火) 18:59:40.87ID:5Qy/mHcW
右下かなと思うが、試してみたら?
チェッカーパターンな背景作ってマスの画像で検索
2020/09/02(水) 22:09:27.14ID:fUjg46/2
uwscの実行中に離席した場合などでディスプレイの電源が切れないようにする方法ってないでしょうか?
今は5分に1回マウスを動かす処理を入れて対応していますがネット閲覧時にいきなりマウスが動くので操作しにくいです
コントロールパネルの電源オプションで設定を変更すればよいのはわかりますがuwsc実行中だけというのが理想です
よろしくお願いします
2020/09/02(水) 22:16:34.51ID:wdeVv3mH
UWSCで電源オプションの設定を変えれば
2020/09/02(水) 22:57:57.26ID:85wlAF9N
>>691
事前に2種類の電源プランを作っておき
UWSCのスクリプト内で
doscmd関数を使い
Powercfg.exeに電源プラン変更コマンドを送る

コマンドについては以下を参考に
https://ascii.jp/elem/000/001/877/1877882/

うまく組めばマクロ終了時に電源プランを自動的に戻すことも可能
2020/09/02(水) 23:09:28.81ID:pBGvn6/E
//五分に一度 ALT を押してスリープ回避
while 1;sleep (300);kbd(vk_alt);wend;
2020/09/03(木) 00:02:11.56ID:vpra+F8w
>>691
DEF_DLL SetThreadExecutionState(DWORD): DWORD: kernel32
CONST ES_CONTINUOUS = $80000000
CONST ES_DISPLAY_REQUIRED = $02
SetThreadExecutionState(ES_CONTINUOUS or ES_DISPLAY_REQUIRED)
696デフォルトの名無しさん
垢版 |
2020/09/03(木) 20:27:05.96ID:ha/scr+l
>>691
外部ソフト併用で良ければ
FavSleepStopはおすすめ。
697デフォルトの名無しさん
垢版 |
2020/09/24(木) 12:33:36.91ID:eUQ7jF7Q
画像aが出るまでループし、画像aが出たらreturnという仕組みにしたいのですが
ループせず最後の所で止まってしまいます。少々省略しないと貼れないので省略しますが
これどうなっているんでしょうか?どこが間違いでしょうか?そのまま貼ります。



WHILE (CHKIMG("A.bmp")=FALSE)
SLEEP(0.5)
KBD(VK_P,DOWN,50)
KBD(VK_P,UP,50)
SLEEP(0.5)
WEND
IFB CHKIMG("A.bmp")
SLEEP(0.5)
KBD(VK_O,DOWN,50)
KBD(VK_O,UP,50)
SLEEP(0.5)
ENDIF
2020/09/24(木) 12:35:05.91ID:eUQ7jF7Q
画像aが出るまでループし、画像aが出たらOという仕組みにしたいだった
2020/09/24(木) 17:12:59.11ID:FiwMBeQt
単にループさせるだけなら

While 1

Wend
で良くね なんか条件が書いてあるからループしなくなるのでは
2020/09/24(木) 17:13:38.10ID:FiwMBeQt
あとWendより後にifbがあるからループの中に条件がないね
2020/09/24(木) 21:34:49.94ID:mGnJTDMd
>>697
これをみても特に問題があるとは思えない

>ループせず最後の所で止まってしまいます。

疑問1:ループしていないことをどう確かめたのか?
疑問2:最後の所とはどこか?
疑問3:終わるではなく止まるなのか?

ループ中、ループ後に PRINT か MSGBOX かを入れて
たしかにそこを通ってるかどうか確かめたほうがいいと思う

MSGBOXを使う場合はどうせテストなのでループ中のSLEEPは
2秒くらいとったほうが扱いやすい
2020/09/24(木) 21:45:43.40ID:/TzBJHGH
こんなこと書いてるしネタだろう
>少々省略しないと貼れないので省略しますが
>そのまま貼ります。
2020/09/29(火) 22:34:47.52ID:FsRpumhX
記録すらできないアプリがあるのか…これどうなってんだ
アプリはR2games.comのR2Client
12月末のFlash終了後このclientで引き続きプレイできるそうなのでインストールしてみたのだけど
UWSCで記録が全くできないので自動化が出来ない
2020/09/29(火) 23:38:54.63ID:0MYSuhb/
まあ、中身Flashのままみたいだからなあ
2020/09/29(火) 23:48:20.89ID:FsRpumhX
いやgetidすら取得できない
2020/09/30(水) 16:30:38.78ID:QVZpoBrX
flashのid取得するにはまずウィンドウidとって、その次にハンドル取得しなきゃダメだよ
2020/10/01(木) 19:39:40.83ID:LoI0BqO6
>>703の件は解決したというか
今日起動してみたら問題なく取得できた
なぜ取得できなかったのかはわからないけどこれで懸念事項は払拭できた

>>706は勘違いしてるけど解決したからいいです
2020/10/02(金) 14:26:32.02ID:fC3or5Mo
ある期間からある期間の月数って、
どうやったら求められる?
例えば2019年10月から2020年3月は6ヶ月。
これを求めたい。
2020/10/02(金) 14:38:31.92ID:b1fFJk4v
検索したけど分からんかった
年×12+月で引き算+1したら?
2020/10/02(金) 15:37:29.99ID:fC3or5Mo
なるほど!
頭、いいね。
やってみる
2020/10/03(土) 09:16:10.12ID:A1z8cMTv
autoitを使ってる人いる?
2020/10/09(金) 00:15:11.67ID:fWH520+c
>>711
今は使ってないが、前は結構使ってた。
2020/11/06(金) 23:06:53.83ID:362vvKB1
2つのスクリプトを同時に実行したいのですがどのような処理を書くべきでしょうか?

//同時.uwsの内容
call 処理1.uws
call 処理2.uws

こんな感じで書いても処理1.uwsが動くだけです
処理1.uwsが終わったら処理2.uwsが動くと思うのですがそうではなく1と2を同時に実行して別々の動きをして欲しいです
uwscの実行ファイルとそれぞれのスクリプトファイルは全て同一フォルダにあるものとします
よろしくお願いします
2020/11/06(金) 23:09:52.79ID:oall+sef
thread 処理1.uws
thread 処理2.uws
2020/11/07(土) 20:04:03.01ID:vukJSlcq
thread が実行できるのは関数なので
処理1.uws, 処理2.uws を関数化したあとで
call 処理1.uws
call 処理2.uws
thread 処理1()
thread 処理2()
とする必要がある

しかしそれだけだと、これを実行しているメインのプロセス自体が
thread を2つ起動した直後に終わってしまう
なのでフラグなどを使っていつまで実行すればいいのか
コントロールする必要がある

thread にする必要がとくになければ
uwsc を2つ実行すればいい
TEST.BAT ---
start C:\uwsc\UWSC.exe C:\uws\処理1.uws
start C:\uwsc\UWSC.exe C:\uws\処理2.uws
---

あと複数のuwsを実行する場合はマウスカーソルや
キーボードは1つしかないので
そういう操作がある場合は
奪い合いが起こることを意識する必要がある
2020/11/08(日) 09:07:47.79ID:96WGa2GX
>>714
>>715
試行錯誤してて返事が遅くなりました
スクリプトの挙動が少しおかしいですが目的通りに動いてくれるようになりました
なんか変だけど動いてるからまあええかとなってしまうから進歩しないんだなと実感しました
ありがとうございました
2020/11/15(日) 21:51:04.27ID:PgpnhPdo
参考にしようと思って開いたnaverまとめが9月末で閉鎖してる…
2020/11/25(水) 11:53:39.76ID:Qh6houu2
>>716
同時に実行されると困るような関数使ってたりするとはまるので注意
719デフォルトの名無しさん
垢版 |
2020/12/26(土) 22:00:19.24ID:60sfrFxz
NoxPlayerでuwscを利用していて質問です

IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
DOSCMD
SLEEP(2)
IF CHKIMG( "2.bmp",,,,,,,IMG_MSK_BGR6)
DOSCMD
ELSE
DOSCMD
DOSCMD
ENDIF
ELSE
ENDIF

このような記述にしたのですが、アクティブ中だと2.bmpを認識するのに裏マクロ中だと認識してくれません
2.bmpはPrintScreenからトリミングしたもので、動きなどない固定画像です

CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
当初はこのように記述していたのですが、これだとアクティブ中でも見つけてくれなかったのでCHKIMGの記述にしてみました

アクティブではない状態で2.bmpを認識するにはどうすればよろしいのでしょうか
2020/12/26(土) 23:50:39.26ID:c93B7w+q
>>719
SAVEIMGのIMG_BACKで取得できなかったら
アプリ自体が非アクティブ時の描画をサボってるから
どうやっても取得できない
2020/12/27(日) 00:47:30.15ID:n8fvXRaD
>>719
VMware等仮想OSの方でNOXを動作させてアクティブにすれば
Vmwareを最小化にしても内部ではアクティブですからね
こういうときは多コアのCPUが有利なので8コアや16コアのCPUを買おう!
722デフォルトの名無しさん
垢版 |
2020/12/27(日) 01:23:55.59ID:2030r+Fs
>>720-721
たしかにそのやり方は強引にできそうですが、調べてたらWindows10では無理だったみたいです

ただアクティブ状態でも
IF CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
これだと画像認識せず
IF CHKIMG( "2.bmp",,,,,,,IMG_MSK_BGR6)
これだと画像認識されるのはどういうことでしょうか

ちなみに画像は異なりますが
IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
こちらは認識してくれているので、記述のミスはないと思います
2020/12/27(日) 06:46:05.34ID:ILpVLMzN
画像が異なるが答えなのでは…?
実物も見せず言うだけ言われても何も分からんがな
2020/12/27(日) 11:11:31.79ID:Go+qnVGA
画像が異なるってことはチェックしてる画面が違うわけで
画像以外のパラメータがどれか合ってないのでは
2020/12/27(日) 13:39:37.49ID:Xj0rz7S9
よく知らないけど、X版とCHKIMGでは判定方法が違うんじやないの?
X版は、かなり暗くても高スコアでヒットするから
2020/12/27(日) 13:58:17.99ID:lIVD6Aho
CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
これのx1,y1,x2,y2を使ってsaveimgしたbmpを2.bmpに差し替えてどうか
PrintScreenから作ったbmpがおかしいか、座標がおかしいかわかるでしょ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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