1 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/12(土) 19:52:22.18 ID:syCLE48Q0] 前:名無しさん@お腹いっぱい。[] 投稿日:2014/01/09(木) 13:16:00.50 ID:hFz7Kd3R0 [1/3] Windowsの作業を自動化するツール フリーソフト版とシェアウェア版の2種類がある ttp://www.uwsc.info/download.html ●UWSC 掲示板(※作成依頼掲示版ではありません) 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫 ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past ●UWSC - Wikipedia ttp://ja.wikipedia.org/wiki/UWSC ●使い方・基礎解説学習サイト ttp://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584 ttp://www.confrage.com/uwsc/ ttp://necro.jp/dev/uwsc/ ttp://park14.wakwak.com/~simizu/uwsc/fruwsc.html ttp://canal22.org/ ttp://big.tm.land.to/handbook/uwsc.htm ttp://www.game-rev.com/review/gameut/uwsc.html ●スクリプトテンプレサイト ttp://izagne.com/uwsc/ ttp://scripts.web.fc2.com/ ttp://www.nagomi-jp.net/~liners/ ttp://nem.symphonic-net.com/uwsct/0610uwsct.html ttp://siromasa.digi2.jp/uwsc/ ttp://iriyak.adam.ne.jp/uwsc.html
82 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/03(日) 18:09:32.78 ID:df3QRqvg0] ポップアップが出る前にID取得してんじゃねーの
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/03(日) 19:02:52.87 ID:mE9cDTXm0] 管理者権限のUWSCスクリプトで起動したソフトがすべて管理者権限で起動されてしまうのは防げないものでしょうか?
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/03(日) 19:03:26.55 ID:f5gfXNnl0] 自動操作では操作の成否を戻り値で受け取って一定回数再トライするのは定石よ
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/03(日) 19:05:07.65 ID:vQ3Noa3Z0] >>82 >>84 出来ました! ありがとうございます!! thread CtuPopUpClick() IELink(IE,"ログアウト") //////////// Procedure CtuPopUpClick() ID = getid("Message from webpage","#32770",-1) ClkItem(ID,"OK") Fend
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/03(日) 22:17:27.04 ID:f5gfXNnl0] >>85 邪魔なダイアログ消すだけならそれでOKなんだろうが sleep(1) flgOkWasClicked=false for loop=1 to 10 did=getid("Message from webpage","#32770",1) if did = -1 then continue flgOkWasClicked=clkitem(did, "OK") if !flgOkWasClicked then continue next ifb flgOkWasClicked then ... ということを言いたかったんだね〜 まぁ好きにやれや
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/04(月) 06:29:48.83 ID:+GhF8xfL0] >>86 修正 sleep(1) flgOkWasClicked=false for loop=1 to 10 did=getid("Message from webpage","#32770",1) if did = -1 then continue flgOkWasClicked=clkitem(did, "OK") if flgOkWasClicked then break next ifb flgOkWasClicked then ...
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/05(火) 16:38:42.74 ID:qR61SyTc0] ランチメニューのショートカットキーは無効化出来ないのでしょうか? キー割り当てに「なし」という選択肢がありません。 UWSC.INI を書き換えてもダメです。 LunchMenuHotKey= を削除すると デフォルトの Ctrl-W になってしまうし、 LunchMenuHotKey=999 とか存在しないキー番号を書くと起動時にいちいちエラーが出るし。 使わない機能のためにショートカットを割り当てなきゃならないのがツライ。
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/05(火) 16:48:10.96 ID:qR61SyTc0] 訂正: ショートカットキー → ホットキー
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/05(火) 16:54:29.69 ID:D5Dx1Flc0] デフォだとブラウザのタブとか閉じるコマンドなんだよねそれ、無効ないししょうがないから使わないコマンドに設定してるよ
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/05(火) 17:02:03.38 ID:M2OIrEtB0] 残念ながら有りません UWSC本体を常駐状態にせずにスクリプトを逐次起動すれば ショートカットを気にする必要はなくなりますよ
92 名前:名無しさん@お腹いっぱい。 [2014/08/05(火) 18:04:36.53 ID:0292bkw40] While true MSGBOX("testtest") IF CHKIMG("tes1.bmp",0,1,1,806,625) THEN BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) sleep(3.0) endif IF CHKIMG("tes2.bmp",0,1,1,806,625) THEN BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) sleep(3.0) endif IF CHKIMG("tes3.bmp",0,1,1,806,625) THEN BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) sleep(3.0) endif IF CHKIMG("tes4.bmp",0,1,1,806,625) THEN BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) sleep(3.0) endif IF CHKIMG("tes5.bmp",0,1,1,806,625) THEN BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) sleep(3.0) endif sleep(0.5) Wend 5この画像クリックして戦闘ループさせるようにしたつもりなんだけど 画像が見つかんねー ペイントで切り取って保存してキャンバスのサイズ1×1に張り付けて この書き方がまずいの?ちゃんと画像の探索できてんのかわからん
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/05(火) 18:43:48.97 ID:6loQZGsf0] その程度自分でデバッグできないとか。
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/05(火) 18:47:39.23 ID:M2OIrEtB0] 適当にレスするとCHKIMGで得られる座標は左上なので 当然クリックする座標も其処になる 其処がクリック可能じゃなければBTN関数は当然失敗する それ以前に比較用の画像が駄目な可能性もある 個別に判断していけ
95 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/05(火) 19:00:12.01 ID:niZhumv+0] >>92 ・MOUSEORGを使う ・CHKIMGが失敗した場合にSLEEP挟まずに次のCHKIMGが実行されており CPU時間を独占し対象の描画を妨害する可能性がある ・CHKIMGは可能な限り IMG_MSK_BGR4 で判定すべし ・明らかにマッチする画像がマッチしないなら、そのときの画像を保存し、 比較元と比較先の画像を800%以上に拡大して肉眼比較すべし ・画像があればクリックしTRUE、無かったり座標異常等でクリックできなければFALSEを返す 例えばCLKIMG関数のようなものを定義すれば、コード量は半分に減りテストもしやすいだろう
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/05(火) 21:31:03.70 ID:oWkOQAEl0] IE操作について質問です CSSセレクタやXPathによるエレメント指定って UWSC標準関数では実現できないと思うのですが 何かいい方法ありませんか?
97 名前:名無しさん@お腹いっぱい。 [2014/08/05(火) 22:12:08.03 ID:0292bkw40] 解決しました! やっぱり画像が一致してなかったみたいです >>93 sleep関数とmsgboxで一応デバッグしとる
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/06(水) 12:29:26.17 ID:OYZwCMgl0] CHKIMGを利用して指定画像があった場合、続いてその画像から右側の指定範囲をサーチさせるにはどうすればよいのでしょうか? 例を挙げると 画像A(画像左上角の座標がX=100、Y=100)があったら、次にそこから右の範囲(X1=110、Y1=100、X2=150、Y2=120)から指定画像を検索 要は画像Aの左上角座標からX1はX+10、Y1はY、X2はX+50、Y2はY+20の範囲を続いてサーチさせたいのです こういったことが可能であればどのように書けば良いのでしょうか?
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/06(水) 12:51:52.41 ID:J8shURq/0] 変数使えば良いんじゃね X1 = G_IMG_X + 10 とかしても良いんだぜ
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/06(水) 12:53:23.23 ID:OYZwCMgl0] なるほど!ありがとうございます。
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/06(水) 16:49:49.42 ID:Kd4DWNAs0] PC用の無線リモコンにexe化したショートカット登録して押せるようにしたらすげー便利だった 1000円の品だったから4個しか設定出来ないがこれ捗りすぎてやばいw
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/06(水) 18:59:45.71 ID:hsLYtabQ0] PCに触っている状態であればランチャー動かしたほうが早いし 欲しいけど便利な用途が思いつかん
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/06(水) 19:15:26.39 ID:J8shURq/0] USBフットスイッチでもきっと便利に使えるだろうけれど それはUSBフットスイッチの便利な使い方の一つでしかなくて 別にUWSCじゃなくてもいいし EXE化しなくても引数付きでスクリプト起動してもいいよね まぁ、嬉しい気持ちは伝わってくるよ よかったな
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/06(水) 19:39:18.22 ID:Kd4DWNAs0] もともとfoobarに使えるリモコンって買ったんだけどuwscに利用したら思わず便利だったんで書いちゃったわ、確かに無理してそれ目当てに買う必要はないな
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/06(水) 23:55:48.76 ID:h3IAvmk30] IEで、あるページを表示させて、そこに入力フォームや登録ボタンがあるかどうかを判定するにはどうしたら良いでしょうか? mailフォームと登録ボタンがあれば入力して押す。 IESetData(IE, "テストデータ", "mail") IESetData(IE, True, "", "登録する") なければ別の処理、という形にしたいのです。 ググってみたけど、どういうメソッド(?)をどう組み合わせればよいか分かりません。 教えてもらえると助かります。
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/07(木) 00:14:05.20 ID:6xUT57kM0] POS関数
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/07(木) 00:23:53.64 ID:Ft6QcBe/0] IESetDataの戻り値はなんのためにあると思っているんだ?
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/07(木) 00:34:06.84 ID:xY78+5+d0] 複数のUWSファイルを各ループ終了後に順番に開くようにしたいのですがわかりません。 現在はmain.uwsに、 while true call A.uws call B.uws call C.uws wend と記述しており、A〜C全て画像認証で特定の画像が現れたらクリックをしてループを抜けるというものです。 Aが画像認証成功したらBへ、Bが画像認証成功したらCへ、Cが画像認証成功したらAへと行きたいのですが上手く行きません。 上記の記述だと、Aをクリアした後にBに行き、応答なしになります。
109 名前:名無しさん@お腹いっぱい。 [2014/08/07(木) 02:03:52.04 ID:fKkKz5EB0] 公式サイトの掲示板で質問すれば作者が回答してくれるのに、 何でこんな便所の落書きみたいな場所で質問するの?
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/07(木) 02:33:23.60 ID:xY78+5+d0] 書き込んだ時503で見れなかったんだ・・・ 公式掲示板で聞いてみる
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/07(木) 02:54:02.97 ID:S3EPzyir0] callなんてやめて関数で1ファイルにしちゃえよ
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/07(木) 06:10:19.12 ID:E6P035jA0] [MAIN.uws] CALL SUB1.uws CALL SUB2.uws while true A() if !B() then exit if !C() then exit wend -- [SUB1.uws] procedure A() … fend function B() … result=true fend -- [SUB2.uws] procedure C() … result=true fend
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/07(木) 09:04:03.29 ID:kQCQRYI80] IF CHKIMG("AA.bmp") or CHKIMG("BB.bmp") or CHKIMG("CC.bmp") BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) その他処理 endif いくつかの画像を検索して同じ処理をしたいんですけど、 上記のように書くと、AA.bmpを見つけても、CC.bmp検索までしてるようで、 AA.bmpのG_IMG_XとG_IMG_Yの値を保持してくれないみたいで上手くいきません。 IF文を分ける以外のテクニックがありましたら教えてください。
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/07(木) 09:56:39.26 ID:S3EPzyir0] >>113 先頭に OPTION SHORTCIRCUIT
115 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/07(木) 10:55:59.57 ID:xY78+5+d0] >>108 です 調べたところ、Bの画像認証が上手く行ってなかっただけでした。 お騒がせしました。