UWSC初心者用スレ

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

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

降臨される神々においては相手を人と思わず猿と思し召されるよう
何卒お願い申し上げます
2021/01/18(月) 00:55:11.99ID:zDdtgKlc
マクロ2の変数をマクロ3では参照できない
詳しくは変数のスコープでググってくれ
2021/01/18(月) 20:36:52.82ID:3GwAoqNL
できない理由の回答ありがとう
PUBLICを使うことでなんとかなりそうです
2021/01/20(水) 13:52:57.09ID:op6U359o
excel2013以降全般でUWSCでexcelファイルをオープンにする場合と
デスクトップ上からexecelファイルをクリックしてopenする場合では何かexcelの認識が変わるのでしょうか?
excelに後から入れたアドインが上記の場合だとアドインを認識してくれず
下記の場合だとアドインを認識してくれる状態で困っています
2021/02/02(火) 19:37:28.21ID:lhBS5kaI
お気に入りだったのがサービス終了したもんで
マクロ使ってプレイすると面白いゲーム教えて下さい
2021/02/02(火) 20:24:46.86ID:CvaL/gK2
クッキークリッカーでも極めたら如何か
2021/02/05(金) 12:52:44.92ID:CE/PVw/N
裏マクロでの画像認識について質問です

w_id = getid( "エミュレーター" )
mouseorg( w_id ,2 ,MORG_BACK )
を利用した裏マクロを作り、再生してみたのですが
オンマウス状態にしないと画像認識が働かず
困っています。

【現在の状況やその具体例】
・単純なクリック操作は裏マクロとして正常に動作する
・エミュレータの外側にマウスカーソルがあると画像認識がまったく働かない
・エミュレータの内側にマウスカーソルをもっていくと即座に画像認識が行われる
・エミュレータがアクティブ状態か非アクティブ状態かは関係なく
 オンマウスかどうかで画像認識の「働く/働かない」が決まる状況
 (PC画面の最前面はメモ帳やブラウザ。裏で開いているエミュレータの先っぽだけを
 ブラウザの上にハミ出させて、そのハミ部分にマウスカーソルを移動させると画像認識動く)

この「オンマウスでないと画像認識が動かない」状況を解消する方法を知りたいです
よろしくお願いします。
2021/02/05(金) 14:06:50.35ID:CE/PVw/N
>>755
すみません。質問者です
>単純なクリック操作は裏マクロとして正常に動作する
↑これもオンマウス状態でないと動作していませんでした。勘違いしていたようです
根本的に裏マクロの作成に失敗してる気がします
もうちょっと自分で試行錯誤してから質問しなおします。
2021/02/05(金) 14:38:29.04ID:8IWMGH1a
数回滞納したら信用機関のブラックリストに載るんだろ
これ最悪じゃん
2021/02/05(金) 14:39:01.10ID:8IWMGH1a
誤爆でした
2021/02/05(金) 14:57:30.51ID:yiuLSrin
((((;゚Д゚))))
2021/02/05(金) 15:26:56.29ID:3x1rEHtV
滞納ってのは金払いますって約束を破ってるんだから信用に傷付くのは当然だと思うんだが
遅れても払えば問題ないって意識が根本的におかしい
uwscで自動化しろ
2021/02/06(土) 14:27:30.37ID:NphD2JzZ
IEでサイトをよんだら、Edgeが起動した。
もうだめだ。オレの人生はおわった。

変わりの自動化ツールを教えて下さい
2021/02/06(土) 14:37:42.46ID:e0Fl/dIF
edgeで動作するように作り直した方が早い
2021/02/06(土) 15:00:10.50ID:NphD2JzZ
>>762
そんなことできるんですか 朗報!
2021/02/06(土) 15:30:39.13ID:xKFqhvrl
ieでそのまま開くみたいな設定がedge側にあったと思うけど
2021/02/06(土) 20:25:34.70ID:+9Nz3gBm
>>764
ありがとうございます。
設定を変更してできました。

前日にはIEで表示できたのに、今朝になって突然代替表示されるようになって動転してしまいました。
2021/02/08(月) 18:06:22.89ID:sakamvjP
adbを利用したマクロのタップ位置をちょっとだけランダム化したいです

表マクロで座標(20,50)の周辺をランダムタップする場合は
20+RANDOM(1),50+RANDOM(1)
↑みたいにすれば出来ていたのですが、
adb版の裏マクロだとどういう記述にすればいいのでしょうか
2021/02/08(月) 19:54:11.87ID:rDadBMP6
>>674-675辺りを見て
2021/02/08(月) 21:20:12.83ID:sakamvjP
返答ありがとうございます
括弧でくくるとはどこをどのようにくくればいいのでしょうか…
具体例を書いていただけるとありがたいです。 頭が弱くて申し訳ない泣
下記を試してみたのですが一番上のやつだけが正常に動きます

成功(ランダム化無し)
DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap 20 50")

失敗(ランダム化有り)
DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap 20+RANDOM(1) 50+RANDOM(1)")

失敗(ランダム化有り_座標を括弧で括る)
DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap (31+ RANDOM(1)) (50+ RANDOM(1))")

失敗(ランダム化有り_座標を括弧で括る2)
DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap 31(+ RANDOM(1)) 50(+ RANDOM(1))")

また>>674の書き方は
doscmd(" ")の「")」の箇所が「)」になっていて「" "」で最後のY座標を覆えていないのですが
これは書き込みミスですか?それとも何か意図があるでしょうか
2021/02/09(火) 02:13:50.42ID:HgHOGPAh
DOSCMDで送信するのは文字列
下3つはRANDOM関数がダブルクォーテーションで囲われてるから関数ではなく文字列として認識されてる
文字列は結合が出来る

str = "aaa" + "bbb"
print str
> aaabbb
2021/02/09(火) 02:58:31.43ID:Yx4rnzv/
>>768
文法適当だけどこう
doscmd("adb shell input tap" + " " + (10 + rnd(10)) + " " + (20 + rnd(20)))
数値の加算としてて扱いたいところを括りなさいということ

doscmdで失敗したらdoscmdの返り値を吹き出しとかログに出して確認するとコマンドプロンプト上のメッセージ見れるよ
まあ、あとdoscmdで構文組み立てると使い回し的に微妙だし外で組み立ててデバッグ表示とか確認してから文字列の変数で渡す方がいいかな
2021/02/09(火) 10:28:45.04ID:w8MMFkxC
>>769
>>770
返答ありがとうございます。
教えていただいたルールと実例を見て少しずつわかってきた気がします
「+ " " +」の箇所が不思議な並びに見えていたのですが、「" +」で一塊の記号
と捉える(?)ということが何となくわかってきました。
「" +」と「関数」の組み合わせで、関数部分は括弧で両脇ガードするイメージかな、て。
理解が追いつきそうな気がします。ありがとうございます
2021/02/09(火) 12:59:51.00ID:Yx4rnzv/
いや変な理解してるよw
プログラム知識どのくらいあるか知らんけど、要はdoscmdは最少だと文字列1つが引数なのが大前提
次にuwscは文字列に対して+すると左辺右辺を文字列とし結合する
この時、数値も文字列になるし、関数は返り値が文字列になる
なのでdoscmdの1番外の括弧の中の+は基本的に文字列の結合をしている
括弧の中にある括弧内は先に数値の計算がされる

doscmd(10 + 10)
だと1010になって
doscmd((10 + 10))
だと20になる
doscmd(a + " " + b)
これはなんのことはなく単にaとbの間にスペースいれてるだけだ
2021/02/10(水) 08:32:17.00ID:JYL+31L1
ありがとうございます。今度こそわかりました
つまり、doscmd(a + " " + b)のaとbとにランダム数値を代入する、みたいな式を
これの前に書けば晴れてランダム座標の完成となるわけですね
ちなみにお察しの通りプログラムの知識はなく
録画した表マクロが読める程度です… 回答ありがとうございます
2021/02/10(水) 16:14:00.55ID:mYgax70j
>>763
IE専用ツールじゃないから、EdgeでもChromeでも動くよ
2021/02/12(金) 20:13:05.76ID:74skEOdG
>>774
それがですね問題なのは、IEの場合、ページが読み込み完了になるまで待っててくれる関数があるじゃなんですか。
ああいうことができないと、例えばボタンを押すタイミングが早すぎたとかいうことになって先へ進めなくなるんです。

他のRPAでしたっけか、そういったもので、ブラウザの読み込み完了になるまで待機するようなものが見つけられなくて
UWSCでIEをそのまま使いたいと思ってしまっているわけなんです。
2021/02/13(土) 11:45:04.70ID:ZGnem3aY
Seleniumは?
2021/02/13(土) 12:07:26.24ID:dZ6ue5BC
Seleniumでもpuppeteerでも好きなもの使え
2021/02/15(月) 20:45:26.14ID:fa+YzTlt
webdriver使えば?
2021/02/16(火) 15:50:22.10ID:+7e6mc9m
UWSCのスクリプト集が死んでるサイトしかないけど、見る方法は・・・
http://canal22.org/qanda/uwsc_script/
2021/02/16(火) 23:02:31.35ID:N5xcmHzO
archiveでどーぞー
2021/02/28(日) 12:00:54.27ID:zlvqXFLj
Aという動作をループさせながら、Bという画像が現れたら数分後にBをクリックするとかできますか?スリープだとAの動作が止まってしまうので…
2021/02/28(日) 12:04:06.87ID:Gf8vzNDu
gettimeを使うかthreadで別処理にする
2021/02/28(日) 13:15:04.71ID:rSDXD4Hw
Aを内包する大ループ作るだけでよくね
正攻法はthreadでいいと思うが
2021/02/28(日) 17:45:14.82ID:zlvqXFLj
ありがとうございます。早速試してみます。
2021/03/02(火) 13:39:10.84ID:JZpUb5F1
難しく考えすぎなのでは?

DIM Flag = False //B画像検出フラグ

//Aという動作をループ
While True
//B画像が現れたらxに現在時刻を記録しFlagをTrueにする
IFB CHKIMG("B.bmp") and (Flag = False);x = GETTIME();Flag = True;ENDIF
//B画像検出して60秒経過したら、B画像をクリックしてループを抜ける
IFB ((GETTIME() - x) > 60) and (Flag = True);BTN(LEFT,CLICK,(G_IMG_X+5),(G_IMG_Y+5));BREAK;ENDIF
//B画像が現れず、120秒経過したらループを抜ける
IFB ((GETTIME() - x) > 120) and (Flag = False);BREAK;ENDIF
Wend

IFB Flag = True;msgbox("B画像検出");ENDIF
IFB Flag = False;msgbox("B画像未検出");ENDIF
2021/03/02(火) 14:30:33.02ID:mCqWIBDx
782:gettimeかthread
785:考えすぎでは?gettime使え
2021/03/02(火) 18:36:17.07ID:JZpUb5F1
xの初期値を入れてなかったから修正

DIM Flag = False,x = GETTIME() //B画像検出フラグ,xに現在時刻を入れる

//Aという動作をループ
While True
//B画像が現れたら、現れた時刻をxに入れてFlagをTrueにする
IFB CHKIMG("B.bmp") and (Flag = False);x = GETTIME();Flag = True;ELSE;ENDIF
//B画像検出して 60秒経過したら、B画像をクリックしてループを抜ける
IFB ((GETTIME() - x) > 60) and (Flag = True);BTN(LEFT,CLICK,(G_IMG_X+5),(G_IMG_Y+5));BREAK;ENDIF
//B画像が現れずに120秒経過したらループを抜ける
IFB ((GETTIME() - x) > 120) and (Flag = False);BREAK;ENDIF
Wend

IFB Flag = True;msgbox("B画像検出");ENDIF
IFB Flag = False;msgbox("B画像未検出");ENDIF
2021/03/03(水) 00:31:34.71ID:UoOyY0IM
>>787
素人考えですが
画像検出のIFブロックで発見したらBTNの第五引数で実行待ち時間を指定すればフラグ要らないような
2021/03/03(水) 00:39:48.25ID:eEFRPXrG
>>788
BTNって非同期なの?
2021/03/03(水) 20:36:38.79ID:yubedTmO
BTN(LEFT,CLICK,(G_IMG_X+5),(G_IMG_Y+5),600000) とすると、クリックするまでループ処理が止まる
止まるとA動作のループが動かない
791デフォルトの名無しさん
垢版 |
2021/03/03(水) 20:58:42.86ID:gkb1jlIk
MSがなにやら簡単ツールを提供するようだ
自動化が簡単になる
2021/03/03(水) 22:02:40.43ID:g0RIT2ce
ソースは?
UWSCみたいには使えないと思うが・・・
793デフォルトの名無しさん
垢版 |
2021/03/03(水) 22:08:57.07ID:gkb1jlIk
https://www.itmedia.co.jp/news/articles/2103/03/news096.html
2021/03/03(水) 22:20:08.14ID:g0RIT2ce
コードを書かずに〜と書いてあることから凝った設定はできないとも読めるよ?
まあ仮に自動化できたとしてもUWSCと同等のことが出来なければ用が無い
2021/03/03(水) 22:25:44.81ID:V8Bi7ith
これとUWSCを組み合わせて使えば自動化が簡単にできるようになるんじゃないかと期待してみる
2021/03/03(水) 22:41:06.95ID:W0isZ3pe
ブラウザの読み込み完了になるまで待つ機能があるかどうかですお。
797デフォルトの名無しさん
垢版 |
2021/03/04(木) 08:23:11.29ID:RtzC2UYg
そりゃ自動化ツールなんだから
クリックした結果を見る前に次の動作するわけなかろうw
艦これの自動化くらいすぐ出来そう
2021/03/04(木) 14:16:32.07ID:U4nDCxwI
//IE以外で読み込み完了まで待機が出来ないとか何とか・・・?

DOSCMD("start microsoft-edge:http://www.google.co.jp/";) //Edgeを起動してGoogleを表示
ID = GETID("Edge", "", -1)
Stand-by(ID,ITM_BTN,"Google 検索")

SENDSTR(id,"屋久島", 1, True) // 屋久島と入力してEnter
SCKEY(ID, VK_RETURN)
Stand-by(ID, ITM_LINK, "地図")
CLKITEM(ID, "地図", CLK_LINK) // 地図をクリック

//指定アイテムの文字が確認できるまで待機
Procedure Stand-by(ID, kind, ITM)
While True
Sleep(0.4)
for n in GETITEM(ID, kind)
if n = ITM then Exit
next
wend
Fend
2021/03/08(月) 11:11:54.09ID:r1yNd/Vf
>>793の続きが紹介されていた
windows10homeの場合は使えない機能があるとのことProを使うのは当たり前なんで気にしたことなかったが。
homeの人はproへグレードアップしてほしい。約1万5000円支払えば可能だから当たり前にやっておこう。
また、ブラウザの自動操作は拡張機能が必要とのことだ。
800デフォルトの名無しさん
垢版 |
2021/03/08(月) 13:19:35.29ID:p+9eWZvC
やるかボケ
2021/03/08(月) 13:36:33.15ID:r1yNd/Vf
あっそうですか
でしたら使えない機能は諦めていただく他はないですね
2021/03/08(月) 13:54:11.38ID:1eIB7vrT
マイクソからも提供されてるのか
試してみるかな
2021/03/12(金) 15:13:37.21ID:ZRLAvOku
printで表示させる文字の位置を設定する方法はありますか?
サイズも設定できるとなお良いです
2021/03/13(土) 13:10:54.59ID:cA/ebhRB
//面倒くさいやり方もあるが、無駄な労力なのでLOGPRINTを使うと良い
//なぜかx座標が7ピクセルずれるから指定座標から引く事

x = 500;y= 500

FUKIDASI("表示位置テスト1",x,y) 

LOGPRINT(TRUE,x-7,y,250,100)
PRINT "表示位置サイズ変更テスト2"

sleep(10)
2021/03/14(日) 19:17:10.26ID:MdoUOPO+
凄い初心な質問ですんません。

ID = EXEC("C:\Program Files (x86)\cameeze\cameeze.exe")
SLEEP(1.5)
ACW(GETID("cameeze","TfrmMain.UnicodeClass"),1583,450,460,300,0)

5回繰り返し(座標だけ違う)

こんな感じで作ったのですが、UWSCから設定ファイルを実行すると動くのですが、
設定ファイルから実行すると失敗してしまいます。(アクティブなウィンドウが切り替わらずにパッパッと動いてる)
重複起動していて同名なので、名前の後に(1)みたいな風に付ける方法はありませんでしょうか…
2021/03/14(日) 19:20:27.96ID:MdoUOPO+
あれ、なんでだろ書き込めない・・・
2021/03/14(日) 19:25:57.43ID:MdoUOPO+
くっそ初心者ですんません。

ID = EXEC("あああ")
SLEEP(1.5)
ACW(GETID("あああ","TfrmMain.UnicodeClass"),1583,450,330,460,0)

座標変えて5回繰り返し

こんな感じで同じソフトを多重起動させて並べようとしたのですが、失敗してしまいます。
ウィンドウタイトルが同じで同じウィンドウを色々な座標に持っていこうとしてるだけみたいな感じなのですが
ソフト名の後ろに(1)みたいなのを付けたりする方法はありませんでしょうか…
(なぜか書けなかったのであああにしてます)
2021/03/14(日) 20:13:27.68ID:E6ui2GaX
例えばこれで多重起動できる

ID = EXEC("notepad.exe")
ACW(ID,1583,450,330,460,0)

ID2 = EXEC("notepad.exe")
ACW(ID2,1583,450,330,460,0)
2021/03/14(日) 22:20:18.27ID:BQ6dfRIE
>>807
ID = EXEC("あああ")
とやってるのに、その後のACWでIDを使わない謎
2021/03/14(日) 22:32:16.30ID:MdoUOPO+
>>809
ありがとう!「SLEEPを挟んじゃうからIDが受け渡せてねぇんだよ」みたいな感じですか?
でもそのソフト起動遅いんです・・・。
続けて書いたら最初に立ち上がる時に表示されるロゴみたいなのが指定の位置に移動するだけで
肝心のウィンドウは前回の終了位置にいってしまうんです…
2021/03/15(月) 00:00:30.92ID:+CyRHPpu
//>「SLEEPを挟んじゃうからIDが受け渡せてねぇんだよ」
//変数のIDを使ってないから、渡す以前に渡してねぇだろという・・・
//SLEEPは待ち時間指定だから、好きなだけ挟んで良い

//電卓を多重起動して横に並べる
EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID1 = GETID("電卓")
ACW(ID1,100,100,500,500,0)

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID2 = GETID("電卓")
ACW(ID2,600,100,500,500,0)

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID3 = GETID("電卓")
ACW(ID3,1100,100,500,500,0)
2021/03/15(月) 00:36:16.10ID:/ZCKQNsi
複数個起動できないソフトなのでは?
2021/03/15(月) 01:08:44.19ID:v5Yi3qmH
ああ!そういうことか!(´・ω・`)意味が分かったかもしれない!!

ID = EXEC("あああ") ←この『ID』=という部分が自分で決めれるんすね!?
例えばaaa = EXEC("あああ")と書いて次の行に
ACW(aaa,1583,450,330,460,0)とすると
録画機能みたいなのを利用してたのでIDと書くルールなのかと思ってました…

>>812
いえ、複数個起動はできるソフトで、一応動くには動くのですが
設定ファイルから実行するとアクティブなウインドウが切り替わらず一つのウィンドウだけが座標を行ったり来たりする感じでした
2021/03/15(月) 01:09:40.14ID:v5Yi3qmH
2021/03/15(月) 09:32:47.13ID:+CyRHPpu
なるほどなぁ
そのレベルからの解説でも需要があるのか
UWSCの需要はまだ枯れてないか
2021/03/17(水) 06:59:58.16ID:TjD9TcDJ
>>808
せっかく教えてくれていたのに、専ブラの設定かで見えてませんでした
ありがとうございます
2021/03/17(水) 07:01:40.55ID:TjD9TcDJ
>>811
も見えてなかった…
ありがとうございます!
818807
垢版 |
2021/03/17(水) 16:54:27.51ID:dsWxXXVG
皆のお陰様でちょとだけ理解ができてきました
あわよくばもう一点だけ教えて欲しいのです

>>808さんが教えてくれた方法は何故か上手く動いてくれませんでした
起動の遅れ?とかが関係あるのかとSLEEPを挟んでみたりしたのですがうまくいかず
でもそのまんまコピペするとメモ帳はその様に動きました。

そこで>>811さんの教えて貰った様に起動させた後にGETIDってので戻り値?というのをID1〜6に指定
これで思惑通り動きました!でも解せないというか理解できてないんです。

ID1 = GETID("電卓") ってのは「電卓っていうウィンドウIDを返せ」「それをID1と仮名する!」という意味であってますか?
だとすると電卓が複数個起動してたらどれのウィンドウIDを戻すのか分からなくなる気がするのは気の所為でしょうか
それとも順番に書いてるからアクティブなウィンドウから値を引っ張ってきてるのでしょうか?

1・自動で起動させてアプリを並べる。
2・別の設定ファイルでウィンドウにあるプルダウンメニューから自動で選ぶ
をやりたくて、1はできたのですが2を行う場合、GETIDではできませんでした。

初心者のクセに基礎も分からず意味不明なこと言ってるかもしれませんが、最後にしますのでお願いします…
2021/03/17(水) 19:42:27.72ID:0BuFiOnf
最初から言ってる設定ファイルがなんなのか分からん
どっかて買ったマクロ集かなんか?

まあ他の部分は推測と合っている
2021/03/17(水) 19:56:01.39ID:+PPxZeIs
省略しないで書くなら、
ID = GETID("電卓", "ApplicationFrameWindow", -1)
となるが、めんどいから省略してる
//IDはIDの数値を入れる変数なので、変数名は何でも良い
//変数は数値や文字を入れておく箱のようなイメージ
//UWSCには変数の型は無いので、数字でも文字でも区別なく入れられる

//変数の宣言 使いたい所で変数を作れるの必須ではないが、使う変数を決めておく意味で宣言しておいた方が良いとは思う
DIM ID1,ID2,ID3

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID1 = GETID("電卓")
ACW(ID1,100,100,500,500,0)
msgbox(ID1)

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID2 = GETID("電卓")
ACW(ID2,600,100,500,500,0)
msgbox(ID2)

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID3 = GETID("電卓")
ACW(ID3,1100,100,500,500,0)
msgbox(ID3)

//こうすると、起動した順にIDが1,2,3と割り振られてる事が分かる
//プルダウンメニューから選ぶのはUWSCでも出来るけどめんどい
2021/03/17(水) 20:02:51.61ID:dsWxXXVG
>>819
すんません、設定ファイルじゃなくてuwsファイルでした。

ということは、同名アプリ起動後に別のuwsファイルでIDを取得するには
マウスで座標指定してクリック→ウィンドウをアクティブに→ * = GETIDみたいなのを書いてやると良いわけですね
ありがとうございます挑戦してみます
2021/03/17(水) 20:12:09.19ID:dsWxXXVG
>>820
勉強なります。そうですかプルダウンはめんどうなんですね
プルダウンは諦めて手動にしようかと思います。
2021/03/17(水) 21:35:38.19ID:oFq5eIyC
プルダウンメニューから選ぶというのがよくわからない
2021/03/18(木) 07:40:23.96ID:8urs7GkO
>>823
防犯カメラ複数台登録して視聴ソフトを起動させると
すべて1台目のIPが指定されてしまうのです。
なのでプルダウン(ドロップダウン)から機器登録されている
IPアドレスを選択してあげないといけないんです
2021/03/18(木) 08:15:40.32ID:YmFQF9g2
全部を一つでは出来ないよ
所詮はアプリじゃなくてスクリプトだからさ
やろうと思えば出来るけど、状態を保持してる何かするのは難しい
今上がってるもので言うと
複数の監視カメラの視聴アプリとやらを一括で起動するのは特に問題ないよね
同時に整列させるのはちょっとハードル高いから考え方変えて、同じアプリを後から整列させるなら多少は簡単にできる
(ただ、uwscでやる必要性はあまり感じない)
プルダウンから自動で選ぶはまだちょっと意味が分からない
リストからカメラ指定して起動したいってこと?
それとも起動済みの視聴アプリをリストにして、それを選んで何か操作したいということ?
後者はアプリがタイトルバーに何か色つけてくれてればやりようあるけど、そうじゃないなら難しいよ
2021/03/18(木) 09:52:39.16ID:JPJY5VhO
たとえば一つの例として「Fit Win」というアプリがあって
指定したアプリを整列させるだけならこういうアプリもある

プルダウンから選ぶは座標クリックしていく原始的なやり方しかないだろうね
整列して同じ座標へウィンドウを固定させたら比較的簡単にできるし

視聴ソフトはあまり詳しくないので調べてみたら「smart viewer」というフリーのソフトが複数カメラ、複数画面に対応してるようだけど
こういうソフトじゃないと駄目なの?機器が対応してないと駄目だろうけどLAN接続するタイプなら割と対応してるっぽいが?
このソフトを採用している警備会社があるようだから悪くないと思うけどな
827デフォルトの名無しさん
垢版 |
2021/03/18(木) 10:40:06.48ID:Y5jTQtWf
ネットワークドライブのuwsファイルを認識しないのですが、みなさんの環境でもそうですか?
\\ORE-PC\UWS\hoge.uws をダブルクリックすると問題なく起動しますが、
\\ORE-PCをZドライブに割り当てて、
Z:\UWS\hoge.uwsをダブルクリックするとFILE NOT FOUNDってでる。
右クリ→メモ帳だと問題なく開けるので、UWSCの仕様なんでしょうかね・・
2021/03/18(木) 11:08:31.02ID:JPJY5VhO
ダブルクリックして起動?
ランチャーとかUWSCから起動させるのは駄目?
ネットワークドライブを割り当てるとかはやってないのでわかりませんね
829827
垢版 |
2021/03/18(木) 12:13:19.45ID:Y5jTQtWf
windowsのショートカットでも、ランチャーに登録してもダメですね。
だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ
2021/03/18(木) 12:38:28.87ID:Sp8r4MHz
コマンドプロンプトで実行できるなら、hoge.uwsがあるフォルダにUWSC.exeを入れて
BATファイルに
UWSC.exe hoge.uws
と書いてBATファイルで実行する手もある
831827
垢版 |
2021/03/18(木) 13:45:17.72ID:Y5jTQtWf
>>830
やってみたら見事に
FILE not found :hoge.uws
が返ってきました。目の前にあるんですけどね・・
2021/03/18(木) 14:05:23.77ID:Y5jTQtWf
>だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ

改めてやったら、そもそもUWSC本体→開くでZドライブが見えない。
なんで開けたつもりになったんだろう・・謎
ショートカットは見えるので叩くとやっぱFILE not found
2021/03/18(木) 14:25:56.67ID:Sp8r4MHz
EXEファイルにするか、iexpress.exeでパッケージ化するか
https://wikiwiki.jp/gutchie/%E8%87%AA%E5%8B%95%E5%8C%96%E3%83%84%E3%83%BC%E3%83%AB/UWSC#y1bf8470
2021/03/24(水) 22:16:20.39ID:SjAM6MJ0
子ウィンドウを取得して操作したいのですがなかなか上手くいきません

ID=GETID("親ウインドウのタイトル")
idLength=GETALLWIN(ID)
FOR i = 0 TO idLength-1
PRINT STATUS(ALL_WIN_ID[i],ST_TITLE) 
NEXT

↑を実行したところ、返ってきたのは子ウィンドウではなく
子ウィンドウ内の要素でした。(ボタン、チェックボックス、ラジオボタン)

ID=GETID("親タイトル",,,"子タイトル")
PRINT

↑は-1になります
やり方間違ってますか
2021/03/24(水) 23:30:49.98ID:ffF9L6R4
//ウィンドウIDを全て取得してみてIDとタイトルを調べる方法もある

n = GETALLWIN()

FOR i = 0 TO n-1
PRINT ALL_WIN_ID[i] + " " +STATUS(ALL_WIN_ID[i],ST_TITLE) 
LOGPRINT(TRUE,100,50,800,1100)
NEXT

msgbox("stop")
2021/03/25(木) 00:14:40.63ID:dnI+vm3S
>>835
実行してみると
親ウィンドウのタイトルが、ウインドウの数+1表示されました
という事は自分が子ウインドウだと思っていたものは全て親ウインドウという事かな?
今日は遅いのでまた明日やってみます
ありがとうございました
2021/04/09(金) 09:20:46.01ID:vJdMFfhi
Windowsのユーザーを切り替えて、各ユーザーごとにマクロを実施していきたいのだけど、ユーザー切り替えはUWSCでは難しいですか?
2021/04/09(金) 09:27:52.43ID:Aph6z+sk
何したいか分かんないけどユーザー指定して操作対象のアプリ起動するんじゃダメなん?
2021/04/09(金) 11:17:30.70ID:RfO7RRDz
UWSCの範囲を超えるこえど
動かしたいユーザー列挙しといて
レジストリに自動ログオンと自動実行の仕掛け作っとけばいけそう
再起動→次のユーザーで自動ログオンして自動実行という流れで
2021/04/09(金) 11:58:31.99ID:AGu16ZxP
ユーザー分の台数を用意すればいい
10ユーザーいるなら10台用意するとかね
841デフォルトの名無しさん
垢版 |
2021/04/13(火) 14:47:03.51ID:IqZsL8m5
神様ちょっと助けておくれ・・・

ブラウザのスクロールバーのボタン3回クリックの1セットを、
1セット×回数で10回行いたい(=最後は30回クリック)
forでかけ算すればいいんじゃね?とひらめいたが動くわけがなかった。
2021/04/13(火) 15:08:40.06ID:IqZsL8m5
for t=1 to 10
CHKIMG("scroll-down.bmp")
c=t*3
repeat
BTN(LEFT,CLICK, G_IMG_X,G_IMG_Y ,30)
sleep(1)
until c >c
next

untilの書き方にモヤモヤしているが・・・とりあえずエラーは出ない
永久にクリックし続けるだけで。
2021/04/13(火) 15:14:05.98ID:C7npRUyM
ブラウザの右下隅に下向きのボタンがあるが、それをクリックするという事かな?
2021/04/13(火) 15:16:34.28ID:IqZsL8m5
そうです。
ブラウザ上での作業を自動化したくて。
ボタンにかんしてはscroll-down.bmpで判定してます。
forのt使って
repeat
BTN(LEFT,CLICK, G_IMG_X,G_IMG_Y ,30)
sleep(1)
until t >t*3

にしてみましたがこれも永遠にクリック(tが1なんだから4で止まって欲しいのに・・・)
2021/04/13(火) 16:03:51.33ID:M7vT5OZZ
c > c
ワロタ
この不等式がおかしいと思わないってヤバない?
プログラムじゃなくて数学、いや算数レベルやん
2021/04/13(火) 16:11:32.97ID:C7npRUyM
//FORの入れ子でOK
//1回目 1*3、2回目 2*3・・・10回目 10*3

CHKIMG("scroll-down.bmp")

FOR i = 1 TO 10
FOR x = 1 TO i*3
SLEEP(1)
BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5)
NEXT
NEXT

msgbox("クリック完了")
2021/04/13(火) 16:36:03.26ID:IqZsL8m5
いろいろ試してる間にごちゃごちゃしてきたのですみませんね;
UWSCではforしか使ったことがないもので

>>846
入れ子でいいはずですよね・・・(同じコードだ・・・)
もう一回ためしてみます。
ありがとう。
2021/04/16(金) 14:51:43.21ID:uD9tfUyH
プログラムファイルから消した文言が表示されエラーになってしまいます
IFB CHKIMG ("C〜.BMP")を("C〜.PNG")に書き換えしたのですが、NOT FOUND 〜BMP となります

(appdataなど削除し)ソフトの入れ直しや、違う名前のプログラムファイルを作成などしましたが改善せず。terapadを使用して書いてます
ご教示お願いします
2021/04/16(金) 14:53:20.85ID:hdR99Jx3
違うファイルを読み込んでいる
2021/04/16(金) 15:17:51.55ID:jul+q2bh
実行してるファイルと編集してるファイルが違ってたとかよくある
何でこのバグ消えねぇんだ?と思ってよく見たら違ってたと
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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