1 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/07 10:09:50 ID:n10suy3T] Windowsを自動化させるツールUWSC。 ttp://www.h7.dion.ne.jp/~umiumi/ uwsc使いよ 己のスクリプトを晒すのだ。 長いときはうpろだ(ただの掲示板ともいう)へ。 bbs.infoseek.co.jp/Board01?user=uwscuser テンプレは下のを使うべし。 [動作OS] [目的] [必要なソフト] [調整方法] [その他] [スクリプト](うpろだにおいたときはメッセージNO.)
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/15(土) 23:26:31 ID:IyZ5dj760] >>151 ttp://www.icnet.ne.jp/~supreme/IE_HowToUse.html 必要なもの。ここから。 ttp://www.icnet.ne.jp/~supreme/
153 名前:151 mailto:sage [2005/10/15(土) 23:52:43 ID:wdK4Pf860] ありがとうございます まだ試しては無いけど、これで出来そうです
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/18(火) 11:15:51 ID:K5fWoYzi0] 36が落とせなくなってる・・・ 誰かinactive.dllください
155 名前:名無しさん@お腹いっぱい。 [2005/10/20(木) 10:03:36 ID:1hVZA9X30] よく、常駐プログラムを右クリックしたり、左クリックしたりすると、 メニューが出てきますが、あのメニューの文字を取得したりできないでしょうか?
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/20(木) 11:26:33 ID:HwdTz1dW0] 取得しなくても実際にクリックしてみれば判るじゃん。
157 名前:名無しさん@お腹いっぱい。 [2005/10/20(木) 16:14:26 ID:1hVZA9X30] >>156 クリックしてしまうと反応してしまってウィンドウも出さずに処理してしまうものです。 (「ハードウェアの安全な取り外し」の左クリックと似たような感じの動作) 何も情報がわからないままクリックしてしまうと、後戻りができないアプリなので・・・
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/20(木) 18:05:44 ID:HwdTz1dW0] クリックして出てくる内容が不定で、その内容を判断して処理を変えたいと? とりあえずWinamp.exeで確認するとかしてまずはトレイから出した状態でやってみれば?
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/20(木) 18:23:55 ID:7s5iD8J20] こんばんわ。 最近uwscをやり始めてみたものですがさっぱり分からず 簡単なものから始めてみたいとおもい、質問させてください。 例えば、「K」と「L」のキーを1度押した際に2度押した事になり Shiftを押したままの状態なら「K」と「L」を押しても2度押したことにはならない 設定というのはどうすればいいでしょうか? また、出来ればuwscをいったん停止するキーをページダウンキー 再度起動開始させるキーをページアップキーにする方法も是非教えていただけないでしょうか
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/20(木) 19:39:44 ID:1hVZA9X30] >>158 >クリックして出てくる内容が不定で、その内容を判断して処理を変えたいと? そうです。 Winamp???トレイから出す????って何です? Winampインストールする必要がありますか?
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/20(木) 22:29:56 ID:HwdTz1dW0] >>159 GETKEYSTATEだったかな? www.google.com/search?num=100&hl=ja&inlang=ja&newwindow=1&q=GETKEYSTATE+UWSC 実行制御キーは設定で変えられるかと。ヘルプ読んでくれ。 >>160 www.google.com/search?btnI=I%27m%2BFeeling%2BLucky&q=%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/21(金) 00:57:32 ID:q2gT/+TN0] >>161 ありがとうございます。 Winmapですねw 隠されたウィンドウ(多分アプリケーション本体?)を見つけることができました。 常駐アプリをクリックするとフォーカスも移るし、 Spy++で調べるとメッセージも送られてる。 メッセージには、メニューらしいウィンドウハンドルにIdleメッセージも送っている。 しかし・・・ そこからメニューの文字列に辿りつけません・・・ もう少しがんばってみます。 何かヒントがあったらよろしくお願いしますm(_ _)m
163 名前:名無しさん@お腹いっぱい。 [2005/10/23(日) 23:24:42 ID:HQjYxpWV0] excelのマクロからUWSCのファイルを開きたいのですが、 全く解りません。 ヒントだけでもよいのでアドバイスお願いします。
164 名前:名無しさん@お腹いっぱい。 [2005/10/23(日) 23:31:21 ID:bLV+haSR0] テレフォニー(パソコン電話)で接続できるまで自動で再発信出来ませんか?
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/30(日) 06:42:54 ID:oG+yRv4s0] >>163 execを使うか、createoleobjかな。 開くだけで済むなら前者、開いた後いろいろ制御したいなら後者。
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/30(日) 06:45:56 ID:oG+yRv4s0] >>165 ごめん、「マクロから」っての読み飛ばしてたorz 上は忘れてください。
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 11:58:33 ID:OG3Gw7dB0] 正規表現使ってる人みえますか? ttp://kajika.tk/kajika/?UWSC%2F%C0%B5%B5%AC%C9%BD%B8%BD ここのFioRegExp.dllを使ってるですが、長音"ー"を含む判定ができません。 スクリプトと同じフォルダにBREGEXP.DLLとFioRegExp.DLLをおいて Def_DLL Test(String, String) :int :FioRegExp.DLL if Test("メール テキスト 画像","ー") then MSGBOX("YES") else MSGBOX("NO") はエラーが出ます。 ちょっと複雑な検索をしたいので、正規表現使いたいんですが、どうすればいいんでしょうか
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 15:13:55 ID:NyFgbIbv0] >167 これじゃだめなん? re = CreateOleObj("VBScript.RegExp") re.Pattern = "ー" if re.Test("メール テキスト 画像") then MSGBOX("YES") else MSGBOX("NO")
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 19:49:32 ID:OG3Gw7dB0] >>168 うまくいきました。ありがとうございました。 こういう風に使うんですね。やっぱり勉強しないと難しい。
170 名前:名無しさん@お腹いっぱい。 [2005/11/13(日) 01:58:30 ID:Z/Udxyg90] 左クリックを押してる間、連打させたいんだけど 左クリックした瞬間しか連打しない。 左クリックが押しっぱなしか判断させる方法ってあります? while true while GETKEYSTATE(VK_LBUTTON) btn(left,click) sleep(0.01) wend wend
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 07:41:11 ID:zAepDKJb0] >>170 真ん中にBTN関数があるからマウスボタンの状態が取得できないんでしょ。
172 名前:名無しさん@お腹いっぱい。 [2005/11/13(日) 10:38:27 ID:Z/Udxyg90] だめなのですか_| ̄|○
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 20:49:26 ID:OyfNMkuv0] >>170 btn(left, click) は、btn(left, down); btn(left, up) と同じ。 マウスボタンを押し続けても、btn(left, up) で放されたとみなされ、 getkeystate(vk_lbutton) は false を返す。のだと思う そこで、次のようにしたら マインスイーパ ではうまくいった mouseorg() の第二引数は 2: 指定ウィンドウ(オブジェクト)へマウス、キー情報を直接送る で、おそらく PostMessage 等でメッセージを送るため getkeystate() に影響を与えないのではないか i = 0 while ! getkeystate(vk_esc) sleep(0.01) if ! getkeystate(vk_lbutton) then continue id = getid(get_active_win) mouseorg(id, 2) btn(left, click) i = i +1 fukidasi(i) mouseorg(0) wend
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 21:42:13 ID:Z/Udxyg90] >>173 おぉ!連打できました。 詳しい解説付きでありがとうございますm(_ _)m
175 名前:名無しさん@お腹いっぱい。 [2005/11/15(火) 00:37:29 ID:YWKrQ2TM0] 今カーソルのある場所をクリックすると言うマクロで、下のようにしたらエラーで出来ませんでした。 HELPにも座標を省略すると書いてあったのですが、どうしたらいいのでしょう? BTN(LEFT,CLICK,,,30)
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/15(火) 02:24:31 ID:j++462JD0] >>175 位置だけ省略はできないんじゃないの? 通常、引数を省略する場合は、3番目以下とか、4番目以下を省略するとかして、 ,(コンマ)で区切って好きな引数だけを省略することは出来ないと思う。 (省略例) BTN(LEFT,CLICK) 30ミリ秒待たせたいなら、 SLEEP(0.03)
177 名前:名無しさん@お腹いっぱい。 [2005/11/15(火) 19:03:40 ID:YWKrQ2TM0] >>176 できました〜ありがとん [ ]の中を個別にかとおもってますた
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/23(水) 12:16:20 ID:9eIufd4q0] 初めて使ったのですがこのソフトいいですね Window操作を細かくできるスクリプトが簡単にできる WSHとかはマウス操作が書きにくいからな〜 基本はWindowのIDをGETとして、 ボタンやテキストボックスの位置を指定して、 KBDやBTNで値入力・ボタン操作 と自分は見ました。 あとスクリプトにスクランブルかけれるのがイイ! 自動ログインのためのスクリプトですね WSHからwindow操作部分はこのスクリプト読み出して使いますよ 作者に感謝
179 名前:名無しさん@お腹いっぱい。 [2005/11/23(水) 17:40:34 ID:arLiKQzz0] すごく助かってる。良いソフトだよね。
180 名前:名無しさん@お腹いっぱい。 [2005/11/27(日) 04:39:32 ID:glElCKX60] 非アクティブのプログラムで画像判定、クリック等は出来るのでしょうか? 出来るならやり方教えてください><
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/27(日) 07:22:00 ID:gzM9r0wb0] >>180 出来る出来ないでいえば、たぶん出来る。 ただ、あなたの質問はあまりに要領を得ていなくて、可能か不可能かの判断も難しい。 わたしが、あなたのしたいことに的確に答えるには、もっと多くを聞かなければならない。 しかし出来るなら教えて欲しいなどどいう依存的な書き込みをしているところを見ると、 付属のヘルプやこのスレの全レスさえも読んでないように思える。 ここで何度もあなたとやり取りする前に、まず付属のヘルプくらい読んで欲しい。
182 名前:名無しさん@お腹いっぱい。 [2005/11/27(日) 07:41:58 ID:NCsufJLE0] 自力は大切だけど、そんなに冷たくするなよw
183 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/27(日) 08:17:16 ID:UV7YysiI0] 教えたくても状況が分からないじゃないの!と焦れてる>>181 が居るスレはここですか?
184 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/27(日) 14:39:05 ID:ymcqtwKP0] id=getid(>>181-183 ) sendstr(id," ´,_ゝ`") //ぷっ
185 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/28(月) 02:13:10 ID:ZCWcZ5mA0] >>181 いろいろググって調べはしたのですが中々見つからず このスレも一応読みました>>103 が質問を撤回しなければ・・・ と恨めしく思いながらレスしたんですけど、曖昧すぎましたねすみません バックグラウンドで動いてるソフトを非アクティブのままでマウスを持っていかれず、操作したいのです が適した関数はあるのでしょうか? また非アクティブの状態で画像判定は可能なのでしょうか? 画像判定がプログラムの中で判定しているのか現在の画面で判定しているのか分からなかったので 質問させていただきました
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/28(月) 03:27:19 ID:y58lm2DK0] すみません USWCで画像識別させるにはどうすればよいのでしょうか?
187 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/28(月) 03:29:38 ID:Rlh7zZO20] アクティブウィンドうに全く影響を与えずにやるのは難しい。 何度かその要求に応えているようだが対応はまちまち。 関数によって異なる。従って細かい動作は自分で試してみなければ ただの○投げと同じだ。まずヘルプを見て必要な関数をさがし スクリプトを書いて見て試せば良かろう。 基本はこれ。 id= getid(〜) //ターゲットのウィンドうハンドル xxx(id〜) //タゲーっとに何かの操作を行う
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/28(月) 03:31:59 ID:Rlh7zZO20] あと、クリックとか弄り系関数だけでなく状態を見る触り系の関数でも影響する。 >>186 ヘルプ余目
189 名前:名無しさん@お腹いっぱい。 [2005/11/28(月) 05:31:27 ID:F5AZC/000] >>186 chkimgのヘルプを見るとよいですよ。
190 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/29(火) 01:35:13 ID:jTcbWe4A0] >>185 CLKITEM…CLK_BACKは試した? あと、DEF_DLL…user32.DLLとか。
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/29(火) 02:22:39 ID:C40ft5g60] >>185 何のアプリケーションを裏で動かしたいのか不明だが、 もし、InternetExplorerなら>>152 を少し改造すると 表のアプリケーションに影響を与えず、HTML取得、フォームへ入力、送信ボタン押すなどできる。 改造は、 IE_CreateNewとは別に、IEtemp.Visible = FALSEの関数を用意するだけ。
192 名前:名無しさん@お腹いっぱい。 [2005/11/30(水) 00:41:41 ID:9+aU3o4H0] すみません。質問させてください。 画像判定で特定のウィンドウ内と、比較対象のBMPが 一致した際にクリック 一致しない場合にスペースキー こういった動作を行いたいのですが、うまくいきません。 実際に使う画面上でクリックとスペースを実施して そのスクリプトにCHKIMG("C:\test.bmp")をIFで 差し込んだりしてみたのですがだめでした。。。 どのようにしたらよろしいでしょうか?
193 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/30(水) 02:06:43 ID:bv2m6lYc0] //"test.bmp"は.uwsファイルと同じディレクトリ内に置く ifb CHKIMG("test.bmp")=True then どっかをクリックする処理 else どっかへスペースキーを送る処理 endif ヘルプ読んだり、ぐぐったりしなよ。
194 名前:名無しさん@お腹いっぱい。 [2005/11/30(水) 05:34:42 ID:V2sCoubw0] 質問するなら、自分の書いたコードの問題の部分ぐらい書かなきゃダメじゃね?
195 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/30(水) 05:41:04 ID:BIiDlPYr0] ほれ 一部 // 画像判定で特定のウィンドウ内と、比較対象のBMPが // 一致した際にクリック一致しない場合にスペースキー
196 名前:名無しさん@お腹いっぱい。 [2005/12/04(日) 09:42:51 ID:9+kM+hwJ0] スクランブルかけたけど、テキストで見たら元のままだった
197 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 17:29:10 ID:vSiuzfSQ0] そっかそっか
198 名前:196 mailto:sage [2005/12/07(水) 00:48:21 ID:UFI7xdnR0] できました。すいませんでした
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 18:36:16 ID:1UNKVQWg0] UWSCとFirefoxって相性悪いね。 自動化にことごとく失敗する。 UWSCってやたらメモリ食わない? メモリ違反エラーでよく落ちるし…
200 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 18:36:50 ID:1UNKVQWg0] 使用バージョンは31bね。
201 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 19:42:42 ID:pEQVbrUH0] >>199 メモリはやらせてる命令によるな
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 22:19:26 ID:1UNKVQWg0] >>201 やらせている主な命令は、 ScKey, CliItem, GetID, SendStr, GetItem, 要素数35の文字配列です。 使用目的は懸賞・ポイントサイトの自動巡回
203 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 22:21:11 ID:1UNKVQWg0] あと、GetStr と Posも
204 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/10(土) 08:54:28 ID:n+dzpQjo0] firefoxと相性よくない理由は判るだろう? マルチプラットホームで独自のコンポーネントを使っている。 キーボードとマウスの操作とfirefox自身の機能でなんとかするしかない。 あるいはfirefoxをつかってやりたい事を他の方法でやることをかんがえるべき。 UwscはCOMを導入してからサイズが膨らんだが不安定ということは無いと思うが?
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/10(土) 10:07:23 ID:QuL1PTFO0] つ・AutoHotkey つ・Windows Script
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/10(土) 10:09:31 ID:5knCdpMg0] Windows Scripting Host
207 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/10(土) 10:18:47 ID:QuL1PTFO0] >>206 www.microsoft.com/japan/msdn/scripting/default.asp
208 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/10(土) 11:08:45 ID:5knCdpMg0] わお! ハズカシス…
209 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/16(金) 15:39:37 ID:ElLG3Pj/0] アクセシビリティ用インターフェイス経由で指定したアイテム名がクリック可能かどうかを調べたり、 ブラウザで表示したHTMLに<IMG SRC="..." ALT="...">のALT=".."で指定したオブジェクトが存在しているかを 確認するにはどうしたら良いですか?
210 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/16(金) 15:46:19 ID:ElLG3Pj/0] // 漏れのスクリプト晒します id = Exec("C:\Program Files\Internet Explorer\iexplore.exe game.chobirich.com/member/game/ ") 表示完了待ち(id) ScKey(id, VK_RETURN) 表示完了待ち(id) // SSL対応ページへ移行 ClkItem(id, "SSL", CLK_ACC or CLK_BACK) 表示完了待ち(id) id2 = GetID("Microsoft Internet Explorer", "#32770") ScKey(id2, VK_RETURN) 表示完了待ち(id) SendStr(id, "1234567", 2, True, True) // 会員番号を記述 SendStr(id, "********", 3, True, True) // パスワードを記述 ScKey(id, VK_RETURN) 表示完了待ち(id) Ifb ClkItem(id, "今すぐ参加する!", CLK_ACC or CLK_BACK) = True then 表示完了待ち(id) EndIf
211 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/16(金) 15:47:28 ID:ElLG3Pj/0] // 続き For i = 1 to 99 Ifb i < 10 then istr = Chr(Asc("0") + i) Else i1 = i MOD 10 i10 = (i - i1) / 10 istr = Chr(Asc("0") + i10) + Chr(Asc("0") + i1) Endif Fukidasi( istr, 0, 0) Ifb ClkItem(id, istr, CLK_ACC or CLK_BACK) = True then Sleep(0.2) 表示完了待ち(id) Print "ちょびリッチBINGOで獲得したナンバー:" + istr Endif Next // 忘れずにビンゴ成立ボタンをクリックしてね! ExitExit // ステータスバーにて表示完了を確認 Procedure 表示完了待ち(id) Repeat Sleep(0.2) Until GETSTR(id, 1, STR_STATUS) = "ページが表示されました" Fend
212 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/18(日) 00:51:21 ID:RHG84hgg0] uwscでFlashプラグインのボタンをマウスでクリックさせるにはどうすればよろしいでしょうか?
213 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/18(日) 01:51:41 ID:MKclPt0H0] ブラウザの自動化だったらUWSCじゃなくても他に良いのあるのに
214 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/18(日) 02:26:37 ID:lyUr9KZJ0] どこドアと組み合わせて使おうとしたけど無理だったorz...
215 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/18(日) 03:57:20 ID:H4/2mwIz0] 多次元配列の初期値代入ってどうすればいいのかな?
216 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/18(日) 13:57:16 ID:Kecd+d4z0] xxx=xxxx :
217 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 01:30:14 ID:ZjCmaT9z0] ちょっと質問です。 関数を別スクリプトに書き出して、それをインクルードする事ってできますか?
218 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 08:38:53 ID:eo44YHUa0] call mylibs.uws メインプログラムを空にしておく。
219 名前:217 mailto:sage [2005/12/22(木) 11:41:56 ID:ZjCmaT9z0] >>218 できた!! ありがとう。
220 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 22:45:07 ID:3gMyxu7G0] 質問なのですがこのソフトは 「指定したキーを押したときにだけ指定した文を実行する」 といったホットキー的な使い方はできるのでしょうか? 複数設定できるとうれしいのですが・・・・
221 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 23:23:34 ID:W0pCBqPZ0] 出来る。
222 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 23:23:37 ID:eo44YHUa0] 常駐させとけばできる。 トレイアイコンからならクリックから設定。 ただしホットキーでメニューが出るからどうしても2ストローク以上になる。 その他の方法ならスクリプトのショートカットにWindowsのホットキーを設定するとか。 あとはgetkeystate関数使ったスクリプトを常に走らせておいて分岐させるとか。 getkeystate関数のサンプルはヘルプの該当個所に載っている。
223 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 01:25:23 ID:LjbDDxFG0] みんなの使い方教えてよ!
224 名前:220 mailto:sage [2005/12/23(金) 09:33:08 ID:SOJzh/JQ0] >>221-222 返答ありがとうございます とりあえずWindowsのホットキーに割り当ててやってみます
225 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 10:10:47 ID:r6LU+bNX0] >>223 fukidashi("( ´,_ゝ`)")
226 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 13:34:55 ID:ND2z3ckW0] >>220 ,224 AutoHotkeyのほうが相応しいと思う pc7.2ch.net/test/read.cgi/software/1129836713/
227 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/24(土) 12:31:21 ID:9Ejvr4ta0] スケジュール設定の式による設定でお聞きしたいのですが 30分以内の間隔で時間をランダムに実行 例えば15分後の次は28後に実行してその次は7分後に実行みたいな感じ というのをやりたいのですが (YMDNN mod random(30))=0 では出来ませんでした スケジュールの設定では無理なのですか?
228 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/24(土) 14:05:20 ID:dwHU4rhj0] >>227 Ver3.101だが使える変数は↓の通りとなっている。 YY(西暦年) MM(月) DD(日) HH(時) NN(分) 従って、秒単位でのスケジュールは無理。 組み込み関数も使えない。 従ってrandom()は使えない。 ・対応方法1 スケジュール用のスクリプトを走らせておく。 while TRUE Gettime() If G_TIME_NN mod 30 =Random(30) Then xxxx Wend ・対応方法2 スケジュールを1分毎のインターバルで起動し スクリプト中で実行可否の判定をする。 タだし多重起動しないようにするには面倒な仕組みが必要 ※個人的にはスケジューリング機能は中途半端に思えるので仕様変更して欲しい。 例えば数式判定ではなくスクリプト実行による判定にするとか スケジュール設定自体をスクリプトから変更できるとか…。 あるいは小さなスケジューラを別に用意するとかの根本的変更でもいいと思う。
229 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/26(月) 07:44:56 ID:RI2IZ0G60] >>228 ありがとです なんか設定からは無理そうとのことなので 設定で15分間隔起動にして スクリプトの先頭ににSleep(random(890))って(-10秒は多重起動防止) とりあえず入れてみましたが これって1(0?)-30分間隔でランダムになります? なってるような気がするけど 実際は真ん中へんが(15分を中心にして)多いってことありますか?
230 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/26(月) 14:54:27 ID:3Ai+UouZ0] >>229 ●検証 まずスケジューリングの動作の検証をしてみた。 // SCRIPT-A Gettime() Print "THIS IS SCRIPT-A" + G_TIME_HH + ":" + G_TIME_NN // SCRIPT-B Gettime() Print "THIS IS SCRIPT-B" + G_TIME_HH + ":" + G_TIME_NN Sleep(2*10) //2分待ち このふたつのスクリプトを1分ごとに実行するスケジュールにしたところ 最初の0秒には両方が実行されたが、1分経過後はどちらのスクリプトも 実行される事はなかった。つまり両方のスクリプトが2分毎に実行される。 つまりスケジューラの動作は単純で指定の時間実行になると実行フラグ を立てるか、実行カウンタをカウントアップするだけのようにみえる。 これではたくさんのスケジュールを組み込んだ時に思ったように動いて くれないと言う事になってしまう。更に問題なのは、スリープを入れた スクリプト実行中にはUWSCのコンテキストメニュー操作が全く出来ない事。 これらの事からスケジュール実行するスクリプトに長いSleepを入れるのは 非常に問題でやってはいけない事と考えた方がイイ。 次につづく…
231 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/26(月) 15:46:34 ID:3Ai+UouZ0] >>229 つづきはちっと待ってね。 あと訂正 >>230 の訂正 スクリプトB Sleep(2*10) //2分待ち ↓ Sleep(2*60) //2分待ち
232 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/26(月) 17:10:56 ID:3Ai+UouZ0] >>229 すまん、ちと忙しくて遅れた。>>230 のつづきです。 ●多重起動方法 多重起動はされない事は判った。しかし逆にそれが問題になってしまうので 今度は多重起動する方法を考えてみた。といっても単純に別プロセスで動かす だけだが。↑のふたつのスクリプトをスケジューラに登録する代りに、↓の スクリプトだけをスケジューラに設定する(1分毎)。 // Rounch.uws - スケジューラから1分毎に呼び出し特定のプログラムを起動する Exec("uwsc Script-A.uws") Exec("uwsc Script-B.uws") 別プロセスで動くため問題なく動作する。これで時間調整にSleepを自由に 使える事ができるようになった。 あとは問題の要望をどうやって実現するかだがとりあえずここまで。 ※このスクリプトはスクリプトがUWSC.EXEに関連付けられている事、全ての スクリプトが同じディレクトリにある事を前提としているので、そうでない 場合はエラーが出るかもしれない。その場合はフルパス指定してください。 カレントディレクトリやUWSCのあるディレクトリは特殊編集GET_CUR_DIR、 GET_UWSC_DIRが利用可能。
233 名前:232 mailto:sage [2005/12/26(月) 17:14:05 ID:3Ai+UouZ0] あ、重大な問題点忘れてた。多重起動の問題。 それはあとでつ〜事で。 じゃ。
234 名前:232 mailto:sage [2005/12/26(月) 20:41:21 ID:3Ai+UouZ0] 232のつづき ●スケジューラを作る 上のやつだとScript-Bが多重起動されるんだけど、これは単にROUNCH.UWSの 起動スケジュール間隔(1分)を超えてSCRIPT-BがSleepしてるからというだけ。 このSleepはSCRIPT-BでスケジューリングのためにSleepするという前提で入れたもの だけど、スケジューリングをROUNCH.UWSにあたるスクリプトで行うようにすれば その必要はなくなる(SCRIPT-Bは好きなようにつくれる)。 と言う事でROUNCH.UWSをスケジューラとして作りかえる事を考えてみる。 例えばScirpt-Bを5分間隔のあいだに一度だけランダムな時間に呼び出す スケジュールを想定すると次の様になる(だろう…)。 // Rounch.uws - 1分毎に起動されるスケジュラー // Inerval_b 5分間隔のタイマ // Trigger_b SCIRPT-Aを起動するタイミング(分) If Interval_b=Trigger_b Then Exec("Uwsc SCRIPT-B.UWS") // SCRIPT-B起動 IfB Interval_b=0 Then // インターバル満了 interval_b=5 // インターバル再設定 Trigger_b=Random(5+1) // SCRIPT-B起動タイミング更新 EndIf interval_b= interval_b - 1 なお、このスクリプトは重要な初期化が出来ない事。UWSCのスケジューラに1分毎に 呼ばれる度に重要な変数が消滅する事、等の理由で実際には動作しない。 またつづく
235 名前:232 mailto:sage [2005/12/26(月) 20:45:13 ID:3Ai+UouZ0] 234のつづき ●最後の手段(結論) これを解決するにはどうすればよいか…答えは簡単。UWSCのスケジューラを全く 使用しなければよい。例えば上のROUNCH.UWSを次の様に繰返し実行するだけでも 概ね正しく動くはず。 // Rounch.uws - 1分毎に起動されるスケジュラー Inerval_b= 5 // 5分間隔のタイマ Trigger_b= Random(5+1) // SCIRPT-Aを起動するタイミング(分) While TRUE If Interval_b=Trigger_b Then Exec("Uwsc SCRIPT-B.UWS") // SCRIPT-B起動 IfB Interval_b=0 Then // インターバル満了 interval_b=5 // インターバル再設定 Trigger_b=Random(5+1) // SCRIPT-B起動タイミング更新 EndIf interval_b= interval_b - 1 Sleep(60) Wend ただしこれは時間がずれる。割り込み処理じゃあないので面倒なタイマなどを使わず Gettime関数で単純に比較すればより正確なうえにスクリプトも単純になる。 ※UWSCのスケジューラはあくまでも簡易的なものなので、どうすればいいか迷ったら 使わないのがベストの選択。
236 名前:名無しさん@お腹いっぱい。 [2005/12/28(水) 02:30:42 ID:D7XKa0wU0] UWSCで色判定するにはどうすればいいのでしょうか・・・?
237 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/28(水) 07:18:17 ID:D9aV3OQH0] 公式サイトにあるサンプルを見れば応用出来そうなものを見つけられると思うけれど。
238 名前:名無しさん@お腹いっぱい。 mailto:age [2005/12/28(水) 16:48:30 ID:ERBE/QTH0] >>193 と似ていて 指定したswfファイルがあったらクリックするようにはできるのですか? bmpファイルだったらできるらしいですけど・・・
239 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/28(水) 17:58:11 ID:G6K532qT0] そんなレベルじゃ辛いだろうね…。
240 名前:名無しさん@お腹いっぱい。 [2005/12/28(水) 18:16:17 ID:ERBE/QTH0] からいか・・・・
241 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/28(水) 18:58:53 ID:+6pC+EGE0] そんな知能じゃ辛いだろうね…。
242 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/28(水) 23:45:46 ID:UBHNE+270] >>238 >>193 とはぜんぜん似ていないと思うぞ。 ブラウザの話だろ?
243 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/29(木) 01:27:38 ID:zRAUHfp50] そっとしといてやれ
244 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/02(月) 14:07:13 ID:tcGJFMHh0] for i = 1 to 10 hoge = "vk_"+ i kbd(hoge) next キーボードで1〜10までの数字を入れるとき 上の方法だとアボーン これをやるにはどうすればいいの?
245 名前:名無しさん@お腹いっぱい。 [2006/01/02(月) 14:18:27 ID:WUqFTW9i0] >>244 どの時点で止まってるかは知らんがパッと見 10という数字がキーボードにあるのかどうかが疑問 まずはキーコードを[記録]で取得してみて
246 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/02(月) 18:06:41 ID:82Cnd7xG0] >>244 FukidasiI("ウィンドウを選んでアクティブにしてください") id= GetID("GET_ACTIVE_WIN") While id = GetID("GET_ACTIVE_WIN") Sleep(0.1) Wend Fukidasi("行きます") Sleep(1) Fukidasi() Dim NumKeytbl[10]=VK_0,VK_1,VK_2,VK_3,VK_4,VK_5,VK_6,VK_7,VK_8,VK_9 For i=1 to 20 c0= i mod 10 c1= int(i/10) If c1>0 Then kbd(NumKeyTbl[c1]) Kbd(NumKeyTbl[c0]) Next
247 名前:名無しさん@お腹いっぱい。 [2006/01/10(火) 09:37:06 ID:+FlrBM+H0] Donut LをCOMオブジェクトにしたいんだけど、、できる?
248 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/10(火) 13:22:29 ID:7kLILI1+0] 多次元配列の初期化はどうやるのよ? ヘルプにも載ってねぇよ。 だれかうまく行ったヤツ報告きぼん。
249 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/11(水) 14:51:38 ID:7VfZQEmq0] めっちゃ初歩だけど CTRL+左クリックとgoto?系の書き方 教えてくれorz
250 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/11(水) 15:23:50 ID:emNeSkPN0] CTRL+クリックした時のメッセージを調べてそれを送る。 単にWINDOWSに送るなら MMV(x,y)で適当にポインタ合わせて KBD(VK_CTRL、DOWN) BTN(LEFT,CLICK) でよくないか? 後藤恵は無理。
251 名前:名無しさん@お腹いっぱい。 [2006/01/12(木) 00:11:09 ID:R/GKonpb0] Donut Lでも、COM使いたい。。。 できない?
252 名前:249 mailto:sage [2006/01/12(木) 00:56:59 ID:03fQZprA0] >>250 単純なことに気づかなかったなorz ともあれ サンクス!!