[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/17 15:00 / Filesize : 261 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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
ともあれ サンクス!!






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<261KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef