- 1 名前:ミスターユーダブリューエスシー [2008/01/14(月) 14:47:14 ID:VrXr82Zu0]
- 公式サイト
www.uwsc.info/ 1 pc7.2ch.net/test/read.cgi/software/1107738590/ 2 pc11.2ch.net/test/read.cgi/software/1156416884/ 3 pc11.2ch.net/test/read.cgi/software/1176358142/ 「UWSC」を含む日記 - はてなダイアリー d.hatena.ne.jp/keyworddiary/UWSC UWSCの落し物部屋 siromasa.xxxxxxxx.jp/dl/_dl.html UWSCの誘惑 ochoja.web.fc2.com/uwsct/0610uwsct.html
- 2 名前:名無しさん@お腹いっぱい。 [2008/01/15(火) 00:48:48 ID:6WQevle80]
- キタ━━━━━━m9( ゚∀゚)━━━━━━!!
- 3 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/15(火) 11:48:23 ID:qSysXr2n0]
- 同様の機能を持ったフリーソフト
AutoIt www.autoitscript.com/autoit3/ WindowController chi.usamimi.info AutoHotkey www.autohotkey.com pc11.2ch.net/test/read.cgi/software/1184556627/
- 4 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/15(火) 14:31:49 ID:YTAr/5jI0]
- こんにちは、教えて君ですみません<(_ _)>
UWSCで作られたe.xeファイルのUWSCスクリプトのソースを見る方法って ありますか?知ってらっしゃる方教えてください。
- 5 名前:名無しさん@お腹いっぱい。 [2008/01/16(水) 10:02:29 ID:KDV0+Mn+0]
- 先にこっち使おうよ・・・
pc11.2ch.net/test/read.cgi/software/1176677869/
- 6 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/20(日) 07:29:39 ID:mKnsvmOl0]
- 荒らしに親身になって答えるのは親切でもなんでもない。
その荒らしを居つかせ、更なる同類の荒らしを呼び込む。 そのことに気付いてください。
- 7 名前:名無しさん@お腹いっぱい。 [2008/01/20(日) 15:36:22 ID:HGvEXPwB0]
- 新スレキタ━━━━━━m9( ゚∀゚)━━━━━━!!
- 8 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/20(日) 17:31:03 ID:/h9BPzq00]
- <html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta http-equiv="Content-Language" content="ja"> <title>IEGetSrcのテスト</title> </head> <body> <form> <p> タ グ <input type="checkbox" name="C1" disabled="disabled"><input type="text" name="T1" size="82" onclick="this.select()" value="body"> 番号<input type="text" name="TNUM" size="7" onclick="this.select()" value="1"><br> 前方文字<input type="checkbox" ID="C2" name="C2" disabled="disabled"><input type="text" name="T2" size="53" onclick="this.select()"> 後方文字<input type="text" name="T3" size="57" onclick="this.select()"> </p> <p><input type="button" value="ソース取得" name="B1" onClick="C1.checked=true"> <input type="button" value="切り出し" name="B1" onClick="C2.checked=true"> <input type="reset" value="リセット" name="B2" onClick="C1.checked=false; C2.checked=false; T1.value=''; T2.value=''; T3.value=''; S1.value=''"> <input type="button" value="終了" name="B3" onClick="CEND.checked=true"> <input type="checkbox" ID="CEND" name="CEND" disabled="disabled" ></p> <p><textarea name="S1" rows="13" cols="101" ></textarea></p> </form> </body> </html>
- 9 名前:名無しさん@お腹いっぱい。 [2008/01/20(日) 17:43:05 ID:/h9BPzq00]
- HTMLのフォームを利用するのを書いたけどその後投稿できない
- 10 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/20(日) 17:46:30 ID:/h9BPzq00]
- Form = CreateOLEObj("InternetExplorer.Application")
Form.visible = True Form.navigate(GET_CUR_DIR+"/IEGetSourceTest.htm") REPEAT; sleep(0.1); UNTIL !Form.busy AND Form.readystate = 4 FormID = HNDToID(Form.HWND) IE = CreateOLEObj("InternetExplorer.Application") IE.visible = True IE.navigate("about:blank") ID = HNDToID(IE.HWND) // Formの監視 While 1 Ifb Form.document.forms[0].C1.checked Then Form.document.forms[0].S1.value = IEGetSrc( IE, Form.document.forms[0].T1.value, Val(Form.document.forms[0].TNUM.value) ) Form.document.forms[0].C1.checked = false Endif Ifb Form.document.forms[0].CEND.checked Then Form.Quit IE.Quit break Endif sleep(0.1) Wend
- 11 名前:名無しさん@お腹いっぱい。 [2008/01/20(日) 17:55:07 ID:/h9BPzq00]
- >>8をIEGetSourceTest.htmって名前で、UWSCのところに保存して、
>>10をUWSファイルとして保存。 blankを表示してる方の窓でソース取得したいページを表示して タグ名指定してクリックすると、ソースが取得できる。 動的に挿入されるコードはIEの表示−ソースじゃ取れないんで便利かも。 オブジェクト無効のチェックまでした方がよかったけどどうすればいいんだか。 BetweenStrの行があると投稿できなかったんで削除してます。 出来損ないのHTMLだけど作るのに1日かかった。
- 12 名前:名無しさん@お腹いっぱい。 [2008/01/21(月) 11:44:51 ID:U5tw6KbY0]
- >>8のHTMLをアップしました。
ローカルで開くとセキュリティの警告で引っかかるのが、Webサイトから開けば出なくなります。 もちろん普通に動作します。 UWSファイルのアドレスを↓に書き換えて使ってください。 scripts.web.fc2.com/scriptsup/iegetsourcetest2.htm
- 13 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/21(月) 12:46:25 ID:6v7U5uf70]
- ここはお前の日記帳じゃねーぞ
- 14 名前:名無しさん@お腹いっぱい。 [2008/01/21(月) 13:07:22 ID:U5tw6KbY0]
- >>13
ああ、悪い。 しかし、俺が悪いんじゃないぞ。 ほかの人が書き込まないのが悪いんだ。 なんか俺が占有してるみたいに見えるのはそのせいだ。 ・・・ まさか俺以外の誰も使ってないなんて事はないよな?
- 15 名前:名無しさん@お腹いっぱい。 [2008/01/21(月) 13:11:26 ID:U5tw6KbY0]
- >>12のHTMLをForm代わりに使えないことはないけど
F5で再表示しただけでUWSCでエラーになる。 IEコンポーネント使わないと操作はできないとしても、 別アプリ使ったりしてほかのページに飛べないようにしないとまずいな。 .Navigaterをロックして更新できなくできればいいんだが。
- 16 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/21(月) 17:52:23 ID:PRrhEx8A0]
- WHILE TRUE
IFB GETKEYSTATE(VK_NUMPAD1) THEN REPEAT KBD(VK_2,DOWN,10) KBD(VK_3,DOWN,10) UNTIL GETKEYSTATE(VK_3) SLEEP(0.1) KBD(VK_4,DOWN,10) ENDIF WEND のようなスクリプトがあるとして、Num1も何も押していないのに 再生した瞬間4キーが勝手に連打されるのですがドコに原因があるでしょうか?
- 17 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/21(月) 17:55:08 ID:U5tw6KbY0]
- ローカルのHTMLを開いて警告が出るのはIEが出してるのであってIEコンポーネントじゃないんだよな。
つまりIEコンポーネントを使うアプリケーションが警告を出さなければいい話なんだけど CreateObjectとかするとアプリケーションはIEが起動するんだよな。 専用アプリを先に起動すれば実現できるけどやり方がスマートじゃない・・・ けどIE使うより普通のFormっぽいから出来れば使いたい。 あんまりがんばってもUWSCを使う意味がなくなりそうだから・・ けどスクリプトのForm・・・自分でWindowsAPIを呼べばいいのかな・・・ >>16 KBDが無条件に実行されて、自分で送信したキー情報をGETKEYSTATEで拾ってるんじゃね?
- 18 名前:名無しさん@お腹いっぱい。 [2008/01/21(月) 18:10:19 ID:U5tw6KbY0]
- フォームをHTMLで作るのはプログラム組まなくても済むけど、
動作がわずかならActiveBasicで画面作れば済む。 有償版UWSCのフォームがどんなもんか知らないけど大差ないんじゃないかな。 まあスクリプトのデバッガはやっぱあればあるに越したことはないけど。 HTML版のフォームはWeb上のをそのまま開いて使い、 実行ファイル版はUWSと同じ場所に保存し、スクリプトから自動で起動します。 やっぱHTML版は使い勝手が悪い。 まあ僕が見栄えをコントロールしきらんだけかもしれんが。 と言うことで、UWSCを無料のままでフォームを使う場合はActiveBasicが手軽でお勧め。 けど実行ファイル作るんならチェックボックスじゃなくてトグルボタンくらい使えんと見た目悪いよな・・・ HTML版 フォーム:scripts.web.fc2.com/scriptsup/iegetsourcetest2.htm スクリプト:scripts.web.fc2.com/scriptsup/iegetsrc2.uws 実行ファイル版 フォーム:scripts.web.fc2.com/scriptsup/iegetsrctest.exe スクリプト:scripts.web.fc2.com/scriptsup/iegetsrc3.uws
- 19 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/21(月) 19:18:10 ID:KzLKIOdZO]
- 既にIEで開いてるページに命令するのわかりません
どこか適当なサイトでF5クリックするさんぷる お願いします サンプルをいろいろと見てきましたがないみたいです お願いします
- 20 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/21(月) 19:40:45 ID:U5tw6KbY0]
- >>19
while 1 KBD(VK_F5, CLICK, 1000) wend IEを手前に持ってくるのは、開始でsleep(5)とかで待たせてる間に自分でクリックするか、 IEオブジェクトを探してアクティブにする。
- 21 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 12:38:35 ID:htPUwuSa0]
- 「ほかの人が書き込まないのが悪いんだ。」
とか、ほざくガキが出てくる始末
- 22 名前:名無しさん@お腹いっぱい。 [2008/01/22(火) 12:45:24 ID:UGnsuQEl0]
- >>21
まだ書き込んでない人いるのにその人たちを差し置いてなに書き込んでんだよと レス番900過ぎるまで引っ込んでろと。
- 23 名前:名無しさん@お腹いっぱい。 [2008/01/22(火) 13:14:26 ID:UGnsuQEl0]
- スクリプトに一時停止・終了ボタンをつけるサンプル。
実行ファイルは使いまわしでいろいろ使えると思います。 scripts.web.fc2.com/scriptsup/UWSC_Control.exe scripts.web.fc2.com/scriptsup/ControlSample.UWS
- 24 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 15:07:14 ID:bb0NpIu80]
- >>23
d
- 25 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 16:28:16 ID:YY7h1Q/JO]
- 一時停止は必要だな
>>23 乙 でも俺が試したら止まんなかったよ 何回も試したけどね 先にそれを起動させておくの? それともUWSCが先に起動かね? それと上のほうでクリック1000てなんだよ ガキのいたずら小僧か 無茶苦茶するなよ 嵐認定 出入り禁止ね
- 26 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 16:31:00 ID:YY7h1Q/JO]
- 出入り禁止はひどいな
>>20は解答禁止ね
- 27 名前:名無しさん@お腹いっぱい。 [2008/01/22(火) 17:24:05 ID:UGnsuQEl0]
- >>25
>クリック1000てなんだよ クリック1回して1秒休憩。 まあ、CPU占有しちゃうから実際にはKBDでは時間は指定しない。 つまり↓になる while 1 KBD(VK_F5) sleep(1000) wend >でも俺が試したら止まんなかったよ スクリプトファイル見れば分かると思うけど、UWSファイルの中で実行ファイルを呼び出してるから。 単独で実行ファイルを起動しても、ボタンがあるだけでなにもしないよ。 UWSC_Control.exeとControlSample.UWSは同じ場所に保存しないと呼び出せないよ。 WindowsXPではちゃんと動いたけどほかのだともしかしたら動作おかしいかもしれない。 だけどCreateWindow程度の基本的なAPIしか使ってないのに動かなかったらおかしいよ。
- 28 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 18:53:51 ID:M+28Nez10]
- メモ帳に「テスト」って書き続けて止まんないぞ
結局「Alt」「F2」で強制終了 他のUWSファイルで操作していて一時停止させる場合には このソースを書き足すって事なんだな しかしボタンの押す順番間違えたら 永遠に「テスト」って書き続けてる・・・
- 29 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 19:46:16 ID:UGnsuQEl0]
- >>28
>メモ帳に「テスト」って書き続けて止まんないぞ それを止めるための停止ボタンなんですが。 ただ、停止したり終了したりはスクリプトで記述することで実現してるので、 それが書かれてないスクリプトはとまりませんね。 画面が表示されてないUWSC本体をコントロールすれば確実に止められるかもしれないけど・・・ >しかしボタンの押す順番間違えたら >永遠に「テスト」って書き続けてる・・・ もしかして、一時停止中に終了を押しても終了しないとか? 一時停止を解除すれば終了するけど、 それがいやなら一時停止ループの脱出条件に、終了ボタンを押したときを入れればいいよ。 そう書いておくべきだったかな?
- 30 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 00:15:54 ID:vayeXHsD0]
- IE7
XP どうやったらUESCでHTMLファイル見れるんだ 普通にIE7からは見れてる RECIEでHTML内のボタンクリックからはじめたかったのになー RECIEはHTML読めないんかね
- 31 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 00:24:30 ID:vayeXHsD0]
- 30だけど自己解決した^^
- 32 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 12:34:58 ID:vayeXHsD0]
- IE7で既に開いてるページをUWSCで操作したいんだ
アクティブウィンドーの取得だけでは動かないんか? どこかサンプルソースないですか? 具体的には非同期通信するためのスクリプトが記載してあるHTMLからIE7を開く その開いてあるページを操作したい どなたかサンプルお願いします
- 33 名前:名無しさん@お腹いっぱい。 [2008/01/23(水) 12:46:13 ID:iN7rdS2C0]
- >>32
IE = GetActiveOLEObj("InternetExplorer.Application", "")
- 34 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 12:56:29 ID:vayeXHsD0]
- >>33
おお 早速のレスありがとう 今からテストしてみる いつも悪いね あなたもし関西に来れるなら一度メシ食いに行きますか 私は今、落ち目で大変なんだけど ラーメンとカレーは食べ歩いたので美味しいとこ知ってるよ >IE = GetActiveOLEObj("InternetExplorer.Application", "") ↑この最後の、””何かね?
- 35 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 13:21:26 ID:vayeXHsD0]
- >>33
出来た!ありがとうおおおお! 最後の””付けたままでも動いたよ こんな感じ IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE = GetActiveOLEObj("InternetExplorer.Application", "") このあとラジオボタンやセレクトメニューを選んで次のページへ飛んで そこでも自動操作できた マジでありがと なぜか1箇所だけフォーカスあわせてたのがマウスであわせないとダメになってたけど まあいいや合格! そのフォーカスの後にこの前教えてもらった「Ctrl」ボタン押すまでスリープ0.01ループさせてたんだけど あれが要因かな? でもそのフォーカスにマウスであわせてテキスト入力後に「Ctrl」押したら すぐに「次のページへ」を自動で押してくれた 昨日まで自分で色々やってたんだけど 「関数IEが指定されていません」とか「○○変数が・・・」まあエラーばっかりだったんだ 聞いてよかったよ ありがとう カレーライスでよかったらおごるよ JR環状線の福島駅近くにある上等カレーって食券機でお金払うお店なんだけど ここが美味しいよ!
- 36 名前:名無しさん@お腹いっぱい。 [2008/01/23(水) 13:57:18 ID:iN7rdS2C0]
- >>35
そのコードだめです。 まず推奨コードから >>10のがそれですが、余計なのもあるんで。 IE = CreateOLEObj("InternetExplorer.Application") // IEの起動 IE.visible = True // 表示? IE.navigate("http:/www.yahoo.co.jp") // アドレス入力 REPEAT; sleep(0.1); UNTIL !IE.busy AND IE.readystate = 4 // ページ表示完了待ち ID = HNDToID(IE.HWND) // コントロールする名前がなかったりする場合に利用 input("") // どうしても入力待ちしたい場合。 ※IEのソースを覗いたりすればIEオブジェクトだけでいろいろできるけど、 見た目だけで操作可能なIDは結構使える。 んで、>>23のを使うなら、一番最初に実行ファイルを起動し、 上記inputの位置に停止コードを挿入。 けどマウス位置を合わせないといけないなら>>23のとかinputは使えないね。 ちなみに僕は九州だしお金まったくないんで無理。 就職のために引っ越すつもりもないし、かといって地元企業には近寄りたくもないし。 ネットでの出会いには懲りてるからOFF会とかも出ませんから。 江戸川区でなんか売春サイトが摘発されてるけど、あそこに住んでたころは毎日小中学生にラブコールしてた。
- 37 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 14:00:52 ID:iN7rdS2C0]
- >>35
-- だめな理由 -- 1.CreateしたIEは放置して別のをGetしてる。タイミング的に同一のを拾ってくるかもしれないが意味がない。 2.起動直後のを拾ってきているから操作できない状態にある。 まあその後のコードは省略されてるだけでちゃんと待ってるかもしれないけど。 マウスをあわせないといけない場所ってどんなですか? Webページは、ウィンドウを縮めるとレイアウトが変わるのでマウス座標では問題ありますよ。 よかったらアドレスとクリックしたい場所を教えてください。
- 38 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 19:07:30 ID:vayeXHsD0]
- >>36
よくわからんけど最初の2行を入れないとエラーになるんよ 既に開いてるページなので >IE.navigate("http:/www.yahoo.co.jp") // アドレス入力 >REPEAT; sleep(0.1); UNTIL !IE.busy AND IE.readystate = 4 // ページ表示完了待ち これは入れる必要ないと思うので書いていない >ID = HNDToID(IE.HWND) // コントロールする名前がなかったりする場合に利用 >input("") // どうしても入力待ちしたい場合。 これは勉強になった!ありがとう >>36はUWSCの解説本書いてみたらどうだ UWSCのヘルプよりかなり理解できるぞUWSCの解説本って小林シンヤ氏のだけだろ もうちょっと命令ひとつひとつを説明してくれたら嬉しい命令の解説に命令を引用してるんだからわかんないよ 本出したら、俺絶対に買うよ マウスを合わせる場所は画像認証の入力だよ IDとPASSの後に画像認証入力して次の画面へいくボタンを押すんだ 今はこんな感じでやってる(初めからUWSCで開いたIE画面ならフォーカスが合わせられたまま待機してるのにね Assert(IESetData(IE,"123456789","loginId"),12) // ID入力 Assert(IESetData(IE,"abcdefghijk","passWd"),13) // PASSWORD入力 IE.document.forms(0).elements(5).focus()//画像認証にフォーカスあてる REPEAT; sleep(0.1); UNTIL GetkeyState(VK_CTRL)//「Ctrl」押すまで待機 Sleep(0.1) Assert(IESetData(IE,True,"","alt=ログイン"),19) // IMAGEログインボタン押す REPEAT SLEEP(0.1) UNTIL !IE.BUSY AND IE.READYSTATE = 4 >>23は使うかどうかわかんない実際0.1秒を争うようなタイミングなのでマウスでボタンを押すより 目の前のキーボードで決められたボタン押すほうがわずかでも速いような希ガス >>36 そうだと思ったよ多重ログインの警告画面が出るようになった処理するようにしておいたけど・・・そういうことか。なるほど。ありがと もし大阪に来ることがあれば必ず声かけてみてくれ。んじゃ
- 39 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 19:51:05 ID:vayeXHsD0]
- >>36
すまん 最初の2行なしでいけた 理由もわかった 何かと便利なので普段使うブラウザがFirefoxで そのページを見るときだけアドオンツール使ってIE7にしてた 俺のエラーの理由は多分そうだわ 今、最初からIE7で起動して開いたページに対してやってみたら >IE = CreateOLEObj("InternetExplorer.Application") >IE.Visible = True ↑これなしでいけた ちなみにFirefoxからIE7へ切り替えてそのページを開きながらテストしてみたら 上記の1行目を抜いてやってみたら >Uスクリプト変数:IEが定義されていません >5行目:IE.Visible = True とエラーが出てた でもやっぱり画像認証のフォーカスはされていなかったので 今もマウスで1クリックしてから手動でテキスト入力した input試して見るわ ありがと
- 40 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 21:29:17 ID:vayeXHsD0]
- 何回もすまん
IE.document.forms(0).elements(5).focus()//画像認証 を input("") に変更するにはどうすればいいですか? 取り合えずinputはまだ使わずにfocus()に0から順番に1.2.3て入れてみようか? innputでの待機がわからないよ^^; いつも悪いね
- 41 名前:名無しさん@お腹いっぱい。 [2008/01/23(水) 22:11:39 ID:iN7rdS2C0]
- >>40
input("")は入力ダイアログが出るだけで、IEの操作はしませんが。 画像?にフォーカスするのがもし画像にOKボタンみたいな機能が割り当てられてるんなら、 フォームにSUBMITを送るだけでおkだったりしますよ。
- 42 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 22:30:35 ID:vayeXHsD0]
- >>41
おお いつも悪いなあ ありがとう IE.document.forms(0).elements(5).focus()//今これSUBMIT IE.document.forms(SUBMIT).elements(5).focus() IE.document.forms(0).elements(SUBMIT).focus() IE.document.forms(0).elements(5).focus(SUBMIT) こういう感じでテストしてみるわ ちょっと風呂は入ってくるね んじゃ
- 43 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 22:56:28 ID:iN7rdS2C0]
- >>42
document.forms[0].submit() です。 elementを特定しない分楽です。
- 44 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/24(木) 01:33:06 ID:/j+XTb4D0]
- 疲れた〜
今日はテスト終わり 結局フォーカス自動でフォーカスを合わせられなかった 右栗禁止なのでそのへんもあるのかも マウスでどこかを1回でもクリックしたら TABであわせられるけど マウスクリックしないとTABボタン動かない つまり自動ではあわせられないようなんだ サブミットではないよ 画像の横にテキスト入力のボックスがあるから タグネーム=キャプチャインプットになってた とにかく疲れたわ おやすみ〜
- 45 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/25(金) 17:20:59 ID:GcGkQc0q0]
- ひょっとしてIESetDataってhttpsのページには動作しないの?
- 46 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/25(金) 18:07:29 ID:y4xJvkBL0]
- 知らないけどSENDSTRなら関係なく送れる
- 47 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/25(金) 23:27:42 ID:683OcADH0]
- 質問です。eTilTranという画像傾き補正ソフト用の自動読み込み→補正→保存のスクリプトを書いているのですが、ファイル数がすくない場合は問題なく動くのですが、
ファイル数が多いと読み込んでる間にUWSC上でCLICKITEM等の処理が終わってしまい、適切に処理できなくて困ってます。SLEEP関数以外に読み込みが終わるまで待機し続ける ような命令・関数があったら教えてください。
- 48 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/25(金) 23:44:46 ID:QZuQLGj/0]
- そんな便利な関数はないよ。
「スキャンしています」「保存しています」とかいう作業中のダイアログが出るなら、getidでその作業中ダイアログが出ている間待機して、消えたら次の処理。 あるいは処理終了時に「変換が終了しました」というダイアログが出るなら、getidでそのダイアログが出るま待機。 ウインドウじゃなくstatic_txtのメッセージやウインドウのタイトルで作業中かどうかを判断する場合もある つまり、各アプリによって、待機のタイミングを計る方法はそれぞれ違う。
- 49 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/25(金) 23:55:46 ID:683OcADH0]
- >48
なるほど、やっぱそれしかないですか。読み込み完了時にダイアログもウインドウのタイトルも変わらないんでタイミング計りようがないんですけど、 進捗状況を伝えるバーがビーーーと伸びていくんですが、これはGetITEMとかで取得できる情報なんでしょうか?
- 50 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/26(土) 07:17:27 ID:UAcIKHXR0]
- ボタンの状態みてあげるよろし
ID=GETID("eTilTran") STATUS=-1 WHILE STATUS=-1 STATUS=CHKBTN(ID,"領域設定") WEND
- 51 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/26(土) 19:16:29 ID:iQgREZVD0]
- >>39だけど
今更なんだけどね アクティブウィンド取得に >IE = CreateOLEObj("InternetExplorer.Application") >IE.Visible = True この2行がいる時となくても次へ進む原因がわかったので報告w 選ぶ商品によってはまるでカレンダーのような画像をクリックしては次へ って感じなんだけど IE7はタブ方式なので先に開けたページをきちんと閉じていないとおかしくなるみたい IE6に戻そうとしたら「古いバージョンをインストールできませんって」戻せないよ^^; 先の2行をつけてスタートしたときは 一時停止でフォーカスがあわないままなんだ もうIE7が悪いんだってことにしておこうw IE6に戻すためのツールがあるらしいのでそれ使ってIE6に戻すわ おー朝からメシ食わずにテストしてたから腹減った〜 朝飯兼晩飯くってくるわ んじゃ
- 52 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/26(土) 19:58:31 ID:a90vN8qC0]
- >>50
ありがとうございます。うまくいきました。”領域設定”とか書かれているのでわざわざeTilTranいれてもらったんだと思いますが、それをみこんでもうひとつ質問があります。 eTilTraで画像を読み込むと左側に画像のリストが表示され、これはITM_LSTVEWで取得できる情報だなと思い ttp://blogs.yahoo.co.jp/uwsc_script/archive/2007/10/06 ↑のスクリプト使って情報を取得しようと思ったんですが固まって取得できません。もし取得できるなら配列を使って挿絵の画像名を取得してDOSコマンドで別のフォルダに そのファイルをコピーしたりできると思っているんですが、どうやったらアイテム情報を取得できるでしょうか?よろしくお願いします。
- 53 名前:50 mailto:sage [2008/01/26(土) 20:50:09 ID:UAcIKHXR0]
- >>52
ITM_LSTVEWじゃ無理そうだね 別の方法で取得できるのかどうか、私にはわかりません
- 54 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/26(土) 21:38:44 ID:a90vN8qC0]
- >>53
そっかーやっぱITM_LSTVEWじゃだめなんですねー。とにもかくにもお手間おかけしました。ありがとうございました。
- 55 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/27(日) 07:55:27 ID:oz1/lB8h0]
- 結局、寝ないでIE6をインストールしようと頑張ったけど
レジストリーまでいらってもダメだった んでIE7を再インコ IE7のオプションをよく見てたら「タブブラウザを使わない」ってチェックがあった やったー タブブラウザのお陰でこんなに酷い目にあってるんだ これでやっと開放されるwww さてテストして寝ようか・・・・・・ ん!? 画面上は普通のブラウザに見えるけど・・ まさか! やっあぱりそうだ ガーーーン!! なんと1枚目の画面がアクティブになっている画面にすっかり隠れていた なんなんだよ!! タブじゃなくても画面を2つ開けていたら「多重ログイン」扱いされてはじかれちゃうんだピョーン(;´д⊂ヽ アクティブウィンドウ以外のウィンドウは全てを閉じる命令ありますか? それを先に命令して最後に残ったアクティブ画面を操作したい ウィンドウの名前はそのつど変わるので アクティブウィンドウ以外をせべてウィンドウは閉じるって命令があればなー はー昨日からなにやってんだか 疲れたおやすみー
- 56 名前:名無しさん@お腹いっぱい。 [2008/01/27(日) 11:51:38 ID:A03LsX+d0]
- >>55
多重ログインは窓閉じても回避できないよ。 ログインしたらその窓でやらないと。 つまりログインした窓に対して確実に操作する必要がある。 もし窓が隠れてしまうなら、ACWでActiveにしないと。 ActiveWindow以外を閉じるには、 ActiveWindowを取得し、 全てのWindowを取得し、 全てのWindowからActiveWindowを除外した全てを閉じる。 ↓がコード >>56 IE = GETACTIVEOLEOBJ( "InternetExplorer.Application" ) ID = HNDToID(IE.HWND) 窓数 = GETALLWIN() for i = 0 to 窓数 - 1 ifb "InternetExplorer.Application" = STATUS( ID, ST_CLASS ) Then ifb ID <> STATUS(ALL_WIN_ID[i], ST_PROCESS) Then CtrlWin(STATUS(ALL_WIN_ID[i], ST_PROCESS), CLOSE) endif endif next // ここで、最初に取得したアクティブウィンドウのオブジェクト(IE)と // そのウィンドウID(ID)だけが残っている。
- 57 名前:名無しさん@お腹いっぱい。 [2008/01/27(日) 11:56:26 ID:A03LsX+d0]
- >>52-54
ListViewとListBoxは見た目同じようで中身はダイブ違うけど勘違いしてない?
- 58 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/27(日) 14:54:45 ID:oz1/lB8h0]
- >>56おはよ^^
>>55だよん 早速サンプルありがとう。そのまま使わせて貰ったけど窓はとじなかったよ んで前から出てたエラーが出た(アクティブ画面のボタンを押せないエラー) 全部窓をとじないでUWSCもそのまま(UWSを読み込ませたまま置いておいて) 手動でアクティブじゃないほうの窓を閉じて 再びUWSCの読み込ませていた命令(>>56の命令を最初に書いてあるUWSファイル)をそのまま再スタートさせたら上手くいけた やっぱりアクティブ以外の窓は全部とじないとUWSCではエラーになるみたい ちなみに 改めてログインしなおして手動で進めていき UWSCではエラーになって押せないボタンを手動で押して進めてみると 先に開いていた窓はそのまま閉めなくてもいけた 手動だと進めるってことはサイト側の問題ではないね もしかしたらUWSCは先に開いている状態の窓をアクティブと認識しているのかな? でも実際には2枚目に開いた画面(UWSCで操作したい画面)がアクィブなんだ なぜ2枚目がアクティブだと私が言い切れるのかといえばですね 2枚目が開いてから何もしない状態でもマウスのスクロールが効いていた UWSCがアクティブだと認識してる窓と実際アクティブな窓とは違うと想定すれば 今回のようなエラーになると思う だとすればUWSCへの命令は「アクティブウィンドウは閉じて次のウィンドウへ移動しなさい」って命令しなければいけない しかし何度も言うようにそのサイトでは不正対策のために窓の名前は毎回違うんだよね ん〜悩むなあ・・・そのサイトのアドレスを教えれば状況が理解してもらえるんだろうけど ここは色んな人が見るのでそれはちょっとこまる・・・^^; 2枚の画面が開いているとき・・・UWSCから見てのActiveWindowをCLOSEすると UWSCは残りの画面は窓名がわからなくてもアクィブウィンドウと認識してくれるんだろうか? ちょっと知事選の投票行って所用を済ませてまたテストしてみるわ。ありがとー
- 59 名前:名無しさん@お腹いっぱい。 [2008/01/27(日) 15:31:30 ID:A03LsX+d0]
- >>56の> ifb "InternetExplorer.Application" = STATUS( ID, ST_CLASS ) Then
これは間違いだったかも "InternetExplorer.Application"じゃなくて"IEFrame"だよね ↓は以前作ったやつだけど、自分でVid-DLを新しく開きまくりだから あらかじめ全て閉じる処理した。 タイトルが固定だからやりやすかったけど・・・ IEオブジェクトには.navigateってのがあるから、開いてるページをそれで取得できるならタイトルは分からなくてもなんとかなるでしょ。 // 全てのIEを閉じる ID = GetID("Vid-DL", "IEFrame", 0.1) While -1 <> ID CtrlWin(ID, CLOSE) ID = GetID("Vid-DL", "IEFrame", 0.1) Wend sleep(1) // IEを起動 ID = Exec("C:\Program Files\Internet Explorer\IEXPLORE.EXE " + url) sleep(3) IE = GetActiveOLEObj("InternetExplorer.Application", "Vid-DL" )
- 60 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/27(日) 19:59:14 ID:oz1/lB8h0]
- >>59
おお貴重な情報だありがとう 今、テストしていてわかったんだけど そのサイトのページってIEに対して何か制限をかけているみたいなんだ 右栗禁止、「F5」で更新できないとかは前からだったんだけど ブラウザをFirefoxに変えてテストしてみたら 右栗OK、F5Ok、「Ctrl」+「W」で私の言うアクティブウィンドーが閉じた (IEではどちらの窓も閉じない) 多分どちらの窓もUWSC自身では取得していない 手動で適当なところをマウスクリックしたらUWSCが操作可能になる UWSCがFirefoxにも対応していたらなー問題解決なのに・・・ IEのオプションで右栗突破すればどうにかなりそうな希ガス 他にもやらなければいけないこといぱーい ふう疲れるIEの右栗禁止を突破するのが鍵棚 UWSCは多分どちらの窓も取得していないのでボタンクリックの命令でエラーになるような IEのオプション研究からやり直しだわw ありがとう いつも悪いね^^
- 61 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/27(日) 20:02:06 ID:oz1/lB8h0]
- あーぁIE7にバージョンアップしたのが一生の不覚だよ
OSのインスコからやり直すくらいしないと もうIE6に戻せないしー まったく甘い言葉にご用心 IE6がいいよホント
- 62 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 02:21:08 ID:f2jwJo210]
- WHILEやREPEATを使ったループ中に終了条件を満たさずとも100秒経過したら
強制的に次の処理へ移行、とするにはどうしたらいいでしょうか?
- 63 名前:名無しさん@お腹いっぱい。 [2008/01/28(月) 02:43:16 ID:rGtBli6R0]
- 100秒って時間を合わせるのは難しいけど、
for文で1秒スリープ×100回なら自動的に100秒以上で抜けるから、 もう一つの終了条件をIf文で追加ですね。 1回あたりの待ち時間が1秒くらいならほぼ期待通りの時間だけど、 0.01秒で指定してもだいたい0.1秒くらいはかかるしね。 時間を正確にするならGetTime使うかな。 けど、何かしたらそれだけ重くなるし、ループにはSleep必須。 StartTime = GetTime() While 終了条件 If StartTime + 100 < GetTime() Then Break // 処理 // sleep(0.1) Wend 条件を同時に判断してもいいけど、条件の指定を間違ったとき、 andの計算の優先順位が間違ってるとおかしくなる。 While 終了条件1 and (GetTime() < StartTime+100)
- 64 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 03:20:39 ID:f2jwJo210]
- >>63
詳しく教えてくださってありがとうございます、助かりました。
- 65 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 03:09:04 ID:00BHvaXU0]
- 自分で>>56使って見たけどかなり間違ってるね
>ifb "InternetExplorer.Application" = STATUS( ID, ST_CLASS ) Then これは ifb "IEFrame" = STATUS( ALL_WIN_ID[i], ST_CLASS ) Then だし GETALLWIN()で取得した全IEの表示ページを IE.document.URLみたいに簡単に取得したかったんだけどな。 GetStrでも取れるけどIEオブジェクトから直接取りたいけどオブジェクトがIDからじゃ取得できないんだよな・・・
- 66 名前:名無しさん@お腹いっぱい。 [2008/01/30(水) 00:15:15 ID:aG+PMwK+0]
- scripts.web.fc2.com/scriptsup/AutoDLClick.uws
www.uploda.org/ www.vipper.net/ 上記アップローダーで、サムネイルから画像を選んだ後、 時間帯によっては広告ページが表示されるのがめんどいので自動クリックする。 終了のために、終了ボタンを表示し、 処理対象のページアドレスをメモ帳に追加していく。 ページ構成が同様のサイトであれば使えるので、対象サイトに追加していけばほかのサイトにも使える。 ただし、アダルトサイトはダミーが多いので大変なことになるかも。
- 67 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/30(水) 14:37:55 ID:bDlCrFc60]
- いよー
諸君元気でやっとるかね 私は相変わらず多忙続きでへろへろ〜w IE7に変えたらアクティブウィンドーの取得がおかしくなったって前に私が発言したんだけど 取り消しだ そのサイト最近リニュアルしたんだけど ソースをひとつづつチェックしてたらなんと! IEに対していろんな制御してたんだ * ENTERキーを押したかのを検査する *IEのショートカットキーおよび一部の機能を無効にする * マウスのクリック(2重リクエスト) *マルチサブミット防止処理 * ファンクションキーの無効化 これをジャバスクリプト命令にして先にヘッダ部分で読み込んでやがった UWSCの操作でどうにかできる問題じゃなかったんだ ここで相談に乗ってくれた九州男児ありがとう きみのソースでかなり勉強できましたが サイト側がIEに対して制御かけていることが判明しました 色々とありがとう 寒い日が続くけど風邪ひかないようにね あ、UWSCに要望あるんだよね ・多重起動ありにしてください(もっかいお金払ってでもいいですのでバージョンアップということでお願いします) ・IEだけでなく他のブラウザにも対応して下さい特に便利なFirefoxに対応していないのは痛いです 以上 んじゃノシ
- 68 名前:名無しさん@お腹いっぱい。 [2008/01/30(水) 18:44:34 ID:aG+PMwK+0]
- www.vid-dl.net/
↑を使ってダウンロードする場合はアドレスの貼り付けが手作業になる。 「URLリストを開く」でアドレスがまとめて取得できるが、ファイル名が正しくない。 表示されるファイル名を取得して自動的に保存するスクリプトをUWSCで書いてみた。 保存場所はデフォルトなので、あらかじめ1つめをダウンロードして場所を指定しておかないと場所が分からなくなる。 Vid−DLの窓を終了すればスクリプトも終了します。(アイドリング中) 最初に「保存」をクリックしてやらないと先に進まない場合があったのを修正。 scripts.web.fc2.com/scriptsup/Vid-DL.UWS
- 69 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/30(水) 19:07:03 ID:bDlCrFc60]
- やっぱりUWSCがいいな
Firefox用の自動ソフトを探してテストしてみたんだけど どれも使えない RECIEがいいよ ってことで 右クリ禁止とF5禁止の突破を考えていたんだけど UWSCでブックマークレットとか使える? お気に入りにジャバスクリプトを登録しておいて 右クリ禁止のページになったらそのブックマークをクリックするだけで ジャバスクリプトが発動するんだ それかUWSCでジャバスクリプトの命令を実行できる? まあスクリプトのことはよくわかんないので その右クリ禁止ページになったらKey制御している.jsのソースがわかったので falseをtrueに書き換えるだけ^^; どうなることやらwww ・UWSCでブックマークレット使いたい ・UWSCでジャバスクリプトの命令を実行したい 毎度聞いてばかりで悪いね よろしく あ〜腹減った〜 今日も忙しくて朝飯も食ってないよ メシ食ってくるね
- 70 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/30(水) 19:43:53 ID:ts57POVO0]
- RECIEてIE専用だしCOM使ってるだけだろ。
ブラウザがらみ邪魔九歳から別スレ建てろよ。
- 71 名前:名無しさん@お腹いっぱい。 [2008/01/30(水) 20:17:03 ID:aG+PMwK+0]
- >>69
無理だと思う。返事は期待できないよ。 >>71 // JaneDoe Viewの操作を補助する。 // スレを切り替えると自動更新し、最終取得で並び替える。 ID = GetID("JaneDoe View", "TMainWnd") prev = GetSTR(ID, 1) while 1 sleep(0.1) // アプリが終了された場合は連動して終了 if !IDToHND(ID) Then break url = GetSTR(ID, 1) ifb prev <> url Then prev = url cnt = 0 REPEAT; cnt = cnt + 1; UNTIL "" = token("/", url, true) if 4 = cnt Then CLKITEM( ID, "《更新", CLK_MENU or CLK_SHORT ) endif wend
|

|