1read 100read
2011年10月1期ソフトウェア自動化ツールuwsc使いよ集まれ7
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
madVR Part1 foobar2000質問スレ Part21 Mozilla Thunderbird Part19 Windows Live Writer
自動化ツールuwsc使いよ集まれ7
1 :11/08/04 〜 最終レス :12/01/11 Windowsを自動化させるツールUWSC。 http://www.uwsc.info/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。
2 : ●質問したい方へ。 「○○作れますか?」→ スクリプトを期待するのはお門違い。作れるか作れないか教えてくれる人はいるかも。 「○○が作りたい」→ 自分作ればいいんじゃない? 「○○作って下さい」→ 依頼スレじゃありません。 過去ログを見る、検索する等、自分で出来る事を書き込む前にするように。 自力で作ったのを晒すか、具体的な解らない場所を提示して、改善点や解決策を求めるようにしましょう。 ●スクリプトを晒す上での注意 他人が読みやすいようにインデントを付けるように。解らない人はググレ。 (タブインデントは使えないんだぜ 全角スペース等に 変換しておくべし) 言いたい事に関係無い部分は 〜○○の処理〜 や 処理A 等のようにし、 必要な部分を晒すようにする。 ●他人の書いたスクリプトを安易に実行しないように。 ハードディスクをフォーマットされたりしても、自己責任。 前スレ 自動化ツールuwsc使いよ集まれ6 http://hibari.2ch.net/test/read.cgi/software/1291347103/
3 : 3 名前:名無しさん@お腹いっぱい。:2010/12/03(金) 12:34:36 ID:W92a0hyv0 UWSCスクリプトの解説(初歩の初歩) ttp://big.tm.land.to/handbook/uwsc.htm UWSCで自動化 超速!! Windows マクロテクニック ttp://izagne.com/uwsc/ 解決マクロマン ttp://blog.livedoor.jp/uwsc/archives/cat_50008789.html SCRIPTS ttp://scripts.web.fc2.com/ UWSCサンプル集 ttp://www.nagomi-jp.net/~liners/uwsc_sample_page.htm UWSCの誘惑 ttp://nem.symphonic-net.com/uwsct/0610uwsct.html UWSCの落し物部屋 ttp://siromasa.xxxxxxxx.jp/
4 : カウンタを「1 To 10」という表記ではなく「01 To 10」という表記で行いたい(カウンタの文字をそのまま展開して使用したいためです)のですが、なにか簡単な方法はないでしょうか?、
5 : 10より小さかったら頭に0を付ける処理を挟めば良いんじゃない?
6 : ちなみにUWSCでは数値型→文字列型は自動変換されるから 意識する必要はない(逆はVAL関数を使って変換する必要がある)
7 : ↓または↑をランダムに1〜6回キーを動作させるスプリクトってないでしょうか?
8 : これを応用すればうまくいきそうなんですけどうまくできずorz // キーボードからのキーを一文字づつずらす #n45 for k = VK_A to VK_Y SETHOTKEY(k, ,"fuckey") // AからYまでキー登録 next Sleep(100) for k = VK_A to VK_Y SETHOTKEY(k) // 解除 next // 一文字ずらす Procedure fuckey() KBD(HOTKEY_VK+1) Fend
9 : random関数で乱数作って適当に分岐させればいいんじゃないの?
10 : 画像がariになったらクリックしてnasiになったらまたワンクリックだけしたいんのですが 下の方法だとariの画像の時に連打になってしまいます どこが間違っているのか指摘お願いします While True Ifb ChkImg("ari.bmp",0) BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,80) Ifb ChkImg("nasi.bmp",0) BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,80) ELSE continue ENDIF ENDIF WEND
11 : >>10 ほらインデントのないネストはメンテナンス性質
12 : >>11 ほらインデントのないネストはメンテナンス性悪いだろ?(2chというかHTMLは基本タブ効かない) 途中でカキコしちゃった
13 : 行頭半角スペースと連続した半角スペースもな
14 : JavaやFlashの動くブラウザゲームをしてると、たまになにかのひょうしに固まってしまう時があります。 そんな時に、何秒かフリーズしたら直前の動作をやり直す、というようなスクリプトはないでしょうか?
15 : >>7 こんな感じ? OPTION EXPLICIT click_down_or_up() PROCEDURE click_vk_down_or_vk_up(n=6) DIM i FOR i=0 TO RANDOM(n) IF RANDOM(1024) MOD 2 THEN KBD(VK_DOWN) ELSE KBD(VK_UP) NEXT FEND
16 : すみません、プロシージャ呼び出しのとこ間違えました click_down_or_up() => click_vk_down_or_vk_up()
17 : >>15 思った通りの動き方してます! すばらしいです。 どうしても手動でやらなければならないところが自動化できるようになりました。 本当にありがとうございます。 こういうの普通にできるようになりたいなぁ。
18 : それってこれだけでいいような気が FOR i=0 TO RANDOM(6) IF RANDOM(2) THEN KBD(VK_DOWN) ELSE KBD(VK_UP) NEXT
19 : FOR i=0 TO RANDOM(n) これって均等にランダムにならなくないか? n に近くなるほど回る確率が下がると思うんだけど あと、カウンタ変数の開始値を1にしないと、 引数で指定した数より1回多く回っちゃう可能性があるよ
20 : > n に近くなるほど回る確率が下がると思うんだけど 意味不明 > 引数で指定した数より1回多く回っちゃう可能性があるよ 0≦random(n)≦n-1
21 : ある一定回数画像(複数)を見つけられないとループを抜け出すようにする方法はありませんか?
22 : 超基本的文法レベルの質問する奴ってなんなの?
23 : 1bitな質問くらい答えてやっても
24 : この程度が出来ないと後々質問厨になるだけだな
25 : 初心者スレ作って隔離するしかないだろ 作っていいか?
26 : こんなに過疎ってるのにスレ分けるってのもなぁ
27 : 俺もそう思うけど、初心者レベルの質問が気に食わない奴もいるんだしな
28 : 初心者質問ってよりゲームマクロの質問する奴を分けろ。 最近のお馬鹿な質問全部ゲームマクロ関係だろ。
29 : 今時間指定でプログラムの実行をするために 常に時計を表示させておいて、コピー→if clipboard = 指定時間 みたいにしてるんだけどもっといい時間指定ないかしら
30 : >>29 GETTIME使えば?
31 : uwscのリファレンスってないの? どこのサイト見ても中途半端で困ってる ie操作系の命令文が全て載ってるサイト教えて
32 : >>31 uwscのIE操作のコマンドはヘルプに全部載ってる IEのCOM操作のことならMicrosoftのサイトを見ろ
33 : メールソフトのサンダーバードへ指定のメールを受信させた時にある動作をさせるようにがんばってるんだけどなかなか難しい。 UWSCでそもそもできるものなのですかねぇ。
34 : 特定のソフトに表示されてる数字を読み込むコマンドってありますか? PosAcc(id,x,y,ACC_BACK)だとうまくいかないみたいで
35 : >>30 ありがと 普通に使えた
36 : >>34 GETSTR
37 : 公式FAQに ”再生時に ウィンドウが出るのをスクリプトが待ち切れずに実行されて おかしな事になる #n8 スクリプト内のGETID関数に第3引数(待ち時間指定)を付けてください。 GETID("xxxx", "xxxx", -1) // -1:画面が出るまで待つ” とありますが待機時間を-1にするとUWSCの中ではどんな動作がされているんでしょうか。 待ち時間だので40とかを指定するべきではないのすか?
38 : -1というのは「画面が出るまで待つ」という意味です。 例えば信号に例えてみましょう。 「信号が緑になったら横断歩道を渡る」という場合にあなたは 「緑になったら信号を渡る」 「40秒後に渡る」 のどちらですか?後者だと最悪、死にますよね。 -1はウィンドウが生成(表示)されたらIDを取得する、という事を意味します。
39 : >>38 やばいっす 最高っす ありがとうござまんた!
40 : つうかそれくらいヘルプ見ろよw
41 : >>38 なんか例えおかしくない? 待ち時間40秒ってのは最大じゃないの? 「40秒経って緑にならなければ諦める」なのでは?
42 : >>41 あきらめた瞬間次の行に進んでる。 あきらめる、で想像する事が 「強制終了する」だったり「それはそれとしてエラー処理して回避」だったりして、 人によって想定が異なるだろうけど
43 : uwsc書くときみんなテキストエディター何使ってるの mery
44 : uwscを使いこなすためには何を勉強すればいいのかな? while true〜wendを複数作って、あちこちに飛ぶっていうのすら作れないレベルだけど・・・
45 : 勉強がしたければ Small Basic 使え 初心者の俺が初めて覚えるプログラム言語 ttp://hibari.2ch.net/test/read.cgi/tech/1169756560/243 > いいからこれやっとけ。 > ttp://home.jeita.or.jp/is/highschool/algo/game/index.html > >>243 の体験ゲームも午前中で全部解けたし。二重丸取れなかったのも4/43あるけど。 ってレスしたの俺だけど、元本職プログラマ。 専門学校卒で記憶喪失しまくりなのでかなり底辺だけどそれくらいはできる。
46 : NotMultiplex=を0にも-9にもしても多重起動が出来ない。 UWSCの落し物部屋でこれで駄目だったら分からないと書いてあったから 望みは薄いのだろうけど何か知ってる人いたら教えてください。
47 : >>46 勘違いしてるかもだけど、 UWSC.exe自体は多重起動できないみたいよ。 (NotMultiplex=0でスクリプトの多重起動は可能)
48 : 完全に勘違いしてた。ありがとう
49 : 3分おきくらいにあるサイトを巡回して、ある特定のキーワードが出現した時だけ、それをメールで知らせてくれるマクロは作れますでしょうか?
50 : 頑張れば作れます
51 : uwscじゃないほうがいい
52 : メールはどこかのWebメールを使うか、メールソフトを操縦する形になる。 自分でメールサーバー立てて転送しようと思っても、受け付けてもらえないように、ずいぶん前からなってるらしい。 つまり、プロバイダのアカウントなしに送信できない。
53 : >>52 ありがとうございます ウェブメール使用での簡単な作成方法はありますでしょうか?
54 : >>53 かんたんでもないけど、有料版の試用期間を使って IEでメール送信する操作を録画するとある程度再現できるんじゃないかな。
55 : // ■■■設定開始■■■ URL = "http://www.google.co.jp/ " // 検索対象URL Search = "○○○" // 検索文字 Count = 180 // 文字が見つからなかった場合の待機時間 GmailID = "○○○" // ログインID GmailPASS = "○○○" // ログインPASS TO = "○○○@gmail.com" // 宛先 SUB = "TEST" // サブジェクト BODY = "テストメール" // 本文 // ■■■設定終了■■■ IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate(URL) Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) end = 5 repeat ifb POS(Search, IE.Document.Body.InnerText) > 0 THEN IE.navigate("https://mail.google.com/mail/h/ ") Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) IESETDATA( IE, GmailID, "Email" ) IESETDATA( IE, GmailPASS, "Passwd" ) IESetData( IE,True,"signIn") Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) IELINK(IE,"メールを作成") Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4)
56 : IESetData( IE, TO,"to") IESetData( IE, SUB,"subject") IESetData( IE, BODY,"body") IESetData(IE,True,"nvp_bu_send","送信",2) Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) end = -5 EXITEXIT else Count2 = Count for i = 1 to Count if GETKEYSTATE(VK_END) then exit Count2 = Count2 - 1 sleep(1) Fukidasi("リロード待機中 " + Count2 + "<#CR>ENDキーで終了", 50, 50 ) next IE.document.location.reload(true) Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) endif until (end < 1)
57 : >>53 改行大杉で2つに分かれちゃったけど。 指定したURLを監視して、特定文字列があればGmailで指定のアドレスにメール送信。 文字列が見つからなければ、指定秒数後(若干の誤差あり)にリロード。 一応動作検証はしたけど、ダメならごめんかな。
58 : テンプレ読み直しちまったぜ・・・
59 : ところで、昔のスクリプト動かそうとしたら「次元数が合いません」とかいうメッセージが出て動かなかった。 履歴検索すると ==================== Ver 3.1 版 ====================== 05/03/26 多次元配列への初期値の代入を出来るようにした くらいしか見つからない。 たったこれだけのコードなのに dim s[][2] = 1,2,3,4,5,6,7,8,9
60 : 同じウィンドウタイトルのアプリケーション(1-5くらいで不規則)に ctrlキーを高速で連打するいい方法ある? 今はウィンドウタイトルを別のアプリで変えて手動で認識させてる id1 = getid ("notepad1") id2 = getid ("notepad2") あとかなり高速で連打する必要があるんたけどmouseorgってスレッドで同時に使えない? スレッドじゃなきゃうまくいくんだけど…
61 : >>60 GetAllWin スレッドでできるか?試せば分かるだろ。
62 : >>61 数が毎回違うのと同じ名前のウィンドウを区別する方法が分からない… スレッドで下の奴を呼び出すとうまくいかない スレッドじゃなく連続的に動かすのはokだった PROCEDURE 連打(windowID) MOUSEORG(windowID,2) KBD(VK_CONTROL,CLICK,10) FEND
63 : >>62 は?IDが違うだろ。 スレッドでうまくいかないならプロセス分けたら? EXECで呼び出し、ウィンドウハンドルを引数に渡す。 ハンドルはIDTOHWNDでハンドルにできる。 受け取ったほうはHWNDTOIDでIDにできる。
64 : もしこのウインドウが出てた場合にはこうするという動作はどう打つんでしょうか。 ヘルプサイトに載ってたはずですがどうにも見つからなく、教えてくださいませ・・ IFB getstr(ID("ウィンドウタイトル")=true みたいな感じだったと記憶してます。 またウインドウ変更時にACWを使うと最大化が解除されるため CTRLWIN(GETID("ウィンドウタイトル"),max) CTRLWIN(GETID("ウィンドウタイトル"),activate) を使い二行消費させてますが一行で動作させる命令はありますでしょいか。
65 : ACWは座標とか省略したら触らずにやってくれるんじゃない?
66 : アクティブウインドウの件に関しては事故解決しました。 CTRLWIN(GETID("ウィンドウタイトル"),max,activate) とすることで一行で済みました。 ACWは最小化されてるウインドウに聞かないので使いませんでした
67 : 特定色を画面から検出するのにPEEKCOLOR()ではなく 高速化のためにアセンブラレベルでの取得方法ってありますか?
68 : >>67 あるよ
69 : FAQの「バックグランドで動かしたい」のところにあるスクリプトではうまく行きましたが いざ自分で組んでみるとうまく動きません。 何が間違ってるか教えて下さい id = GETID("まとめまとめ") MOUSEORG(GETCTLHND(id,"Chrome_RenderWidgetHostHWND"), 2) BTN(LEFT,CLICK,583,335,109) 以下のサイトの新着一覧の下の広告をクリックさせるテストスクリプトです (http://matome2ch.hikoneko.net/)
70 : バックグラウンドで動作 の程度がショボカッたので辞めました
71 : http://www8.puny.jp/uploader/download/1315732563.avi
72 : if関数で その処理がTHENになるまでそのifを繰り返すというのはどうすればいいんでしょう?
73 : WHILE ifb THEN ●● ELESE WEND endif 上手くいきません
74 : WHILE ifb THEN ●● ELSE CONTINUE endif WEND 多分これでいけるはず
75 : syntax Error WHILE とでて上手くいきませんでした ありがとうございました。
76 : thenになるまでって意味不明
77 : Aの画像をクリックした後に3秒間下にスクロールしてBの画像をクリックという作業をやりたいのですが 下にスクロールさせるにはどうすれば良いでしょうか?
78 : >>77 お前はどうやってスクロールしてるんだよ。
79 : 普通にbtn(wheel, -20000)で行けましたありがとうです
80 : >>72 そもそも条件を満たすまで繰り返しってのは repeat〜untilがそれそのものだろう
81 : 「timeout:busy wait」とかいう小さなダイアログが出て停止してしまうのですが、 これが出た場合、直前の処理にまで戻って再度実行するには、どう書いたらいいでしょうか?
82 : ある特定の文字を見つけたらクリック、という作業をさせたいのですが 画像認識させる方法以外で何か良い方法ありませんか?
83 : >>82 >>55-56 の文字サーチ使ったらええやん
84 : >>83 ごめんなさい説明が悪かったかもしれないので訂正します 検索エンジンを使って文字を検索するのではなく既に開いてあるウェブページから文字列を抽出しクリックさせたいです
85 : tst
86 : >>84 IELINK(IE,"文字列")
87 : >>86 ありがとうです
88 : uwsc4.7にてMOUSEORG基準指定2でMMV()を使いたいのですが全く動きません 過去スレを見ると4.2以降は完全無視されるって書かれていますが 何か方法はありませんでしょうか。 他人が作ったゲームマクロなんですが、その中で指定している座標位置を視認したく マウスカーソルで確認できないかと思ったのですが…
89 : 座標確認したいだけなら基準指定2を外せばいいじゃん
90 : >>89 Flashコンテンツ上で開くウィンドウ内の座標を確認したいので基準指定2を外すと 絶対座標?になってしまって画面外にカーソルが。。
91 : WHILE TRUE IF GETKEYSTATE(VK_ESC) THEN EXIT REPEAT なんとか UNTIL CHKIMG("画像.bmp") REPEAT なんとか UNTIL CHKIMG("画像.bmp") Call 名前.uws ENDIF WEND て感じで書いてみたんですがIF GETKEYSTATE(VK_ESC) THEN EXITが発動しません なんででしょうか?
92 : REPEATとUNTILの間にIF GETKEYSTATE(VK_ESC)が無いから WHILE TRUE IF GETKEYSTATE(VK_ESC) THEN EXIT REPEAT IF GETKEYSTATE(VK_ESC) THEN EXIT なんとか UNTIL CHKIMG("画像.bmp") REPEAT IF GETKEYSTATE(VK_ESC) THEN EXIT なんとか UNTIL CHKIMG("画像.bmp") Call 名前.uws ENDIF WEND
93 : ありがとうです
94 : call文を作って開こうとしたら FILE Not Found って言われるんだけど何でだろ 呼び出したいUWSは同じフォルダにあって 開くUWSは call ○○○ だけなのに
95 : おぉう…次はsyntaxerrorとでた PROCEDURE:パス→ファイル名 PROCEDURE:パス→ファイル名() どういうことなんだ…
96 : >>95 ファイル名に、ファイル名(1)等使えないんじゃなかったかな 文字をチェックしてクリックさせたいんだが、透過してる文字を上手く認識出来ないんだ 何か良い方法ないだろうか
97 : MMVとBTNのみで指定座標にポインタ持って行って左クリックする単純なマクロ組んでみたんだけど マクロ動作が一回終わると、マウスポインタの位置が終了地点にあった場所のままになるのが不便です 終了時に、開始時にあった場所までマウスポインタを移動させることは出来ないでしょうか? マウス位置は毎回決まっていないので絶対座標や相対座標での指定ではどうしても対応できません
98 : 何がわからないのかがわからない。 開始時の座標に移動すればいいだけじゃないの?
99 : >>97 G_MOUSE_XとG_MOUSE_Yを使えば良い
100read 1read 1read 100read
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
madVR Part1 foobar2000質問スレ Part21 Mozilla Thunderbird Part19 Windows Live Writer