1 名前:名無しさん@お腹いっぱい。 [2009/03/02(月) 19:49:20 ID:rP5khwz50] Windowsを自動化させるツールUWSC。 ttp://www.h7.dion.ne.jp/~umiumi/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。 前スレ 自動化ツールuwsc使いよ集まれ3 pc11.2ch.net/test/read.cgi/software/1176677869/
552 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/14(月) 13:48:18 ID:0YMUf7PV0] WEBサイトの書き込みたいページの窓名はどうやって取得すればいいですか? 書き込む箇所がたくさんあるんですよ 例えばこんな感じです https://account.edit.yahoo.co.jp/registration?.done=http%3A//www.yahoo.co.jp/&.src=www 上記はヤフーの新規登録です このページでいえば上から希望IDの欄 パスワード入力 念のためのパスワード入力 以下個人情報記入欄と続きます この例で言うと窓名はどうなっていますか? その窓名はどうやって知るのでしょうか? 窓名の取得方法教えてください お願いします
553 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/14(月) 14:54:35 ID:cEOV6N9A0] そのページのソース見れば書いてある
554 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/14(月) 20:26:42 ID:qig3ZFIo0] 窓名っていうかテキストボックスのIDですよね。 ユーザー登録なら番号指定するSetTextかなんかでAAC指定が簡単ですよ。 ページレイアウトが変わるとそのつど対応しないといけませんが、 IDが変更されない保障もないから同じことです。 問題はどうやってその番号と項目種別を整理するかだけですが、連想配列使うと簡単です。 チェックボックスについてはClkItem()で表示文字指定でいけるし。 ただ、パスワードはKBD()関数で1字ずつしか入力できない場合が結構ある。 あと、Yahooの新しいページは直で自動操縦できない問題があったと思う。 窓操作するときのIDが必要なのかな? IEオブジェクトを作っているならこれでID取れます。 ID = HndToID(IE.hWnd)
555 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/14(月) 21:00:56 ID:P2xJX7yR0] たとえ話にしても言ってること聞いたらまともに相手しちゃいけないやつって分かるだろ…
556 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/14(月) 21:34:30 ID:cmD5tDUfP] 大量アカウント入手する以外に使い道ねーなw uwscの評判ガタ落ち
557 名前:552 mailto:sage [2009/09/15(火) 04:57:03 ID:ivadcF/W0] ども^^ >>553 ソース見てもわかりませんorz >>554 ありがとです uwsc関係のサイトを見て下記のようにしたんだけどプリントされたのは1文字だけ。数字の1でした IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("https://account.edit.yahoo.co.jp/registration?.done=http%3A//www.yahoo.co.jp/&.src=www") REPEAT SLEEP(0.1) UNTIL !IE.BUSY AND IE.READYSTATE = 4 SLEEP(0.4) ID = HndToID(IE.hWnd) print id SLEEP(10.0) IEで書き込む方法教えてください ヘルプ見てもわかりません><
558 名前:554 mailto:sage [2009/09/15(火) 06:04:35 ID:LY1YTKOq0] >>557 なんだ初心者か IDは使うものですよ print Status(ID, ST_TITLE) 最初はヘルプ見るよりもぐぐったほうがいいよ。 UWSCをキーワードに含めるか、UWSC特有の関数名入れたら絞り込めるし。 ちなみに僕はgooのメール登録自動化するやつ作ったけど、 画像の文字を読み取るアクセスコード入力は自動化出来ないから どの道複数まとめて処理するようなのは作るだけ無駄なんだよね。 メアドを自動的に大量に作るなら、自前のメールサーバー作った方が簡単だよ。 受信するだけのメールサーバーは無料でも配布されてる。 IPアドレスが固定でなくても無料のDDNS使えるし。 たいていのユーザー登録ではメールを1件受信するだけだし、それで十分。 メールアドレスたくさん作っても別に金が入るわけじゃない。 ユーザー登録でプレゼントとかゆっても、あれは客を釣って売りつける名簿を作るためであって、 最初からプレゼントなんかしてなかったりする。 そんなもんにかまけるのは時間の無駄だよ。
559 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/15(火) 07:40:17 ID:ivadcF/W0] >>554 さんレスありがとです 例のページにアクセスしてから下記のようにしてみました ID = HndToID(IE.hWnd) print Status(ID,1, ST_TITLE) print Status(ID,2, ST_TITLE) print Status(ID,3, ST_TITLE) print Status(ID,4, ST_TITLE) print Status(ID,5, ST_TITLE) するとプリント窓に下記の様にでました 117、2、800、570、121 書き込むには下記のようにすればいいのかとやってみました IESetData(IE,117,"希望のIDを半角入力") IESetData(IE,2,"半角でpassワード") IESetData(IE,800,"passワード再入力") IESetData(IE,570,"表示名") IESetData(IE,121,"半角で郵便番号") 結果は書き込めませんでしたorz お忙しい中、レス本当にありがとうございます 今日は今からスグにでかけますので帰宅したらまた試してみます PS:メアド大量取得が目的じゃないけどDDNSはちょっと関係あります あなた勘がいいですね!驚いたですよ^^; 本日「家サーバー」という無料のDDNSに登録してみました ちなみにnslookupで調べたヤフーのmailサーバーには 登録後にtelnetでオープンしようと試してみましたがダメでした 今ここで教えてもらってるのは空きIDがあるか調べたいんです 最短文字数4文字となってますが実際には6文字じゃないかと聞いたので 4文字IDはもう無いのか気になったんですよ。実に馬鹿げてますよねw でもこういうのって勉強になりそうな気がしてるので頑張ってみます ありがとうでした^^
560 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/17(木) 00:34:08 ID:c/fKihuM0] >>552 です 中間報告です^^; >>553 さん マジで大ヒントありがとうです!!! 窓の名前取得はわからないままなんですけど ソース見てname="yahooid" id="yid-ft"というのが怪しいのじゃないかと思い 下記のようにしてみたら見事書けました! ほんとに本当にありがとうです! ------------------------- IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("https://account.edit.yahoo.co.jp/registration?.done=http%3A//www.yahoo.co.jp/&.src=www") REPEAT SLEEP(0.1) UNTIL !IE.BUSY AND IE.READYSTATE = 4 SLEEP(1.0) IESetData(IE,"testes2geter","yahooid") // TEXT //KBD (VK_RETURN) SLEEP(10.0) ------------------------ これをヒントにソース内でname=を検索してみたら ありましたありましたwww まだやってないけど これで全部書き込み出来そうな気がしてきた^^ ありがとう>>553 さん マジ感謝してます!
561 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/17(木) 01:30:02 ID:c/fKihuM0] やった!やった! >>552 です >>553 さん ラジヲボタン、セレクトボタンとかまだわかんないですけど 取りあえずテキストBOXには全部書き込めるようになりました! 超嬉しいです^^ 大前進ですよ ありがとう>>553 さん! 亀レスですけど心からお礼申し上げますm( _ _ )m
562 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 09:17:31 ID:ab55ehQx0] >>529 みたいにJaneをコントロール・・ていうか、投稿の制御をUWSCでしたりしてるんだけど、 Janeにスクリプト機能がついたから、UWSCで頑張るより楽に出来るかもしれない。 スクリプトは他のビューワには多分ないから、Janeを制御する場合は UWSCで頑張るよりJane Viewを使った方が楽かも。 実際どんなスクリプトが作れるのかはしらね。 Jane View Version UPキター 目玉はスクリプト機能搭載 ttp://tsushima.2ch.net/test/read.cgi/news/1253536648/
563 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 09:50:53 ID:AAcMg2An0] 質問いいですか UWSCは格闘ゲームのマクロ作成に向いてますか? ゲームは1秒当たり60フレームで進行するので、16.666ms(1フレーム)の入力精度が必要です
564 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 10:19:06 ID:ab55ehQx0] >>563 僕のPenM1.7GHzパソコンでは、クリックの精度は23msくらいだったよ。 実際どこまで精度が上がるかは分からないけど、精密にクリックしたかったら CPUコア1つが90%の空きと、 ゲームが動いてるコアのCPU使用率が70%以下じゃないと難しいんじゃないかな。 相手の動きを感知するのが実際無理だと思うけど、どうやって処理するつもり? 単純に必殺技やハメ技をボタン一発でやるんならそんな精度いらないと思うんだけど。
565 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 10:58:37 ID:AAcMg2An0] >>564 レスありがとうございます そんなに処理能力がいるんですか 考えが甘かったようです 専用ハード買うか、作る方向で検討してみようと思います > 相手の動きを感知するのが実際無理だと思うけど、どうやって処理するつもり? 決まった動きを繰り返すマクロで練習するつもりです 対戦では使いません
566 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 12:45:47 ID:qC8zwhig0] 対戦で使わんなら別に数十msぐらい遅延しても問題なくね
567 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 15:54:46 ID:PezqNhcY0] 正確に1フレーム辺りの精度にせんでも、格闘ゲームのボタンって待ち時間があるだろ。 技を繋ぐ時に0.1秒くらいのタイミングでボタン押してれば戻り動作がキャンセルされるという感じで。 ボタンの受付待ち時間が全くないゲームは糞ゲーだぜ。
568 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 21:41:42 ID:wus9Xr/I0] >>529 これどうやんの? uwscをダウンロードした メモ帳にそのまま写して.UWSにした 教えてください
569 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 22:34:49 ID:nxVea3tG0] あぁっと >>529 自分も教えてほしいです
570 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 22:59:32 ID:2rNOwggP0] ?
571 名前:528 mailto:sage [2009/09/22(火) 23:28:04 ID:VsIAyX0MP] >>568-569 □まずWindowsの操作の基本から Windowsは標準でマウスとキーボードの操作がありますが、フォーカス移動はTABキーで、ボタンのクリックはスペースキーでできます。 マウスでクリックすればその瞬間にフォーカスがマウスポインタの場所に移動し、ボタンがクリックされます。 □UWSCを使ってどう実現するか 指定の時刻に投稿したいわけですが、最小限のコーディングで済む方法は、上記の基本操作を使って、時間が来たらスペースキーをクリックする方法です。 エンターキーでも投稿できますが、もし違う画面で発動したら何が起きるか分からないので、被害の少ないスペースキーを使います。 フォーカスを「書き込み」ボタンに移動するために、テキストボックスをクリックして、「書き込み」ボタンにフォーカスが移るまでTABキーをクリックします。 マウスでフォーカスを移動する場合、ボタンをクリックするとその瞬間にクリックされてしまいますが、 マウスボタンを押し下げたままほかのところへドラッグすると、フォーカスだけがそこに残ります。 □UWSCスクリプトの使い方 テキストエディタでてきとーな名前をつけて保存します。拡張子は .uws です。 ファイルの関連付けをしていればファイルをエクスプローラーからダブルクリックで起動すればいいし、 関連付けしてなくてもUWSCを起動してそのスクリプトを読み込んで、開始ボタンをクリックで開始します。 □>>529 使用にあたって気をつけること 起動して1分以内に1回クリックしたら終了します。 起動するタイミングによっては、準備が整う前にクリックして終了するかもしれません。 初めて使う人は、スクリプトの最初の方、カウントダウンするループを20くらいに書き換えた方がいいでしょう。 これを for i = 5 to 1 step -1; fukidasi(i); sleep(1); next こんな風に for i = 20 to 1 step -1; fukidasi(i); sleep(1); next さらに、日付と時刻のアナログ時計を表示して、あとどれくらいでクリックされるのかを常に表示させておくといいでしょう。
572 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:44:21 ID:wus9Xr/I0] >>571 おぉできたwありがと
573 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:44:41 ID:VsIAyX0MP] □>>529 の使い方 正確な投稿のために、Jane等を用意します。ブラウザでも使用可能です。 投稿時刻を調整するスクリプトなので、パソコンの時計を正確に合わせておきます。 インターネット時刻サーバーで自動調整にしておきましょう。 投稿時刻は Second = 09 で定義してあります。 投稿時刻が9秒になるように、早めにクリックされます。 通信環境等によっては微妙な調整が必要になると思います。 その場合は下記2行の585を適当な数字に書き換えてください。 > Repeat; t = GetTime(); Until G_TIME_ZZ < 585 > Repeat; t = GetTime(); Until 585 <= G_TIME_ZZ 【手順】 0.このスクリプトを使うときは、日付と時刻の調整窓のアナログ時計を表示させておいた方がいいでしょう。 1.Janeなどで、投稿するテキストを入力し、フォーカスを「書き込み」ボタンに移動します。 2.>>529 のスクリプトを起動します。 3.Janeもしくはブラウザのタイトルバーをクリックしてアクティブにします。 Janeの場合は投稿窓をクリックして「書き込み」ボタンが表示されるようにします。 ウィンドウの枠だけをクリックしてもフォーカスは移動しません。 もし他の部分をクリックしてフォーカスが移動した場合は、もう一度フォーカスを「書き込み」ボタンに移動します。 Alt+TABで戻った方が確実かもしれません。 4.その状態でカウントダウンが終わり、さらに時間が来ると投稿されるので、そのままで待ちます。 5.時間が来るとスペースキーがクリックされ、スクリプトは終了します。
574 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 03:09:33 ID:39u478qO0] インターネットを理解していないこの馬鹿は何者? しかも自作自演で質問・回答とか頭おかしいだろ 書き込みボタン押下でどうやってパケットのルーティングまで制御する気だよw
575 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 04:08:46 ID:IbHZjMsfP] >>574 なんなの?この釣り 聞かれたから答えただけだよ。 2ちゃんねるへの書き込みでなんでパケットとかルーティングとか関係あるんだよ。
576 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 09:41:02 ID:IYhj49D60] 正確な投票にはそういうのが必要だからじゃないの 超簡単なスクリプトを長々と説明してるもんなんだからうぜえとでも思ったんだろ
577 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 11:07:08 ID:IbHZjMsfP] >>529 の最初に >出来るだけ正確に投稿するにはどうしたらいいかと考えて、 >JaneDoeViewの「書き込み」ボタンをクリックすることにした。 >以下即席スクリプト ソースの最後では >kbd(VK_SPACE, UP) って書いてあっても分かんないみたいだから、「どこが分からないの?」とかいちいちやり取りする良り 一から十まで丁寧に書けば1レスで済むとおもったんだよ。 結局長くなって2レスになったけど。 なのにいちいちあおりを入れる奴がいるから無駄にレスを消費してしまうんだよな。 それより栗ご飯はやっぱり炊飯器で炊いた方がいいかもな。 高圧鍋だとやわらかいけど・・・水が多かったのかやわらかすぎて栗の歯ごたえがなくなってる。 いや、栗だけなら高圧でもほくほくなんだよな。 水がやっぱり多すぎなのかなあ?
578 名前:名無しさん@お腹いっぱい。 [2009/09/23(水) 11:48:36 ID:39u478qO0] >>575 正気で言ってる? パケットはインターネットのどこを通って相手サーバーに辿り着くか保証しない ping,tracert打てば分かるけど到達時間のゆらぎはここの影響が一番大きくて 光回線だろうと専用回線だろうと正確に書き込むなんてスクリプトの創意工夫じゃ無理な話
579 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 11:50:59 ID:xgMteTKH0] 出来るだけ正確にってことでいいじゃないですか
580 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 13:33:41 ID:IbHZjMsfP] >>578 まさかその話を蒸し返すとは思わなかったよ。 ほとんどの板では最小単位は秒なので、多少の揺らぎがあってもきっちりあわせることは可能ですよ。 だって、いくら揺らぎがあっても最速より早くなることはないわけで、 そうすると遅れが1秒近くまで許容されるわけです。 pingで100msを超えることなんて、海外鯖じゃないかぎりあまりないことでしょ。 150msくらいなら国内でもありえなくはないけど。 通信が安定してない無線環境は論外ってことで。 あと、ルートがころころ変わるみたいに言ってるけど、基本的にトラフィック分散を意図的にでもしてない限りは同じルート通るでしょうに。 そもそも鯖の時計が正確かどうかも分からないんだから、期待通りの時刻になるかどうかは何度か書き込んでチェックしておくのは前提ですよ。 そんでもって、現実にほぼ100分の2秒プラスするくらいの誤差に収まっているんだから、揺らぎの影響をいくら説いたところで無駄です。 1000分の1秒の正確さを要求するとしても、Windowsがそんな正確に時間を刻むことが出来ないのに通信がそれ以上正確に出来るわけもないんですよ。 最近のWindowsは1000分の1秒まで正確に刻めるんだっけ?知らないけど。 >>579 ですよねえ 原爆の爆縮レンズじゃないんだからそこまで正確である必要はないのに。
581 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 14:04:12 ID:IYhj49D60] 時間刻んでるのはマザーボードじゃね
582 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 17:51:15 ID:7k3kCu8k0] まあ一言で言えば、長文ウザイ、ってことだな
583 名前:名無しさん@お腹いっぱい。 [2009/09/23(水) 18:32:42 ID:39u478qO0] なんでこう延々と想像だけで話を進めるのかねぇ。ちっとも確認する努力をしない。 いつから2chは日本に移転したんだかww 御託を並べるのはいいからコマンドプロンプトでこれ打ち込め(Ctrl+Cで停止) ping -t pc12.2ch.net んで出力される数字がルーティングは一定ではない証拠になっている これの意味分かるか?意味が分からないというなら解説してやるよw ↓ pc12.2ch.net [207.29.225.90]に ping を送信しています 32 バイトのデータ: 207.29.225.90 からの応答: バイト数 =32 時間 =139ms TTL=50 207.29.225.90 からの応答: バイト数 =32 時間 =131ms TTL=51 207.29.225.90 からの応答: バイト数 =32 時間 =119ms TTL=51 207.29.225.90 からの応答: バイト数 =32 時間 =134ms TTL=50 207.29.225.90 からの応答: バイト数 =32 時間 =120ms TTL=51 207.29.225.90 からの応答: バイト数 =32 時間 =127ms TTL=50 207.29.225.90 からの応答: バイト数 =32 時間 =136ms TTL=50 207.29.225.90 からの応答: バイト数 =32 時間 =120ms TTL=51 207.29.225.90 からの応答: バイト数 =32 時間 =135ms TTL=50
584 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 19:42:45 ID:IYhj49D60] ちょっとそれは不安定すぎ 俺のだと134msTTL52、135msTTL52を行ったり来たりするくらいでほぼ一定 つまり通信環境が安定してればルーティングなんて計っても計らんでも同じだぞ まあどっちにしろ100%なんてないだろうがw
585 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 23:38:33 ID:1bHA/wNB0] >>581 Reply from 207.29.225.90: bytes=32 time=151ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=146ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=148ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=149ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=153ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=149ms TTL=45 Reply from 207.29.225.90: bytes=32 time=148ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45 Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
586 名前:585 mailto:sage [2009/09/24(木) 00:12:31 ID:hVVrxn3L0] >>583 pingの応答時間のばらつきがルーティングが一定でない証拠になるのなら、 逆説的に、一定であれば同じルートを通ってることになるわけだ? 俺の場合はたまたま146msがあったけど、基本的に147msで安定 5回に1回くらいの頻度で1ms以上遅れるブレがあり、>585のリストでは最大153ms つまり、最大でも6msしか遅れないわけだ。 そしてこのばらつきは同じルートを通っていることを示すものだ。 トラフィックによる遅れがあり、それが往復で6msということだ。 そもそも、同じルートを通っても時間にばらつきが出るのはネットワークの基礎だ。 ルートを保障しないというのはルートを変更できるということであって、どこを通っても到達可能という意味ではない。 君の家、君の会社の出口はたくさんあるのか? 複数の出口を使ったためにホームページが機能しなくなった淀橋。comのような例もあるが、基本的に出口は一箇所だろう。 僕は拠点を数箇所持っている会社で、会社の出口までのpingを見ていたが、専用線とは言え細い帯域を使っていたため >>585 程度のばらつきは発生していた。 他にルートがないのは、俺がこの目でそれぞれの装置の設置とケーブルの接続を確認していたんだから間違いないんだ。 ・・・そういえば複数の回線を束ねる方法があったっけね。 でも、基本的に同じ仕様の回線を使って同じ相手への接続をするだろう。 複数の相手にランダムに送りつけるなんてありえないね。
587 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/24(木) 13:14:20 ID:LnjpJUXE0] いくらなんでも583はブレすぎw
588 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/24(木) 15:45:37 ID:WyG49l9r0] >>587 シーっ 自分で気づいたとき 顔まっかっかにになるおw
589 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 12:45:09 ID:i6V0HPzG0] サブに使ってるノートパソコンを買い換えたんだけど OSは Windows Vist HB です 今までXPで作ったuwsファイルが動かないんだよね それでvist HB にて カメラモードで記録して再生してみたけど 動かないorz どうなってんだかさっぱりわかりません VistでUWSCを使えないでしょうか? 自分にとってUWSCは物凄く大切なツールなので 最悪の時はOSの入れ替えしてでも使っていきたいです どなたかわかる方おられましたらお願いいたします
590 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 12:54:56 ID:pa8lBq8j0] >>589 VISTAなら管理者権限で動かせば動く なお、SP1とか入ってないと動かない ショートカットの上で右クリック 項目に管理者として実行(A)
591 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 13:06:04 ID:i6V0HPzG0] >>590 さん 早速のレスありがとうです^^ 一応SP1のようです 管理者権限ってのがよくわからないんですけど 教えてもらったとおりにやってみます 1時間くらい後になるかもしれませんが 後ほど報告します
592 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 13:53:25 ID:i6V0HPzG0] >>590 さん できました! ショートカットの上で右クリック 管理者権限で実行 これで以前作ったUWSファイルが見事に動いています! >>590 さんマジでありがとです m( _ _ )m
593 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 18:05:14 ID:7JVGpQHe0] firefoxを閉じる方法がわかりません教えてください
594 名前:名無しさん@お腹いっぱい。 [2009/09/28(月) 14:16:23 ID:dKc8Xyde0] 新着情報 / お知らせ 2009/09/28 UWSC Ver4.5c、 Pro版と Free版をリリースしました。 [Ver4.5c] .NETのMDIアプリ対してCLKITEM関数の処理が不完全だったのを修正 高レベル記録にてMDIアプリの記録ができなかったのを修正(一部不可) HASHTBLの宣言にて変数名に一部使えない2バイト文字があったのを修正 SAFEARRAY型を作るSAFEARRAY関数を付けた CHKIMG関数にてヒット数/順番指定ができるようにした CHKIMG関数にて各色に対し色幅を持たせられるようにした SELECT-SELEND構文にてCASE部を先に全部計算していたのを随時計算するように変更した Pro版: CREATEFORM関数にてFOM_NOSUBMITが指定されていると frame表示ができなかったのを修正 RecIE:表示項目の取得にて、タグにidがある場合はタグの順番では無く idを記録するようにした UDebug:Trace実行時にて行末に横スクロールしていたのをしないようにした
595 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 16:40:50 ID:irclUfzT0] nyやshareでダウンロード終わったrarなんかを自動的に解凍してくれるようなスクリプト組めない? いちいち揃ったか確認してってちとめんどい
596 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 18:00:48 ID:PAsbME+j0] それを人に聞いて教えてくれる奴がいるとでも思ってるのかP2P厨
597 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 18:08:44 ID:XYX6H4wP0] >>593 いくらなんでもそれはわかるだろう
598 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 18:09:50 ID:J6+ufsV/0] >>593 >>595 まずPCを窓の外に投げ捨てます。それから、
599 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 18:57:20 ID:plPjciD00] 服を脱ぎます。それから、
600 名前:593 mailto:sage [2009/09/28(月) 19:40:54 ID:tD6dVglK0] わからないなら答えなくて良いよ
601 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 20:35:45 ID:irclUfzT0] >>596 P2P程度でガタガタ言うな器が知れる
602 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 21:59:58 ID:kvY9Z34d0] >>600 今日はここ見るの初めてなので質問気づかなかったですよ 関数抜けるなら EXIT EXIT って書けば終了しますよ quitでも抜けるかも 自分もまだ超初心者なのでわかんないんだけど 後で調べてみるよ 今からお風呂入ってからなので日付変わるかも^^; 詳しい人教えてあげればいいのにね わかるかどうかは自分も自信ないけど 期待しないで待ってて^^; 取りあえず返事はするから。
603 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 22:18:42 ID:tD6dVglK0] CTRLWIN( ID, CLOSE) ここまでわかったけど このIDってのがどうやって調べるのかが疑問
604 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 23:06:05 ID:J6+ufsV/0] まあとりあえず人に物をたずねる態度ではないわな しかもそんな超初級の質問だし
605 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 23:15:48 ID:kvY9Z34d0] >>600 お待たせしました^^ 私の環境(WindowsXPpro)で試してみました Firefoxの置いてあるフォルダーの部分は書換えてください idについてなんですが 私もよくわからないんですよ^^; なので先人の方のフォロー待ちしてください 一応、私は下記のようにIDという名前の変数を自作してます^^; ---------------------------------------- //DドライブFirefox 30フォルダーのFirefox起動 id = EXEC("D:\Firefox 30\firefox.exe") //10秒間休憩^^ SLEEP(10.0) //変数idに指定してあるFirefoxを 終了(QUIT) CTRLWIN(id, CLOSE2) ---------------------------------------- >>604 さん みんな仲良くしましょう^^
606 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 00:05:20 ID:NdTMXo030] id = GETID("", "MozillaUIWindowClass", -1) CTRLWIN(id, CLOSE) これでいいだろめんどくせえ
607 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 00:09:24 ID:G9pasUcy0] >>601 p2pをやっている時点で器が知れる
608 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 02:09:09 ID:MkiJ7lnC0] >>595 スクリプトでなくとも、分割ファイルじゃない限りBACTHファイルでも出来そうだ
609 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 06:34:07 ID:FQvNwZh30] >>601 程度って言う時点で終わっていることに気が付かない無能 ネタでも質問して答えがもらえなくて逆ギレするのは古い 0点 他人の器を計測出来る技量があるなら自分で作りましょう^^;
610 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 07:15:22 ID:i5//2YOSP] ダウンロードしたファイルの展開を自動化して勝手にキンタマに感染してればいいよ
611 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 10:05:41 ID:luOmQHoy0] 展開とファイル実行機能をつけたスクリプトをEXE化してプレゼントしてあげよう
612 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 15:26:34 ID:0xdw+62LP] 4.5cだとselectが仕様変更したせいかこんな関数すると2ループ目で 構文エラーになるぞ。バグ? for z = 0 to 5 print z Test() next procedure Test() dim cb cn = "efg" select cn case "efg" cb = 1 case "hij" cb = 2 selend fend
613 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 20:17:33 ID:RXL7LTN80] >>612 漏れのとこはprocedure Test()がSyntax error吐く procedure Test(a)と呼び出しもTest(0)に書き直すと5まで回る
614 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/30(水) 16:39:27 ID:IWwKgH1S0] >>612 エラーになる最小構成 Uスクリプト: SyntaxError:PROCEDURE TEST()2行目: TEST() 二回目の呼び出しでエラーになる Test() Test() procedure Test() select 1 case 2 selend fend
615 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/03(土) 15:10:10 ID:PrU7zT590] >>612 最新の4.5c1で問題ないようですね。
616 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/03(土) 15:17:35 ID:PrU7zT590] あ、修正内容記載忘れ >SELECT-SELEND構文のCASE部の演算にて、正しく処理できないパターンがあるエンバグ修正
617 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/04(日) 19:21:28 ID:nTBPfdcN0] 他のアプリのフォーム上のテキストを取得するにはどうしたらいいんでしょうか。 手順だけでも教えてください。
618 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/05(月) 00:07:31 ID:CH7gUdqSP] まずヘルプを見ます
619 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/05(月) 00:08:51 ID:PJFhomP10] それから服を脱ぎます
620 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/05(月) 03:49:26 ID:NhTXeCvfP] >>617 ttp://scripts.web.fc2.com/scriptsup/GetItem.uws
621 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 08:32:17 ID:c/PWe0slP] HSPは皆さん名前くらいはご存知だと思います。 簡単にGUIを利用できるスクリプトです。 GUIを利用するには操作可能なウィンドウのハンドルが必要になりますが、 hsp3imp.dll と .ax 形式のスクリプトファイルがあればHSPの基本的なスクリプトが実行できます。 ハンドルにNULLを渡すしかないのでデスクトップ画面の左上になにやら表示されるだけですが、 同一プロセスで実行するので、UWSCのTHREAD関数と同じで、UWSCのメインが終了すれば自動的にHSPスクリプトも終了します。 実用的なコードではありませんが、UWSCと連携できる方法が分かったので、メモ代わりに置いておきます。 ---------------------------------------------------------------- def_dll _hspini@16( Long, Long, Long, Long):long:hsp3imp.dll def_dll _hspbye@16( Long, Long, Long, Long):long:hsp3imp.dll def_dll _hspexec@16( Long, Long, Long, Long):long:hsp3imp.dll def_dll _hspprm@16( Long, Long, Long, var string):long:hsp3imp.dll _hspprm@16( 0, 0, 0, NULL ) _hspprm@16( $102, 0, 0, "test.ax" ) _hspini@16( $100, 300, 200, 0 ) _hspexec@16( 0,0,0,0 ) _hspbye@16( 0,0,0,0 )
622 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 12:07:27 ID:MmWu6XUb0] いえ、結構です
623 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 13:51:43 ID:/f+XFp6+0] そういうなよw HSP利用してるひとには、何か役に立つ場面があるんだろう。よくわかんないけど。
624 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 14:08:00 ID:iGIKVHSK0] GUIって書いてあるし、インターフェースの作り方が簡単に出来るんじゃね? PRO版でも以外にhtmlで組んで値の取得はめんどいきがするしなぁ。
625 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 14:40:59 ID:aEe1fbMS0] スクリプトが中心のUWSCにGUIは要るのかどうか
626 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/08(木) 18:39:23 ID:POs5weyE0] GUIは要るだろw 処理は分岐させるときに、 マウスでボタン選ばせることはよくある。
627 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/08(木) 19:32:12 ID:qRylH6WX0] 漏れはGETKEYSTATE(と反応いるならFUKIDASI)派
628 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/08(木) 20:16:25 ID:G90OFwF50] そういえば、UWSCをゲームの自動化に使う人が多いけど、 UWSCはドットと一定範囲のキャプチャ、そしてあらかじめ用意した画像との一致ができるけど、 もーちょっと複雑な処理をするとなると普通の開発言語が必要になってくる。 DLLを作れば呼び出しはしやすいけど、DLLを作るのはちょっと大変。 HSPは個人というか同人のゲーム開発によく使われているから、作りやすそうな気がする。 >>621 の呼び出し方法だとデータの受け渡しは出来なさそうだけど・・ 確かHSP独自の管理データのバッファを受け渡すオプションがあるんですよ。 メモリアロケートしなきゃいけないからUWSCで用意するのはきついか・・・ そもそもそのバッファをどう使うのかも分かんないし。 直呼びするんじゃなくて中間にそのデータを処理するライブラリが必要になるよな。 結局DLLは作らなきゃいけないのか。
629 名前:名無しさん@お腹いっぱい。 [2009/10/08(木) 20:54:12 ID:UBSNf1qA0] msgboxでYES or NO を選択させているときに バックグラウンドのログウィンドウのサイズ変更やスクロール操作をさせたいのですけど どーにもウィンドウ自体がロックされてて動かない。 何かいい処理手段はありませんか。
630 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/08(木) 21:08:28 ID:qO5rVH0kP] >>629 ためしに別スレッドで表示してみたけど、スレッド関係なくログ窓はロックされた。 最初にログ窓を表示してsleep()してる間にサイズを変更しておくしかないね。 毎度変更するのが面倒なら、ログ窓の初期サイズはどっかの初期設定で変更できるんじゃないかな。 参考にはならないだろうけど、UWSCの別スレッドで>>621 の方法で呼び出したHSPスクリプトで表示した窓なら確かログ窓をロックしなかった。 モーダルとモードレスの違いかな。
631 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/09(金) 12:31:18 ID:b97IpTpi0] >>630 やっぱりそこは仕様として受け入れるのが妥当みたいですね…
632 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/09(金) 21:26:03 ID:arGnFET40] OPTIONで、SLCTBOXとかMSGBOXのタイトルは指定出来るけど、 Printで出てくるLogのウインドウのタイトルは変更出来ないですよね? やるとしても、指定したタイトル.uwsを勝手に生成させて、 それにPrintしたい文を引数として渡しながら起動させて、そっちのプロセスからLogウインドウ生成させる とか、 もしくはFukidashi使ってPrintまがいの関数作って、常に一番上に同じ文字列を表示させる事で代用する感じですか?
633 名前:名無しさん@お腹いっぱい。 [2009/10/10(土) 19:09:22 ID:x/VCcQim0] ふと思ったんだがUSBケーブルで携帯電話に繋げば携帯電話のキーも自動操作可能?
634 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/10(土) 19:16:07 ID:utpQqVzD0] 無理 携帯電話を接続する場合、モデムとして認識されるだろう。 モデムとしてダイヤルすることは、通信ソフトを使えば可能だが、通話は・・ Windows98には通話に使えるダイヤラーがあったけどな。
635 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 00:22:44 ID:35okaGI10] UWSCで初めてプログラムを触ったんですが、基本的なことがわからないので質問します。 for i = 0 to 30 A = ループの終了条件1 B = ループの終了条件2 ifb FLAG = 0 then if A then break else if B then break endif next for i = 0 to 30 ifb FLAG = 0 then A = ループの終了条件1 if A then break else B = ループの終了条件2 if B then break endif next どちらが正しい処理の仕方(処理的に軽い)ですか?
636 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 00:36:00 ID:PutYKpoI0] for i = 0 to 30 ifb FLAG = 0 then if ループの終了条件1 then break else if ループの終了条件2 then break endif next これじゃいけない? 後者の方が条件Aにマッチする時は条件Bの評価をしなさそうに見えるけど、 実際はそうでないことも多いからやってみないとわからんな。
637 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 02:58:02 ID:VZNQjdxo0] FLAGが0か1なら for i = 0 to 30 if (FLAG XOR ループの終了条件1) OR (FLAG AND ループの終了条件2) then break next とかやっちゃいそうな気がする。 短く書けるけど読みにくいし早くは無さそうだがw ORは確か片方成立で飛ぶんじゃなかったっけかな?
638 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 03:08:56 ID:bm9Dl8WM0] そもそもFLAGをforの中で変えてないのだから ifb FLAG=0 then for i = 0 to 30 A = ループの終了条件1 if A then break B = ループの終了条件2 if B then break next endif としてfor〜nextの間を省けばいい FLAG変数への参照を無駄にループ数分行っていたのを省略できるし、forの中で一切FLAGをいじってない 時間の無駄すぎる
639 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 03:21:48 ID:G3PJrjiY0] >>638 いや、マルチスレッドでflagをセットするのかもしれない。 ちょうど昨日くらいにマルチスレッドで同じ変数への演算を試したが、タイムラグはあるものの矛盾は起きなかった。 絶対に起きないというテストじゃなくて、ログに吐いてざっとみた感じだけどな。 データ保持時間が最短のインクリメント(X=X+1)だったから矛盾しなかっただけかもしれないが、 実際マルチスレッドでやり取りするのはその程度の小さいデータだしな。 >>637 UWSCの or はビット演算するんじゃなかったかな。 FLAGにセットするデータとループの終了条件1、2が0または1しかセットしないと決めてあるなら大丈夫だろうけど。
640 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 03:38:04 ID:bm9Dl8WM0] >>639 ほい、if文の中のorの動きを見るサンプル マウスの真ん中ボタン押すと次の数字をチェックに動く 動かす限りは、左右どちらかの条件を満たしたときthenの処理を行うっぽい for a=-2 to 2 for b=-2 to 2 ifb a or b then fukidasi(a+"|"+b) while GETKEYSTATE(VK_MBUTTON)=FALSE WEND while GETKEYSTATE(VK_MBUTTON)=TRUE WEND else endif next next
641 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 22:27:37 ID:jrmsphI70] z = 1 repeat IESetData(IE,True,"btnG","u-tan",z) z = z + 1 until z > 400 終了条件が400となっていますが、400以下のときがあり そのまま終了せずに止まってしまいます。 400以下の場合はどのような終了条件にすればいいのでしょうか?
642 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 22:38:27 ID:xJwyuOU/0] while IESetData(知らない) z=z+1 wend
643 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 22:57:01 ID:71hzl6RX0] for z = 1 to 400 IESetData(IE,True,"btnG","u-tan",z) next
644 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 23:07:14 ID:jrmsphI70] >>642-643 どちらも駄目でした・・・
645 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 23:13:52 ID:Duzrrw3q0] z=1 while z<400 and a=TRUE a= IESetData(知らない) z=z+1 wend
646 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 23:51:29 ID:jrmsphI70] >>645 変数aを上に記載してやったら どうにかできました。m(_ _)m
647 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/14(水) 00:48:59 ID:21DOA/fB0] ということはこれだな for z = 1 to 400 if false = IESetData(IE,True,"btnG","u-tan",z) then break next
648 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 17:56:31 ID:UljGJ3ay0] ちょっと疑問に思ったんだけど、 「false = 条件」 と、 「条件 = false」 って普通はどっち?
649 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 18:55:03 ID:bcXkiyj70] C言語で > if 変数 = 状態 ってやっちゃうと代入になっちゃうから > if 状態 = 変数 って書くべしっていうのはある でもBasicは = で比較だからどっちでも同じ ただ、比較対照が長い関数の場合、どれとどれを比較してるんだかわかんないので > false = 関数 ってしたほうがいい。 > if 関数 = false then と書くと、 > if 関数 then と間違えやすい だから、Basicでは > if false = 関数 then と書くのをお勧めする
650 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 23:21:40 ID:a8XdqmYx0] 初歩的な質問だと思いますが、 a = 1 IFB a != 1 print "a != 1" ELSE Print "a = 1" ENDIF で、表示されるのがa != 1というのは、仕様ですか? エラー出ないのに、=を論理否定して≠にしている訳では無いのかな。 上記をC言語的なイメージで解釈したように使うには、 a = !1か、!a = 1か、a<>1にしなければならないようですが、 a<>1が一番解りやすいですかね?
651 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 00:12:35 ID:d8MsK2iH0] >>650 それなんで通っちゃうんだろうね 確かに != の表記が間違ってるみたいだけど。
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 14:55:14 ID:yaBuphLm0] saveimgを使って保存した画像をchkimgで調べるのを組んでるのですが chkimgの座標指定が今一うまくいかないのでアドバイスお願いします CHKIMG( 画像名, [透過色/色無視, x1, y1, x2, y2, 番号, 色幅] ) X1――X2 | | Y1――Y2 このような解釈でいいのでしょうか? ACW(GetID("ログイン")) LOGIN = GetID("ログイン") MOUSEORG(LOGIN) Repeat log = CHKIMG("log.BMP",-1) in = GetID("ログイン") ifb log then print "認証" print "X"+G_IMG_X+"Y"+G_IMG_Y BTN(LEFT,CLICK,G_IMG_X+20,G_IMG_Y+20,500) endif sleep(0.1) Until in < 0 この様に一度動かしてみて print "X"+G_IMG_X+"Y"+G_IMG_Y で出た座標を log = CHKIMG("log.BMP",-1,)に入れてみるのですが上手く認識してくれません 座標指定しなければちゃんと認識はしてます CHKIMG("log.BMP",-1,0,0,1000,1000)などにすると認識はしますが 実際 print "X"+G_IMG_X+"Y"+G_IMG_Y で出てくる数値は20,400程度なので これに余裕を持たせ CHKIMG("log.BMP",-1,0,0,200,600) にしても認識してくれません 何がいけないのでしょうか?