自動化ツールUWSC使いよ集まれ24

■ このスレッドは過去ログ倉庫に格納されています
2021/07/07(水) 11:17:44.59ID:txZoNC6Z00707
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
・UWSC Free版 Ver5.3.0.2
http://www.uwsc.info/uwsc5302.zip
・UWSC Pro Ver5.3.0.2 (スレ建て時点で、現在シェアレジはできません。)
http://www.uwsc.info/uwscpro5302.exe 

●UWSC 掲示板(※作成依頼掲示版ではありません)
 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi
http://www3.rocketbbs.com/601/siromasa.html

●UWSC - Wikipedia
http://ja.wikipedia.org/wiki/UWSC

●使い方・基礎解説学習サイト
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

●スクリプトテンプレサイト
http://scripts.web.fc2.com/
http://nem.symphonic-net.com/uwsct/0610uwsct.html
http://iriyak.adam.ne.jp/uwsc.html
※前スレ
自動化ツールUWSC使いよ集まれ23
https://egg.5ch.net/test/read.cgi/software/1600515815/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
337名無しさん@お腹いっぱい。 (ワントンキン MM8f-jiSL)
垢版 |
2021/10/21(木) 20:02:37.98ID:IfkUTi1NM
みんな優しくないな
BTN関数を使えば出来ますよ
使い方はヘルプを読んでください
2021/10/21(木) 20:08:21.88ID:noQovxbQM
>>337
正直、証券取引に画像認識プラスマウスクリック使おうって時点で頭おかしいと思いますw
339名無しさん@お腹いっぱい。 (ササクッテロラ Sp0f-2hNl)
垢版 |
2021/10/21(木) 20:08:57.05ID:6Hub97cop
>>337
あなたが一番優しくなさそうだなw
2021/10/21(木) 23:10:01.16ID:nmiGloQn0
>>331
どんな手法でも使えるように汎用的に作るもんだろ
2021/10/24(日) 02:52:45.91ID:nQmDD3xf0
webページを操作したければソースを取得してUWSCでやれば良いし
ExcelならCOMがあるので、あとはUWSCでOKだけど、
今主流になっているスマホアプリを操作するには何ツールで解析すれば良いの?
画像認識だと誤動作が多くて、、
 
342名無しさん@お腹いっぱい。 (オイコラミネオ MM69-8Piu)
垢版 |
2021/10/24(日) 07:35:55.44ID:bN1m/8CEM
誤作動は必要な画像が取れてないって事でしょ。
あと座標絞ったら変なとこクリックしにくくなる。
2021/10/24(日) 08:55:57.01ID:cH7UslCa0
>>341
自分で操作しないんだから見やすさなんか考えずに表示を等倍にする
拡縮の具合で画像認識しないことが多い
2021/10/24(日) 18:54:26.17ID:sfbFUStP0
スマホアプリはやっぱマクロ的な動きでしか操作できないのか、、、
2021/10/24(日) 19:26:11.72ID:WMHShVCF0
まあUI automationのようにボタンだのを認識しながらってのはないな
346名無しさん@お腹いっぱい。 (ワッチョイW 716d-Xgct)
垢版 |
2021/10/24(日) 20:47:27.22ID:8TsAd3Y20
スマホアプリをPC上のエミュレータで操作するのでなく
スマホアプリをそのスマホ内で自動操作したいということ?

iPhoneのAutotouchなら画像認識でそれができる
lスクリプト(lua)でかなり複雑なこともできるね
2021/10/24(日) 22:16:05.03ID:WMHShVCF0
画像認識じゃなくてdom操作の様にアプリ上のボタンやテキストボックスとか要素を直接認識して操作したいんでしょ
さすがにエミュの画面越しにそれをやるのは無茶なので端末上でやるか(出来るもの知らんけど)、あるいはAndroidアプリに限ってはWindows11上でネイティブに動作するようになったら画像認識不要なマクロツール出るかもね
2021/10/24(日) 22:21:32.83ID:l2ZpqliA0
それに挑んだことがあるけどUnityで作られたゲームだと無理らしい
ビルドされた時点でオブジェクトの情報が隠されるとかなんとか
2021/10/27(水) 18:33:43.12ID:qch7itho0
>>341
WEBアプリのボタンならCLKITEMで押せるから、画像認識の面倒が無いが
エミュで使えるかは試してないな
2021/10/27(水) 20:40:12.43ID:MRR8XRyk0
指定フォルダ内にあるファイルの中から最新ファイルの日時データを取得したいです。
2021/10/27(水) 20:43:16.27ID:MRR8XRyk0
できれば5行以内で
2021/10/27(水) 21:06:22.01ID:Hj7K+ert0
そうですか
2021/10/27(水) 21:16:18.92ID:I+UyXZ+Op
日時データってなんぞ
2021/10/27(水) 21:29:49.17ID:Afs0JyaL0
更新日なのか作成日なのかわからんがそういうデータだろう。
まぁファイルデータ読み込んで並べ替えて最新を出力すればいいだけだろう。
2021/10/27(水) 21:42:05.06ID:fNO8XUleM
>>350
指定フォルダのファイルのデータを取得して時間でソートすればいいだけよ
2021/10/27(水) 22:19:38.35ID:MRR8XRyk0
早く処理するにはqsort?
2021/10/27(水) 23:05:08.48ID:C2sFOscf0
お手軽DIRコマンドで解決
2021/10/28(木) 05:45:49.60ID:qQn4TbUy0
まあ、dirなりlsで5行どころかワンライナーだよね
qsortなんぞ出番はない
2021/10/28(木) 05:56:22.43ID:X+ZFJ8ph0
指定フォルダ(複数)だと変数なりファイルなりに一旦まとめてからソートする形であってる?
2021/10/28(木) 05:59:00.67ID:X+ZFJ8ph0
フォルダごとに最新ファイルとって比較するほうがいいか
2021/10/28(木) 12:01:17.77ID:VXbbiAm/0
T = doscmd("for %x in (*.*) do @echo %~tx") //全てのファイルのタイムスタンプ一覧をDOSコマンドで取得
S = SPLIT(T,"<#CR>") //改行記号で分割して配列にする
QSORT(S) //配列の中身を昇順でソート
msgbox(S[LENGTH(S)-1]) //最新ファイルのタイムスタンプが入ってる配列の最後の要素を表示する
2021/10/28(木) 12:28:22.10ID:l+V2JkGSM
センスなさすぎる
ほしいのはタイムスタンプが最新のファイルの中身(日時データ)かもしれない
2021/10/28(木) 12:34:51.56ID:/uojwLHY0
日時だけです
getdir降順で一個目リストで取ろうかと思いました
2021/10/28(木) 12:35:41.82ID:VXbbiAm/0
DOSコマンドもあまり知らんから、センスはねぇよ
基本は動けば良い

ファイルの中身に日付データが入ってるなら、ファイル読み込んでソートすれば良いだけ

qsortの出番が無い書き方も知りたいわ
2021/10/28(木) 12:43:54.85ID:/uojwLHY0
5行いないドス
2021/10/28(木) 20:31:12.57ID:rDpbryNK0
>>365 1行
2行
3行
4行
5行 死ね
2021/10/28(木) 20:38:27.33ID:3W0sXs200
五行以内Deathじゃねぇか。
368名無しさん@お腹いっぱい。 (ワッチョイ 91cf-AcPK)
垢版 |
2021/10/30(土) 00:49:46.16ID:L5g7y9GW0
FolderTimeUpdateてーの使えば同期してくれるから悩む必要ないぞ
2021/10/30(土) 07:44:53.50ID:apjmPBg60
>>368
それUWSC関係ありますか?
ドスなしで5行で記載出来ました。
欲が出てきたので、1行で記載したいです。

処理後のReturnはyyyy/mm/dd hh:mm
2021/10/30(土) 07:47:40.41ID:apjmPBg60
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
n = getdir("指定フォルダ", "*.拡張子", false, 2)
DIM path = "指定フォルダ"+GETDIR_FILES[n-1]
DIM File = FSO.GetFile(path)
PRINT File.DateCreated
2021/10/30(土) 11:01:15.74ID:qj7aIbUvM
これで要件の大部分が見えたな
2021/10/30(土) 12:10:47.13ID:W0tlxIKyM
ゲームのボタン押す部分の自動化なんだけど
画像aか画像bを探してどちらか見つかった場合に
その画像をクリックする場合の書き方は
option shortcircuit
ifb(chkimg("a.bmp") or chkimg("b.bmp"))
btn(left,click,g_img_x,g_img_y)
endif
てやり方が普通?
他に違う考え方とかかっこいい書き方とかある?
373名無しさん@お腹いっぱい。 (ワッチョイ 91cf-AcPK)
垢版 |
2021/10/30(土) 16:29:32.68ID:L5g7y9GW0
馬鹿の壁だな
374名無しさん@お腹いっぱい。 (ワッチョイW d9b1-U+LO)
垢版 |
2021/10/30(土) 17:22:57.77ID:pdzrkpe30
範囲を指定するとか、chkimgX()を使った方が方が速いんじゃないの
2021/10/30(土) 21:37:31.65ID:Yx/mDAA10
「chkimgxはpng画像しか認識しない」とねたバンクで解説してるけど、これ普通にbmpでも認識するじゃん
ねたバンクはなんであんなデマ流したのか
376名無しさん@お腹いっぱい。 (ササクッテロロ Spc5-U+LO)
垢版 |
2021/10/30(土) 22:15:48.55ID:jZr39tyvp
jpegもいけるそうだ
377名無しさん@お腹いっぱい。 (ワッチョイW d9b1-U+LO)
垢版 |
2021/10/30(土) 22:24:53.13ID:pdzrkpe30
https://i.imgur.com/GVBTwgf.jpg
2021/10/30(土) 23:33:42.73ID:vPOAu4790
// 画像名: 画像ファイル名(BMP, PNG, JPEG, 形式は拡張子から判断)

ReadMeやサンプルに説明が書いてあるから
怪しげなサイトを見る必要は無いよ
2021/10/31(日) 00:29:01.66ID:1WGEMuVm0HLWN
chkimgxはなぜか暴走して使い物にならなかったなあ
3層の深さのネストif構文なんだけど、chkimgxだと入れ子の部分をすっ飛ばしてしまう
2021/10/31(日) 07:24:40.52ID:fql/h7rk0VOTE
chkimgxは使用したらその都度停止処理も呼び出さないと駄目
2021/10/31(日) 12:26:43.66ID:Ny9yBqYK0VOTE
早く処理を済ませたくてTHREADってchkimgx使ったら大暴走したことがあったな
Public宣言の変数がたくさんあったのが原因だったけど
2021/10/31(日) 13:03:12.91ID:56kLDMSwMVOTE
>>381
chkimgxはスレッドセーフじゃないからな
おれはちょっと改造して複数スレッドで使えるようにしたけど
2021/10/31(日) 14:22:31.49ID:Lruxf3Sb0VOTE
>>358
一行でお願いします
>>362
ハイセンスなコードをお願いします

煽るだけなら黙ってろ
2021/10/31(日) 15:38:28.35ID:fjB1NOVP0VOTE
>>383
みーとぅー 希望
選挙いってきま〜す
2021/10/31(日) 15:59:12.38ID:qgMQdj8jMVOTE
俺にセンスがあるとは言っていないのでこれが限界
print "作成日時:" + doscmd("for /F <#DBL>usebackq tokens=1,2* delims=[6] <#DBL> %i in (`dir /A:-D /O:-D /T:C ^| find /V /N <#DBL>\<#DBL> ^| find <#DBL>[6]<#DBL>`) do @echo %i %j")
print "更新日時:" + doscmd("for /F <#DBL>usebackq tokens=1,2* delims=[6] <#DBL> %i in (`dir /A:-D /O:-D /T:W ^| find /V /N <#DBL>\<#DBL> ^| find <#DBL>[6]<#DBL>`) do @echo %i %j")
print "作成日時ファイル内容(テキスト):" + doscmd("for /F <#DBL>usebackq delims=[1]<#DBL> %i in (`dir /B /A:-D /O:-D /T:C ^| find /V /N <#DBL>\<#DBL> ^| find <#DBL>[1]<#DBL>`) do @type %i")
2021/10/31(日) 16:01:55.13ID:fjB1NOVP0VOTE
>>385
ありがとうドス

投票行って外食するんだ
一行
2021/10/31(日) 16:06:00.16ID:qgMQdj8jMVOTE
delimsの指定がダメだった
区切り文字だから文字列使えないのかな
2021/10/31(日) 16:52:00.02ID:qgMQdj8jMVOTE
ギブアップ
print replace("作成日時:" + doscmd("for /F <#DBL>usebackq tokens=1,2*<#DBL> %i in (`dir /A:-D /O:-D /T:C ^| find /V /N <#DBL>\<#DBL> ^| find <#DBL>[6]<#DBL>`) do @echo %i %j"),"[6]","")
print replace("更新日時:" + doscmd("for /F <#DBL>usebackq tokens=1,2*<#DBL> %i in (`dir /A:-D /O:-D /T:W ^| find /V /N <#DBL>\<#DBL> ^| find <#DBL>[6]<#DBL>`) do @echo %i %j"),"[6]","")
2021/11/05(金) 18:55:41.31ID:eTbBBR0p0
chkimgxってデフォだと何パーセントのずれまで同じ画像と認識するんだろ?
AAとA8を同じ数字と認識するもんだから誤作動起きまくって困ってる
2021/11/05(金) 19:25:43.93ID:gtDIQ32CM
>>389
chkimgxの定義する閾値はreadmeに書いてあるだろ

認識結果のscoreも戻ってくるのに有効活用できてないのはスキル不足よ
2021/11/05(金) 19:46:12.64ID:FSqgAI5i0
1行目と2行目が繋がってないから日本語力も足りてないことはあきらか
2021/11/05(金) 20:20:54.66ID:eTbBBR0p0
>>390
さすがにそれはとっくに見てる
まったく書いてない
2021/11/05(金) 20:28:23.59ID:B8+CV6uz0
求められる読解力
Readmeしか読んでないとかいうギャグかな
2021/11/05(金) 20:30:40.58ID:eTbBBR0p0
わかった
readmeじゃなくてsampleか
2021/11/05(金) 20:46:06.80ID:NfI5ejiva
るべきなのはChkImgX.uwsだね
thresholdのデフォルト値がばっちり15と書いてある

説明には「1〜20程度が実用範囲と思われる」とあるが
自分の使ってる中では0.5以下を指定することも珍しくない
2021/11/05(金) 20:47:01.69ID:gtDIQ32CM
シチュエーションによる話だが、数字系を認識させるなら、ナンバリングしとけ
同じ画面で一つしか出てこないなら最適の画像で認識される。誤認識があるならスコアで判定しろ
2021/11/05(金) 20:47:08.34ID:NfI5ejiva
誤 るべきなのは
正 見るべきなのは
2021/11/05(金) 23:46:11.56ID:N/PbyLPK0
Supernovaというフラッシュを動かすソフト上で画像認識をしたいのですが、画像認識に何も引っかからず上手くいきません
ウィンドウIDはちゃんと取れていて、画像は24ビットマップで保存しているのですが何か考えられる問題はあるのでしょうか
CHKIMGXとCHKIMGの両方を試し、複数の画像について試しました
2021/11/06(土) 00:31:40.33ID:TvuPhNwD0
それChromeの拡張機能のようだけど他のWEBページは問題なくchkimgxできてる?
2021/11/06(土) 01:40:40.60ID:TRNjcjxK0
レスありがとうございます
昔はできていたのですが、今試したところChrome上での画像認識ができませんでした
あとでブラウザの画像認識について色々調べてみようと思います
2021/11/06(土) 12:45:07.50ID:E13tF4gz0
Chromeはbitbltでキャプチャ出来ない
Firefoxなら出来ると思う
2021/11/07(日) 09:49:23.26ID:Y1r7tWeD0
a =GETTIME()
sleep(0.25)
b = GETTIME()
print b-a
としたときに、0.25を出力する方法ってあります?
今は、0かたまに1が出力されるだけです、、
2021/11/07(日) 10:02:14.78ID:hGG9m4Kw0
戻り値の仕様は確認した?
2021/11/07(日) 10:07:35.87ID:9JFlKyZ4M
するわけないだろ
なんでそんなこと聞くの?
バカなの?
2021/11/07(日) 10:25:43.49ID:9gtC0pCVM
a =GETTIME()
sleep(0.25)
b = GETTIME()
print "0.25"
2021/11/07(日) 11:49:43.27ID:tsYfkW300
>>402
GETTIME();a = G_TIME_NN * 3600000 + G_TIME_SS *1000 +G_TIME_ZZ
sleep(0.25)
GETTIME();b = G_TIME_NN * 3600000 + G_TIME_SS *1000 +G_TIME_ZZ
print b - a
// ただし、sleepの仕様によりミリ秒はズレる、また1時間またぎのタイミングでやるとマイナス値に
2021/11/07(日) 12:10:40.10ID:acuvbF5MM
>>406
どうしようもないレベルの本物のバカ
2021/11/07(日) 13:10:46.57ID:Y1r7tWeD0
>>406
有難うございます

>>404
>>407
殺すぞゴミ
2021/11/07(日) 13:37:02.22ID:2otdfDQ9M
GETTIME()*1000+G_TIME_ZZ
精度は雑だけど、これが普通じゃないの?
410名無しさん@お腹いっぱい。 (ワッチョイ 6e73-H2rd)
垢版 |
2021/11/07(日) 14:05:03.96ID:Qv2JDhDB0
s = 0.25
a = GETTIME()*10
sleep(s)
b = GETTIME(s/864)*10
print (b - a)/1000
411名無しさん@お腹いっぱい。 (ワッチョイ 6e73-H2rd)
垢版 |
2021/11/07(日) 14:10:00.94ID:Qv2JDhDB0
s = 0.25
a = GETTIME()
sleep(s)
b = GETTIME(s/86.4)
print (b - a)/1000 + "秒"
412名無しさん@お腹いっぱい。 (ワッチョイ 6e73-H2rd)
垢版 |
2021/11/07(日) 14:13:17.70ID:Qv2JDhDB0
s = 0.25
sleep(s)
print s + "秒"
413名無しさん@お腹いっぱい。 (ワッチョイW 09b1-Lt33)
垢版 |
2021/11/07(日) 16:13:11.85ID:iYqNBr7T0
print “0.25“
2021/11/09(火) 12:23:30.93ID:O7wwJjwu0
UWSCのホットキー設定のところでキーボード二つ必ず入力する設定(Alt + F1など)
だけど一つだけで設定ってできない?
もしくはマウスのミドルクリックで再生みたいなかんじ。二つ同時押しするの地味にめんどい
2021/11/09(火) 12:55:22.36ID:PpQFvYl9H
SetHotKey()とスクリプトの呼び出しだけのスクリプトを
常時走らせておくとか?
2021/11/09(火) 13:09:42.65ID:O7wwJjwu0
>>415
解決した、ありがとう
2021/11/09(火) 18:19:27.38ID:edZBZ5hH0
PRINTのウィンドウを閉じるにはどうすればいいっすか?
2021/11/09(火) 18:24:15.39ID:vchVE+N00
Print "閉じるかな?"
window_id = GetID(GET_LOGPRINT_WIN)
Ctrlwin(window_id,Close)
2021/11/09(火) 18:57:35.13ID:F16pQIihM
>>418
閉じても次のPRINTで復活するでしょ
そのもずばりの関数が用意されとるよ

LOGPRINT( 表示フラグ, [x, y, 幅, 高さ] )
2021/11/10(水) 20:25:51.32ID:m5jIJkiP0
>>419 いや
>>418
で充分だろ
LOGPRINT(false)をしたら、LOGPRINT(true)をするまで永久に永久にprintが使えなくなる

ところで、printの内容をクリアするには
sckey(GETID(GET_LOGPRINT_WIN),VK_CTRL,vk_a,VK_DELETE)
だけ?
2021/11/10(水) 20:46:55.95ID:1pw52xN8M
>>420
sethotkeyで表示をトグルするくらいやるのが普通じゃね?
2021/11/10(水) 21:29:30.11ID:9CI9Jmno0
デバッグモードとの切り替えみたいなイメージで
オンオフしたいのかと思った
目的を説明せずに手段だけの質問は
回答者が迷走しがち
2021/11/11(木) 03:55:19.05ID:1rTdh9Mz0
初心者質問なんだけど、ひょっとしてこのツールってif構文の入れ子が深すぎると挙動がおかしくなりやすいとかってあるのかな?
5層目以降になると、プログラム通りに動く時、まるっきり関係ない動作する時、そもそもフリーズする時と多種多様な挙動をする
2021/11/11(木) 04:09:35.66ID:c5qy/OBP0
そんな話聞いたことないけど
2021/11/11(木) 10:54:37.78ID:wXlmdymr0
複数の人が何年も動かしてるアプリに新しいバグが発見される確率と
人間の頭がバグる確率のどっちが高いか考えればわかるよね
2021/11/11(木) 11:15:19.24ID:zhgyxe9g01111
まあそれはそれとして423のコードがどんななのか見てみたい
2021/11/11(木) 11:20:23.17ID:oqAaa+g/01111
自分のコードが完璧だと勘違いしているとバグ発見は非常に困難になる
2021/11/11(木) 11:22:43.00ID:F/VIfl7nM1111
5層の入れ子とかバグる未来しか見えんw
2021/11/11(木) 15:32:36.30ID:jd6oe4PS01111
UWSCのバグならいくつか見つけてるけど、それを報告するところが無いので
回避策で対応してる、、
それをバグと分かるまですげー時間かかったけど汗
2021/11/11(木) 15:36:06.58ID:xz7m05TH01111
ここで報告しろよ
そのバグで俺にも苦労させたいのか
2021/11/12(金) 16:53:45.35ID:sjgtI53C0
共有しても良かったのだが
「ここで報告しろよ」 ← こう言う、ものの言い方も知らない社会不適合者とはゴメンだな
苦労しとけ
 
2021/11/12(金) 17:14:40.99ID:0rsLkGEH0
報告受容しつつ軽い自虐的言い回しでハードルまで下げてくれてるのに
なぜかそれにキレちゃってるほうがだいぶ不適合者っぽい
2021/11/12(金) 18:08:55.70ID:/xO+wo++0
バグってたのはuwscじゃなく429の頭だったってことでしょw
2021/11/13(土) 10:04:02.20ID:KZZjW+/m0
msgboxってthread内で閉じ込めてやっても
プログラム全体を止めてしまう?
435名無しさん@お腹いっぱい。 (ワントンキン MMa3-09aj)
垢版 |
2021/11/15(月) 08:34:20.26ID:fStmwGcmM
自分のルールを押し付けるやつは、
自分のルールに従わない人間を社会不適合者と呼んで排除する。

自分のルールを押し付ける極左は、
自分のルールに従わない人間をネトウヨと呼んで排除する。

自分のルールを暴露する奴を発見した極左は、
自分のルールを暴露する奴を糖質(統合失調症)と呼んで排除することを皆に要求する。

自分のルールで統一(統合)できないことを許さない宗教を統一教会という。

見えないルールを八百長という。八百長を生業とする人間をヤクザという。
2021/11/17(水) 15:48:08.21ID:WOfYvd600
スレチな書き込みは、自分ルールの押し付けじゃないとでも?

>>423
>>428さんの言うとおり入れ子が深くなるとバグ混入させやすいのと
原因究明が難しくなる

深くしないでも書けないか考えたり、モジュール化(関数化)するのがおすすめ
一般的にはネスト3段ぐらいまでにしろって言われてる
2021/11/18(木) 15:03:27.27ID:kb/Kc+ou0
すみません初心者なのですが
たとえばenterキーを1から10回の数字でランダムでおしたいのですが
ランダムな数値を取得するサンプル
r = RANDOM(10) // 0から9までの値を取得と説明で見たのですが
この場合enterをどこに書けばよろしいでしょうか?
もしくは別のスクリプトがあるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
大学生アイラと影の怪物と戦うリョウが、深夜3時3分の静止した世界で交錯する超常スリラーの概要

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