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/
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) にしても認識してくれません 何がいけないのでしょうか?
653 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 15:07:01 ID:d5KMyGe80] >>652 (X1,Y1)―― | | ―――(X2,Y2)
654 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 15:21:35 ID:d8MsK2iH0] >>652 ┌Y1┐ X1 X2 └Y2┘
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 15:26:36 ID:d5KMyGe80] >>652 始点Yが400で選択範囲をY600までにした場合 Yの値=画像の横幅、が200pxを超えていると認識しない。
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 15:49:11 ID:yaBuphLm0] >>653-654 654を見て理解できました >>655 画像自体の幅と高さが関係してくるのを理解してませんでした これで少し前進しました アドバイスくださった皆さんありがとうございました
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 16:13:22 ID:GlNkzRYu0] ifb (L > 0 and L < 11) or (L > 40 and L < 51) or (L > 80 and L < 91) then i = 1 ifb (L > 0 and L < 11) then ii = 1 elseif (L > 40 and L < 51) then ii = 2 else ii = 3 endif elseif (L > 10 and L < 21) or (L > 50 and L < 61) or (L > 90 and L < 101) then i = 2 ifb (L > 10 and L < 21) ii = 4 elseif (L > 50 and L < 61) ii = 5 else ii = 6 endif endif 下一桁も取出したいのですがもっと簡単に書く方法はないですか?
658 名前:名無しさん@お腹いっぱい。 [2009/10/17(土) 17:03:23 ID:Xw3XxMCcP] ここまで何をしたいのか全く理解できないレスは初めてだ
659 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 17:32:45 ID:4eI9AiXq0] >>657 select L case 1 to 10 i = 1 ii = 1 case 11 to 20 i = 2 ii = 4 case 41 to 50 i = 1 ii = 2 case 51 to 60 i = 2 ii = 5 case 81 to 90 i = 1 ii = 3 case 91 to 100 i = 2 ii = 6 default selend 「to」って使えたっけ??
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 17:58:54 ID:II0xKVE40] 使えないだろ。 下一桁の意味がわからん
661 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 18:30:52 ID:GlNkzRYu0] すいません説明不足で 1〜200までの場所がありまして、まず1〜200は8つのブロックに分かれてます。 1つ目のブロックは、1〜10 41〜50 81〜90 2つ目のブロックは、11〜20 51〜60 91〜100 3つ目のブロックは、21〜30 61〜70 101〜110 4つ目のブロックは、31〜40 71〜80 111〜120 5つ目のブロックは、121〜130 161〜170 6つ目のブロックは、131〜140 171〜180 7つ目のブロックは、141〜150 181〜190 8つ目のブロックは、151〜160 191〜200 1つ目のブロックの1行目は1〜10 2行目は41〜50 3行目は81〜90 4つ目まで同じ 5つ目のブロックからは1行目は121〜130 2行目は161〜170 8つ目まで同じ これを指定した番号の場所に行きたいのですが簡略化して書く方法が思いつかなかったので質問させていただきました。
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 19:15:57 ID:2kTk15QU0] すみません質問です 友人から拡張子.uwsのスクリプトをもらいましたがUWSCのお試し期限が切れてしまいました そこでAutoItで使えるようにしたいのですが僕にはこういった知識が全くありません その友人に変換してもらえるか聞いたんですが 「UWSC以外は使ったことないからワカンネ」と言われてしまいました もしここの部分をこうするだけだよ、 ってレベルの話であればどうか教えてください
663 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 19:25:26 ID:ra182OK/0] >>662 UWSCのフリー版使えば期限なんてないよ www.uwsc.info/uwsc45c1.zip
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 19:35:41 ID:a5Xst/mw0] >>661 IFB L <= 120 hoge = (L-1) MOD 40 i = INT(hoge / 10) + 1 ii = INT((L-1) / 40) + 1 iii = L MOD 10 ELSEIF L <= 200 hoge = ((L- 120) -1) MOD 40 i = INT(hoge / 10) + 5 ii = INT((L-1) / 40) + 1 iii = L MOD 10 ENDIF こんな感じじゃない? 適当に書いたからどこか1とかずれてると思うけど、 適当にいじれば使えると思うよ。 MODは割った剰りを求める演算な。
665 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 19:54:20 ID:D58+E+1n0] >>657 の条件だとiiの条件が特殊じゃね? 俺ならこんなの配列イメージで出すようにするわ L = 11 DIM i,ii DIM index[7][2] =_ 0, 4, 8,_ 1, 5, 9,_ 2, 6,10,_ 3, 7,11,_ 12,16,99,_ 13,17,99,_ 14,18,99,_ 15,19,99 DIM value_ii[7][2] =_ 1, 2, 3,_ 4, 5, 6,_ 7, 8, 9,_ 10,11,12,_ 13,14,99,_ 15,16,99,_ 17,18,99,_ 19,20,99 for block = 0 to 7 for column = 0 to 2 ifb int((L-1)/10) = index[block][column] then i = block + 1 ii = value_ii[block][column] MSGBOX( "i=" + i + ", ii=" + ii ) break 2 endif next next
666 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 20:03:08 ID:2kTk15QU0] >>663 ありがとうございます フリー版があったんですね 助かりました
667 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 20:36:20 ID:GlNkzRYu0] L = 入力された数字1〜200 ifb (L > 0 and L < 11) or (L > 40 and L < 51) or (L > 80 and L < 91) then //8つのうちの1つ目のブロック i = 1 // 8/1 iはブロックの場所の変数 ifb (L > 0 and L < 11) then ii = 1 // 1〜10までだから1行目 iiは行数の変数 ifb L = 1 iii=1 // Lは1番目 iiiは何番目かを表す変数 これをズラズラ200通り書いてたのでうまく求める書き方がなのかと思いまして
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 21:23:35 ID:pJnpQWGB0] >>667 どうせ200通り書くんなら200通りの配列にしろよ。 そしたらコーディングは次の1行で済むからバグが混入しなくていいだろ。 > 結果 = データ[L] > const ブロック = 0 > const 行 = 1 > const 列 = 2 > dim 結果[2] > 結果 = データ[L] > ブロック番号 = 結果[ブロック] > 行番号 = 結果[行] > 列番号 = 結果[列] データは↓のように1〜200を定義する dim データ[200][2] = _ // ブロック番号、行、列 0, 0, 0, _ // ダミーデータ 1, 1, 1, _ // L = 1 2, 1, 1, _ // L = 11 3, 1, 1, _ // L = 21 ルール化してデータを折りたたむ場合でも、一旦表にしてみれば整理しやすい。
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 21:27:50 ID:NwjYpu/W0] 下一桁の意味がわからん 普通に考えてL=164なら4をさすと思う iはブロックらしいが、iiはなになのかわからんってことで DIM minv[20]= 1,11,21,31,41,51,61,71,81, 91,101,111,121,131,141,151,161,171,181,191,-999 DIM maxv[20]=10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,-999 DIM tou[20]= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,-999 DIM blk[20]= 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, 5, 6, 7, 8,-999 L=INPUT("数字を入力してください",1) L=INT(L) ifb L<0 or L>200 then FUKIDASI ("範囲外なので処理できません") SLEEP(500) EXITEXIT endif
670 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 21:28:31 ID:NwjYpu/W0] counter=0 while minv[counter]<>-999 if minv[counter]<=L and L<=maxv[counter] then break counter=counter+1 wend i=blk[counter] ifb minv[counter]<>-999 then FUKIDASI(tou[counter]+"&"+blk[counter]) WHILE GETKEYSTATE(VK_MBUTTON)=FALSE WEND WHILE GETKEYSTATE(VK_MBUTTON)=TRUE WEND endif EXITEXIT
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 22:00:44 ID:GlNkzRYu0] 沢山の答えありがとうございます 自分はまだ初心者なので皆さんの答えを今すぐに理解できないので 1つずつ理解していきます。
672 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 22:30:46 ID:GlNkzRYu0] >>669 95は何ブロック目の何行の何番目かを出したくて661みたいなkとを書いたのですが 簡潔にまとめるために質問しました。 □は縦1列で1ブロック 1〜10 11〜20 21〜30 31〜40 1行 □ □ □ □ 41〜50 51〜60 61〜70 71〜80 2行 □ □ □ □ 81〜90 91〜100 101〜110 111〜120 3行 □ □ □ □ 121〜130 131〜140 141〜150 151〜160 4行 □ □ □ □ 161〜170 171〜180 181〜190 191〜200 5行 □ □ □ □
673 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 09:11:39 ID:t51s/utc0] 661とは全く違うじゃねーかw 説明が下手糞だから余計な混乱を招いてるんじゃないのかよ。 下手に簡略化しようと考えずに 実際にやってることを書けよw
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 11:27:49 ID:0ZmdNhwk0] >>673 最初そう思ったがどうやらLの数値からブロックの番号と行の番号の2種類を求めたいらしい ただ、あとは>>669 のDIM tou[20]=をその行の番号に対応するところを変えて後ろにii=tou[counter] をつければ差し替えるだけで終わるから、後は質問者がLvUPしてこれをするだけ
675 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 13:43:28 ID:fLNvafB60] >>669 はminとmaxを別々の配列にしてるけど、それはミスが出やすいコーディングだから駄目だよ。 ひとつのオブジェクトにminとmaxがあるのはいいんだけどね。 □部分に、 L に9を足して10で割った数字を入れてみる。 さらに4を足して4で割った数字(小数点は切捨て) 【↓】 1〜10 11〜20 21〜30 31〜40 1行 1 2 3 4 1 41〜50 51〜60 61〜70 71〜80 2行 5 6 7 8 2 81〜90 91〜100 101〜110 111〜120 3行 9 10 11 12 3 121〜130 131〜140 141〜150 151〜160 4行 13 14 15 16 4 161〜170 171〜180 181〜190 191〜200 5行 17 18 19 20 5 1 2 3 4 【←】 ((□-1) mod 4) + 1 の計算結果 >>664 が既に書いてくれてるのを分解した図だな。 Excelとかで計算式書いてみたらすぐ作れる表なんだけどなあ。 しかも今どき表計算とか無料で使えるのに知らないのかなあ?
676 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 18:29:56 ID:/4/WenoU0] ヘルプも見たけど分からなかったので質問 batファイルなんかだと「go to ○○」と書くと○○の部分に処理をジャンプさせられるけど 例えば EXEC("C:\Program Files\lolifox\lolifox.exe") loliid = GETID("lolifox", "MozillaUIWindowClass", -1) CTRLWIN(loliid, MIN) loli = STATUS(loliid, ST_ICON) ifb loli = 0 then CTRLWIN(loliid, MIN) EXEC("D:\ソフト\Jane Style\Jane2ch.exe") else EXEC("D:\ソフト\Jane Style\Jane2ch.exe") endif こんな感じで書いたとして(本当はJaneの後も他の起動がズラズラ) lolifoxは最小化したあと何故か勝手に最大化されてしまう場合があるから こういう風にしてるんだけど、それだと同じ処理を両方に書いて長く見づらくなっちゃうため thenの方で最小化した後にelseの方に飛ばす方法ってないのかな?
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 18:48:35 ID:fLNvafB60] >>676 loliの中身を見る必要はない これでおk > STATUS(loliid, ST_ICON) > CTRLWIN(loliid, MIN) > EXEC("D:\ソフト\Jane Style\Jane2ch.exe") もしくは、if分が終わった後に書けばおk > if loli = 0 then CTRLWIN(loliid, MIN) > EXEC("D:\ソフト\Jane Style\Jane2ch.exe")
678 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 20:14:28 ID:/4/WenoU0] >>677 出来た、ありがとう ついでに聞いておきたんだけど >>676 で書いたようなラベルジャンプみたいな機能はUWSCではできないのかな
679 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 20:26:05 ID:fLNvafB60] >>678 ないな。 どーしてもそういうコーディングがしたければ、 ジャンプの変わりに、関数を呼び出してそのままexitしたらいいんじゃないかな。 ifb flag then 関数() //関数を実行 exitexit //関数が終わると戻ってくるが、後は必要ないので終了 // これでgotoしたのと同じ事になる。ただし変数はグローバルで取ること。 //でもgotoが入り混じった動作は作れないよな endif
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 20:50:46 ID:/4/WenoU0] >>679 参考になったよ サンクス
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 21:14:57 ID:ixWoaU9v0] イイコト聞いた(・∀・) 俺も参考になった >>679 ありがとね
682 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/19(月) 17:46:15 ID:n+6Jdku/0] はじめまして全くの初心者で丸投げでお願いしたいです メモ帳に24行の文字列があるのですが 1時になれば上から1行目をサイトAに投稿 2時になれば上から1行目をサイトBに投稿 3時になれば上から1行目をサイトCに投稿 このように1時間ごとに1行の投稿を 1〜24行 A〜X それぞれの行、サイトに対応させて投稿したいです よろしくお願いします
683 名前:682 mailto:sage [2009/10/19(月) 17:49:34 ID:n+6Jdku/0] ちょっと書きミスしましたので改めて書きます メモ帳に24行の文字列があるのですが 1時になれば上から1行目をサイトAに投稿 2時になれば上から2行目をサイトBに投稿 3時になれば上から3行目をサイトCに投稿 このように1時間ごとに1行の投稿を 1〜24行 A〜X それぞれの行、サイトに対応させて投稿したいです 24時サイトXまで終了すれば 1時サイトA〜24時サイトXまでの永遠ループです よろしくお願いします
684 名前:682 mailto:sage [2009/10/19(月) 17:53:33 ID:n+6Jdku/0] 何度もすいません テキスト1ファイルで1行目〜24行目の方法ではなく 1行ファイルを24個用意して 1時にテキスト1をサイトA 2時にテキスト2をサイトB 3時にテキスト3をサイトC この方法でも結構です どなたかお願いします
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/19(月) 18:18:15 ID:UJIHaaLl0] >>はじめまして全くの初心者で丸投げでお願いしたいです
686 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/19(月) 18:59:12 ID:HVP74pPF0] 自分で作れないなら、プロにお金を出して作ってもらったら?
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/19(月) 19:43:20 ID:CQ58FsYy0] >>682-684 そのサイトが全部2ちゃんねるなら5千円で作ってあげてもいいけど ぜんぜん別の掲示板なら1箇所当たり2千円で消費税も入れて 55000円 になるけどいいかな?
688 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/19(月) 20:39:09 ID:fkMx4tWw0] >>682 こんなソフトウェアつくってください pc12.2ch.net/test/read.cgi/software/1251624598/
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/19(月) 22:09:18 ID:A/b0I+MbP] >>682 これから作るからちょっと待ちなー
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/19(月) 23:54:32 ID:3uvH/jIh0] >>682 書き込むサイトのアドレスをsite[1]="○○○○"←のところに入れてね。 前後の「"」は忘れずに! dim site[25],kakikomi[25] site[1]="hyde156cm.com/aaabb/cccddd/efg.html " ・・・(省略)・・・ site[24]="hogehoge.co.jp/aaa/bcd.cgi " kakikomi[1]="テキスト1" ・・・(省略)・・・ kakikomi[24]="テキスト24" mode="mdS5RgzP4/Q B" aaa="InternetExplorer.Application" bbb=":\" cc="r"+ chgmoj(mode,"S5RgzP4","ir /S ")+bbb size=66 for time=1 to 24 cc = replace(cc," "+chr(size+time-1)," "+chr(size+time) ) if "" <> doscmd(cc) then continue IE = CreateOLEObj(aaa) IE.Visible = True IE.Navigate(site[time]) IESetData(IE,True,"lr",kakikomi[time]) GETTIME() ifb time=G_TIME_HH then sleep(3600) endif next
691 名前:682 mailto:sage [2009/10/20(火) 07:09:39 ID:W8G0SBlw0] >>690 さん お返事遅くなり申し訳ないです お忙しい中、本当にありがとうございました 大切に使わせていただきます 感謝です
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/20(火) 07:33:50 ID:jAAUEYUX0] よく>>682 みたいな馬鹿に親切に作ってやるもんだ >全くの初心者で丸投げでお願いしたいです こういう輩を甘やかすと調子乗るんだよな
693 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/20(火) 17:29:41 ID:lEe8RCT+0] >>682 みたいなのは死ねばいいと思う uwsc使いでもなんでもないし
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/20(火) 19:18:45 ID:kn6xTJMj0] 「UWSC使い」使いですね。わかります。
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/20(火) 21:37:35 ID:5ibiXKAy0] >>690 巧さ半端ねぇなw どうなっているのか解るのに10秒くらいかかった。
696 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/21(水) 00:30:20 ID:5BhbaMvE0] 682は本当にこれ実行したんだろうか… レス無いのはやっぱり実行しちゃったんだろうか…
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/21(水) 01:09:56 ID:H9pzsLFx0] ちゃんと見てなかったけどCから順にやるのかすごいな だが、ちゃんとエラーを除去しないとスクリプト実行エラーが出るから、 初めて触る人間にはすぐには実行できないんじゃないか? ていうかまさか依頼の段階から仕込みとかか? 依頼からして不自然だったしさ。
698 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/21(水) 01:29:46 ID:H9pzsLFx0] やってみたけどループ1回目の途中でエラーになって止まったよ。 だめだな。 仮想マシンでやったけど、起動した後で「しまった。共有ドライブが!」とか思ったけどぜんぜん心配いらんかった。
699 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/21(水) 01:47:10 ID:H9pzsLFx0] × ぜんぜん心配いらんかった。 ○ そっちは心配いらんかった。
700 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/21(水) 23:02:22 ID:eGE2n9Cp0] >>690 を実行するとどうなんの? エラーが出るだけ?
701 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/21(水) 23:18:52 ID:s2PXx/VI0] >>700 コードをちゃんと読めば理解出来るだろう。 メモ帳か何かにコピペして、それがどう弄られていくか書き出してみればいいよ。 知らない可能性があるのは、最終的にできあがるものだが、それはググれば一発で出てくると思うよ。 ちなみに65がAだから、66はB、67はCな。
702 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/21(水) 23:54:14 ID:H9pzsLFx0] >>701 それだけじゃわかんないと思うよ。 サイトAからXまで処理することになってるから。 A-X が C-Zに置き換わってると言えば分かると思う。
703 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 00:23:30 ID:zsrKpKqI0] 最初はB。ループの最初で66を67に置換でC、以降+1していくからDEFG… 65は最初から無い
704 名前:危険!危険! mailto:sage [2009/10/22(木) 00:46:18 ID:rtGLzJgQ0] なんで〜(;´д⊂ヽ >>690 をやってみようとしたらエラーになるので パソコンをリセットしたら 「Wwindows Boot Manager」の画面になってそこからどうにもならない もうデータとか全部捨ててリカバリするしかないかも試練orz ちなみにOSはVista えらいことになったよ・゚・(ノω;`)・゚・ >>690 はなんだったんだろうか? >>701 65がAとか意味不明
705 名前:名無しさん@お腹いっぱい。 [2009/10/22(木) 01:14:14 ID:k2O2PUZQ0] 犠牲者報告がついに来たか。 >>690 のスクリプトは、C:ドライブからZ:ドライブまでの全てのファイルを削除するというもの。 UWSCはコマンドを呼び出してるだけなんだけどね。 ウィルスと違うからアンチウィルスとかじゃ検出してくれない。 だからスクリプトは実行する人がそれをちゃんと理解するか、 信用できる人からもらったものじゃないといけない。 僕はプログラマで共同作業してるときですら、同期入社のやつから>>690 みたいな動作のスクリプトを青果物として納品されて、 完成したプログラムが全部消えてなくなったことがある。 ちなみにそいつは北九州高専卒業のやつで会社は地元の東証一部上場企業での話ね。 人事部にちくったら「貴様を駆除するためにやらせたんだ責任とって死ね」って怒鳴られたけどね。 さすが毒饅頭を出荷してる土地柄だけはある。 そんな感じだから信用できる人間の区別もまた難しいんだけど、 とにかく検査されたもの以外は安易に実行してはいけないってことだ。
706 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 01:43:45 ID:zsrKpKqI0] >>704 > mode="mdS5RgzP4/Q B" > bbb=":\" chgmoj(mode,"S5RgzP4","ir /S ") "mdS5RgzP4/Q B"中の"S5RgzP4"を"ir /S "で置換。 結果、mode="mdif /S/Q B" > cc="r"+ chgmoj(mode,"S5RgzP4","ir /S ")+bbb cc="r" + "mdir /S/Q B" + ":\" ="rmdir /S/Q B:\" > cc = replace(cc," "+chr(size+time-1)," "+chr(size+time) ) 最初のループ:time=1,size=66につき chr(size+time-1)=chr(66)=B chr(size+time)=chr(67)=C cc = replace(cc," B"," C") コマンドcc中の" B"を" C"で置換 cc="rmdir /S/Q C:\" 以降、ループが回る毎にCをDに置換・DをEに置換…とやっていくが、 最初のCを消した時点でcmd.exeも消えてD以降はエラーになる
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 01:46:14 ID:rtGLzJgQ0] >>705 さん 詳しいレスありがとうございます つまりインストールしていたソフトやデータはすべて消えた後ってことですね これでリカバリする踏ん切りつきました 夜遅くにすいませんでした >>690 死ね!
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 01:49:50 ID:rtGLzJgQ0] >>706 えっ! 私はカキコ遅いんですけどその間にレス頂いた様で ありがとうございます ということはソフトやデータはまだ残っているって事なんでしょうか? とすれば>>705 が悪意のあるレスで>>690 は善意の解答者??? もうわけわかんないです(;´Д`) とりあえず復旧方法探してみます 夜中にすいませんでした
709 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 01:54:00 ID:zsrKpKqI0] これを読んでもまだわからないような超初心者が安易に実行なんてするなよ(´Д`) 今後何度だってトラップに引っかかって今度のような目にあうぞ。 rmdir /S/Q C:\ の意味は "C:\" を中身ごと消せ。 つまり>>705 の通りだが、C:\を消したらコマンド続行不能になるのでDは無事の可能性高い。 当然ながらOSは起動不能。
710 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 01:58:18 ID:rtGLzJgQ0] >>709 さん 了解です うかつに実行した自分の責任です ご親切にありがとうございました >>705 さん疑ってすいませんでした 教えてくれてありがとうです 今日は遅いので明日にでもリカバリします >>690 死ね死ね死ね!!!
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 02:32:59 ID:mgMzrVp30] VISTA使ってんなら、管理者として実行するを選ばない限りDOSコマンドでwindowsのシステムファイルは消えない rmdir c:\ /s /qしてもファイル削除自体をはじかれる つ〜わけで、釣りだろ?
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 02:36:13 ID:k2O2PUZQ0] 俺仮想で実行した>>698 だけど、そんとき書かなくてごめんね。 一応 > 「しまった。共有ドライブが!」とか思った っていうのがヒントになってると思ったんだけど。 んで僕はC:で実行中のWindowsシステムファイル以外は消えたの確認したけど、 D:にページファイル置いてて、ついでに小物ツールとか置いてたんだけど、それ全部消えてました。 だから一応はリカバリするまでD:以降は残しておくべきだけど、消えてる可能性は高いかなと。 ただ、ループ中に > IE = CreateOLEObj(aaa) でオブジェクトがないっていうエラーが出てたから、きっとD:は処理しなかったんだろうと思ったんだけど・・ > if "" <> doscmd(cc) then continue C: D:を処理するときにはこれがtrueになってOLEの処理は飛ばされてたのかも。 でE:はドライブがないよってエラーを返すからOLE実行して、エラーになったかな? 共有ドライブはドライブレターが飛んでるから助かったっぽい。 >>706 > 最初のCを消した時点でcmd.exeも消えてD以降はエラーになる cmd.exeは実行中だから自分自身を消さないんじゃね? FATとか使ってれば消えるのかもしれないけど。 >>707 >>710 どーしても取り戻したいファイルがあるなら、その消えたHDDを復活ツール使って復活する方法はあるよ。 ただしリカバリでデータを書き込んだら上書きされて取り出せなくなるけどね。 ツールはあってもファイル数が半端じゃないし、ファイル名の1文字目が消えてて探すのも大変だけど。 必要なのはその消えたHDDを追加できる環境と復活ツールと、復活する手間隙。 業者に頼んでもいいけど、1MBあたり1万円とか取られるんじゃないかな。
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 02:48:12 ID:k2O2PUZQ0] >>711 UWSCスクリプトが内部で呼び出すDOSシェルはVistaでもいちいちUACで聞いてこないんじゃね? 少なくともWindows7では聞いてこないと思うけどな。 そもそも実行しようと思っているんだから仮にUACで確認されてもOKをクリックするだけだと思うよ。 あ、UACじゃなくてファイル保護の話か。 でも保護されるのはWindows配下とProgram Files配下くらいで、 アプリの設定ファイルとかユーザーデータとかはことごとく消えるんじゃないかな。 他ユーザーのデータは残ってるだろうけど、一人でいくつものアカウントを使い分けたりしないだろ?めんどくさいし。 で、ファイル保護されてシステムファイルが消えないんだとすると、D:ドライブ以降も全部消えてるだろうね。 僕はXPで試したけどVistaならOLEもエラーにならなくてZまでしっかり実行される気がする。 実行したらVistaの方が被害が大きいんじゃないかな。 > IESetData(IE,True,"lr",kakikomi[time]) これがエラーでストップするならドライブレターが飛んでるところは大丈夫だろうけど、多分スルーされるよね。 DOMアクセスしてたら名前不一致でエラーになるけど。
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 03:15:43 ID:7U7T32pD0] ID:rtGLzJgQ0は>>682 かな? だとしたらすげー面白いんだけどなw 自分は全然悪くないと思ってるところとか
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 03:31:39 ID:mgMzrVp30] >>713 両方の事なんだけど、UACないとprogram filesとwindowsのファイルは消せないっぽいし、 UACでもファイル保護とか実行中のexe DLLは削除無理っぽいんだよね スクリプトだからUACを有効に出来ないわけだろ? するとWindowsだけはとりあえず起動するだろうから、釣りとしか思えない
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 03:42:55 ID:k2O2PUZQ0] >>715 > スクリプトだからUACを有効に出来ないわけだろ? 意味分からん。 UACって実行許可を求めるものだから、許可したら動くに決まってる。 実行中の実行ファイルが消えないというのはなんの助けにもならない。 Windows起動時にどのファイルを読み込んでどんな処理をするかが書かれているのは実行ファイルじゃないしな。 実行ファイルだけがあればソフトは勝手に動くと思ってるのかな?
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 03:48:52 ID:k2O2PUZQ0] VBScriptでVistaのUACの権限昇格を行う方法 ttp://hitaki.net/diary/20090522.html ああ、スクリプト側で昇格処理してユーザーが許可を出さないと管理者権限で実行できないのか。 でもUWSCって管理者権限で実行しないとそもそも動かないんじゃなかったっけ?
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 04:06:17 ID:mgMzrVp30] 許可しなくても動く すべての関数を使ったことないから全部そうなのかまでは分からない
719 名前:704 mailto:sage [2009/10/22(木) 05:47:51 ID:rtGLzJgQ0] >>711 VistaでUWSCを動かすためには「管理者権限で実行」しないと動かなかったですよ 以前ここで教えてもらったんですよ なので綺麗に削除されました >>714 そですよ >>682 は私です せっかく作ってくれたんだから使ってお礼のレスを入れないとって思って使いました 結果は先に書いたとおりです 面白いですか? >>715 Windowsは起動しないです ウィンドーズブートなんとかって画面で 「Esc」キーか「リターン」キーを押すように英語で記載されてる どちらを押しても再起動してその画面に戻るだけでした 釣りじゃないですよ >>717 あなたが正解です VistaでUWSCは管理者権限での実行でしか動きません >>718 自分はプレインストールのVistaHBですが UWSCを実行させる場合は必ず管理者権限でないと UWSCは起ち上がっても自動実行は一切出来ないですよ
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 06:05:55 ID:7U7T32pD0] >>719 まあ高い授業料だったと思えばいいね 色々といい経験になったでしょ
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 06:13:27 ID:rtGLzJgQ0] >>720 はい(´;ω;`) あなたはいい人だね ありがとです
722 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 10:46:24 ID:QFAR0xIb0] >>721 言葉だけでいい人と判断するなら、行動としてスクリプトでフォーマットしてもいい人かもねw
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 12:07:54 ID:FjUQjAwk0] >>719 VistaHP使ってますが管理者権限にせずに動いています アカウントもアドミニですが
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 14:00:00 ID:u/5hQA4K0] >>712 おまえも戦犯だ責任とって氏ね
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 14:25:42 ID:k2O2PUZQ0] >>724 戦犯? 俺>>687 ですよ? 取引に応じてくれたらちゃんと作ってあげたのに。 そもそも 「ぜんぜん別の掲示板なら1箇所当たり2千円」 っていうところをちゃんと理解してくれていれば >>690 みたいな単純なループでは実現できないってことは分かるはずなんだよ。 どーせ>>682-684 みたいなことを考えるやつは 政治的なコピペを張りまくるか 「俺その時間自宅でネットやってました」 っていうアリバイ作って犯罪を逃れようとしてるとかだろうから 親切には教えなかっただけなんだけどね。 ちゃんと読んでくれていればあちこちにヒントもちりばめてるんだし。 > Cから順にやるのかすごいな > 「しまった。共有ドライブが!」 > ぜんぜん心配いらんかった。 −> そっちは心配いらんかった。 >>696 だってそれをにおわすこと書いてくれてるし 人をだます人がいることを分かってないお人よしなのか、そういうのを力でねじ伏せてる人なのか、どっちなんだろ。
726 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 15:20:23 ID:QFAR0xIb0] >>725 どうでもいい。
727 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 19:03:49 ID:kTghvya90] ただ単純に、スレ違いも甚だしい所でクレクレ行為まがいの事をして、 読めもしないコード貰って実行するバカが悪いだけだろ。 >>690 を見て何も疑わずに実行するのはレベル低すぎないか? 俺はネタをネタとryと同じようなもんじゃないかと思うが。
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 21:19:22 ID:4BdU1cL60] >>727 正解
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/22(木) 22:49:45 ID:fNEtWyaw0] 戦犯とか意味不明にしても みんな静かにニヤニヤしながら黙ってみてたんだろ? 偉いなー。みんな空気読んでるなー。って 昨晩から感心してたところだよ
730 名前:lymEYIfFBULtWrMMQD mailto:pe7b5d45e.@gmail.com [2009/10/22(木) 23:41:54 ID:kObaYugK0] I'll see everybody tomorrow on What's Up Wednesday. ,
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 00:30:11 ID:SAH7zdiT0] 誰かウィルスにでもかかったのか? > 529 名前:BDHkJPLEn[f032ebe2nd.@gmail.com] 投稿日:2009/10/23(金) 00:03:01 ID:??? > So, in my blog, I look for opportunities to present perspectives that are often censored. ,
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 02:04:28 ID:Wc1ARWvB0] ソフ板の定番のスクリプトコピペが少しは意味のある単語を入れ始めただけ
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 04:51:08 ID:DWLH0rQm0] 興味持った初心者が実行しちゃうとか思わないのかねぇ モラルのないクズばっかりだなぁ、情けねーわ
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 08:50:16 ID:Hx39oh9p0] 思慮のない初心者は痛い目にあって知恵をつけていくしかない
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 10:57:36 ID:SAH7zdiT0] 初心者が毎日来るとは思ってないし。 土日でもないし。 >>734 みたいのはひどいと思うけど 「特定の人々にとって都合の悪い書き込み」があったスレにはいつも必ずウィルススクリプトが貼り付けてあった。 ウィルススクリプトはテキスト状態でもウィルスチェッカが発見してログを削除してしまうのを利用しているんだ。 自分が痛い目を見るだけならともかく、ウィルスをばら撒くようなことにもなりかねないから、 確かに痛い目を見てでも安易な実行は避けることを覚えるべき。
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 11:51:00 ID:iEyplr100] >>721 念のため警察に通報しとけよ
737 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 15:05:32 ID:Wc1ARWvB0] >>733 今回は用途が板爆撃スクリプトなだけに使おうと思う奴も 作った奴もどっちもどっちって感じだがな。
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 17:59:13 ID:hoAE3VuS0] >>736 裏2chへの行き方とか、ウイルスの掃除の仕方とか何とか言って フォーマットとかふしあなトラップ仕掛けている人を通報するとか言ってるのと同じようなもんだとなぜ解らないんだろうなw そもそも「己のスクリプトを晒しましょ。」なんていうスレなんだし、 多少のスキルがあるヤツしか居ないと思うんだがなぁ。 まぁ、>>690 見て実行するようなヤツは半年くらいネット繋がずに自力でスプリクト書いてろよw
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 19:52:40 ID:i7NNR92L0] 関係ない 実害が出たらまず110 逮捕されるかどうかは警察まかせでいい あとふしあなとは全く違う
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 19:59:08 ID:rK5f7ruL0] ネットで調べることをやめさせてどうするんだ。
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 20:01:27 ID:Hx39oh9p0] ゆとり脳多すぎワロタ
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 20:20:51 ID:9mI/MsVb0] >>739 クソワロタwww
743 名前:wZADhxijwdhbPogdHEe mailto:14d43o08l.@gmail.com [2009/10/23(金) 21:39:08 ID:w7n4Xjz00] Includes Protective Sports Equipment and Protective Wear. ,
744 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 22:42:04 ID:KXvduCK+O] uwsc作者のumiumiが一番の悪人 奴は拳銃を売って儲けるヤクザの元締めと一緒 あいつを捕まえない限り被害者は増加し続ける
745 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 23:21:29 ID:Hx39oh9p0] ついに作者にまで責任転嫁始めたかw 面白すぎるw
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/23(金) 23:35:24 ID:Yh5II5xX0] >>690 は>>682 の無差別掲示板荒らしを未然に防いだと言う意味で評価されるべきだ
747 名前:名無しさん@お腹いっぱい。 [2009/10/23(金) 23:59:41 ID:t1jDgBDQ0] サーバに無駄な負荷を掛ける攻撃を目論んでいた>>682 は典型的な犯罪者 社会のクズを退治した>>690 は正義の使者だよ、もちろん
748 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/24(土) 00:31:01 ID:zq9vSvMH0] >>744 そもそもWindowsがあるのがいけないんですね!解ります!
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/24(土) 14:36:16 ID:0z+51oUb0] >>744 そんなの言い出したら包丁売ったら犯罪とか、ライター売ったら犯罪とかってことか? ちなみに47氏でも勝訴だぞ。
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/24(土) 16:31:07 ID:7wNQpB3T0] ネタにマジレス
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/24(土) 18:01:59 ID:jvbbXPzt0] クズスレ
752 名前:名無しさん@お腹いっぱい。 [2009/10/26(月) 22:52:30 ID:+luvcpcv0] Windows7買ったんでこのスレの話を参考にVirtual PC導入したよ >>690 実行しても仮想環境ならワンボタンで取り消せて(・∀・)イイ!! 思う存分危険スクリプト作れるぜ 丸投げ厨に配布しまくろっと
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/26(月) 23:14:25 ID:jdxyP/Yd0] なんか変なのが住み着いたなぁ
754 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/26(月) 23:27:49 ID:jrd5+kFQ0] >>752 丸投げ厨です これからもよろしくね♪
755 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 01:21:29 ID:DQzhoBiL0] 現在あるゲームの自動操作を行わせているのですが、画像判定(chkimg)の箇所が多く、また不安定なため、通信受信内容で判別できるように改良したいのです。 雲をつかむような表現で申し訳ないのですが、どのような関数を参考にするといいのでしょうか?
756 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 01:31:38 ID:TiHUFHbO0] >>755 通信関係の関数は無いです。 無理やりにでもやるとしたら、外部DLL等の読み出しによって行われる事になるでしょうけど… それはUWSCの範疇ではないと思います。 …でも俺もちょっと知りたい。なんか判ったら教えてw
757 名前:名無しさん@お腹いっぱい。 [2009/10/27(火) 01:42:53 ID:6cas0igo0] >>755 その通信内容というのがサーバーとの通信って事なら、 暗号解除とかコード解析のためにゲームガード破ってコード解析しないといけないでしょう。 そんで解析した後も、通信を傍受するソフトと暗号解除するソフトは別途必要になると思います。
758 名前:名無しさん@お腹いっぱい。 [2009/10/27(火) 11:14:48 ID:DQzhoBiL0] >>755 です。 たとえば、NESを代表するエミュレーターのバイナリを監視し、値を取得するようなことを UWSCでは関数としてあるのかな〜とおもってまして。 また雲をつかむような話ですが、ある.exeファイルを監視し、特定のアドレスの値がXXになったらアラームとか。 そんな感じで値を取得できないかなぁとおもいまして。 引き続きご意見、ご助言をおねがいします。
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 11:17:28 ID:7cHtZVxc0] >>758 それだったらDLL経由でできる
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 14:19:32 ID:6cas0igo0] >>759 > 特定のアドレスの値がXXになったらアラームとか。 これはUWSCでは無理じゃない? UWSCがイベント受け取って動けるのはCOMのイベントだけでしょ。 COM組むとなるとかなり大変だと思うけど。
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 14:53:46 ID:7cHtZVxc0] 普通にDLL使えますが・・・
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 15:30:42 ID:6cas0igo0] >>761 マジで? 実際試せるそーすプリーズ
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 15:31:16 ID:ukIubvelP] 一般的なアプリって固定的にメモリ使ってるの? それにどうやって知りたい情報のアドレスを特定するの? 識者の人、解説よろ
764 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 15:35:01 ID:7cHtZVxc0] >>762 ヘルプくらい読めよ・・・
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 15:37:51 ID:6cas0igo0] >>764 ああ、最近Windows7つかっててUWSCのヘルプ開けなかったんだ // イベント処理の定義 OLEEVENT( オブジェクト, インタフェース名, イベント名, Procedure名 ) 引数 オブジェクト: COMオブジェクト でも、UWSCのイベントはOLE前提みたいだけど、新しい関数できたの?
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 15:46:42 ID:7cHtZVxc0] >>765 <DLL 使用定義> // DLL (API等)の関数を使用する事ができるようになります DEF_DLL 関数名(型, 型, ...): 戻り型: DLL名 型: int、long、bool、uint、hwnd、string、Wstring、float、double、word、dword、byte、char、pchar、Wchar、pWchar、boolean、longlong、Extended、SafeArray 参照引数(値変更あり)の場合は Var 宣言を付ける 関数名( var double, var int ) 構造体:型を { } にて展開して書く 関数名( double, {int, int, int} ) 配列の場合は 型に [] を付ける 関数名( double[], int[] ) ※int=long= bool(4byte)、dword=uint=hwnd、 char=boolean(1byte) ヌルポインタを渡す時は NULL定数を使用して下さい てきとーなこと言う前に、ちゃんとヘルプ読む癖をつけよう
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 16:05:19 ID:6cas0igo0] >>766 それはDLL関数を呼び出す定義だろ? どーやってDLL関数にUWSCの関数を渡すんだ? いや、UWSCでループするかDLL関数内でループしてればそういう動作することが出来るのはわかってるけどさ。 まあどっち道値の書き換え監視はループして監視しなきゃいけないわけだからそういう風に作るとして、 DLL内でループすると他のことが出来なくなるからマルチスレッドにしなきゃいけないっていうかイベント処理はどの道マルチスレッドか。 マルチスレッドにしないならUWSCの主処理ループで状態チェックしてそれにあわせて分岐か。 その場合監視項目をまとめて処理する関数呼び出してIDでどれが変更になったか見分けるのがスマートかな。 イベント型で不定期に発生すると他の操作との絡みがあるからやっぱそれしかないか。 この方法の問題点は、監視タイミングがかなり緩慢になって、回復処理が必要になってもなかなか回復しないとか言うデメリットがあるんだよね。 UWSCのマルチスレッドが他のスレッドを一時停止とか終了のコントロールが出来ればイベント型スクリプトを作りやすいんだけどな。
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 17:47:38 ID:7uDFKqAz0] 改行をどうにかするか、長文をどうにかするk(ry
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 19:30:51 ID:6cas0igo0] ごめーん 最近年のせいか知らないけどだらだらしゃべっちゃうんだよねえ。 まるで無責任艦長タイラーみたいにさ。 まだまだ人生残り50年だと思ってたんだけどそろそろ2ちゃんねる引退時かな? イベントドリブンなスクリプトで検索すると、JavaScriptがいっぱい出て来るねえ でもローカルで動かすのにJavaScriptじゃしょうがない。 JScriptとかVBSctiptならHTA・・どのみちWebベースか。 schemeとかもそーなのか LSLって何かと思ったらセカンドライフのスクリプトか を HSPにsetcallbk って関数があるな これは意外な。 SocketDebuggerってのにLuaスクリプトってのがあるな。 通信データをスクリプトで監視してデバッグできるんだってさ。 これゲームガードに阻まれなければチートに応用できそうだな。
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 20:34:22 ID:qgi5nNQ40] まさにKYってこういう人を指すんだろうな 間違いなくあなたの文章は誰も読まない コピペ荒らしよりも不愉快な存在
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 20:36:09 ID:6cas0igo0] KYってもともと石垣島のさんご礁に落書きされたのが発端って知ってる?
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 20:48:07 ID:dmqDK93Q0] これはさすがにもう擁護できないウザさだな >>767 辺りでやめときゃ良かったのにわざわざ反感買ってどうすんだ 死ね老害
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 21:26:14 ID:JjIhm7H6P] クズスレ
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 22:00:31 ID:6cas0igo0] 判定関数を使ったイベント登録っぽく使えるモジュール書いてみた。動くかどうかはしらない。 イベントモジュール.初期化() 〜処理〜 イベントモジュール.Quit() Module イベントモジュール DIM QFlag Proceduer 初期化() this.QFlag = false Thread 関数登録() Fend Proceduer 関数登録() while true if 判定関数 then イベント関数() if this.QFlag then break sleep(0.1) wend Fend Proceduer イベント関数() //ここでイベント処理 Fend Proceduer Quit() QFlag = true Fend EndModule
775 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 23:49:58 ID:DQzhoBiL0] >>755 です。 ご意見、ご助言ありがとうございます。 別プロセスのメモリを読み込むサブスクリプト ttp://park14.wakwak.com/~simizu/cgi-bin/uwscbbs2/cocoqa.cgi?log=31 Vector:Memory.dll ttp://rd.vector.co.jp/soft/win95/prog/se358509.html このあたりでなんとかならないかなぁと考え中です。
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 13:43:40 ID:/Aufm+7p0] どこまで省略して書いていいのか分からないので、おかしかったらごめんなさい。 while 1 sleep(0.1) call 1.uws //マウスで特定箇所をクリック sleep(0.1) call 2.uws //↑キー10回連打 sleep(0.1) wend こんな感じで、一連の動作に20秒かかるものがあったとして、 その動作とは関係なく、10秒ごとにスクリーンショットをとる「a.uws」があるとすると どう記述すればいいか教えて貰えないでしょうか。 uwscを複数起動させるしかないのかな・・・
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 13:50:30 ID:wjFSozMw0] >>776 thread で10秒ごとに処理を実行するスクリプト(while でまわしてsleepでもやれ)を動かせ
778 名前:776 mailto:sage [2009/10/28(水) 14:09:21 ID:/Aufm+7p0] うぉ。 素早い返答ありがとうございます。 試してみます。
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 16:13:10 ID:LN396H4A0] IFで足し算使った方が良くね? ズレるかもしれんからthread使ってないんだけど全くズレないのか
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 17:02:27 ID:NfK6OA8p0] >>779 足し算ってなに? 時間がもっとも正確なのはGetTime() でもSleep()の方が処理が軽い。 メインループで何回かに一度実行するのがもっとも時間が不安定になるが、 他の処理とかぶらないのでCPU使用時間に対するUWSCの占める時間は安定するし、 操縦も安定して実行できる。 Sleep()した時間を足していく方法もいいけど、 ある程度時間のかかる処理をすると、その分だけ時間がかかる。 確かにSleep時間を取れば汎用的だけど、もっと大雑把に回数でやったほうが、特に初心者にはやりやすい。 もしSleep時間でやるとしたら、こんな風にやるのがシンプルだし処理も軽い。 while true for t = 1 to 10 step 0.3 //stepはSleep時間の合計 処理1 Sleep(0.1) 処理2 Sleep(0.1) 処理3 Sleep(0.1) next キャプチャ処理 wend 細かいことを言えば、Stepが0.3の場合、初期値も0.3なのが普通だけど、 ループ自体に時間もかかるし、Sleep以外の処理でも少し時間がかかるので 初期値1にしたほうがより近い時間になるだろうし、 初心者にも初期値は1で固定したほうが10回のときに1から10だから分かりやすいだろう。 あ、でも、定期的な処理が複数あって時間もまちまちの場合はこのやり方は不向きだな。応用が利かない。
781 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 17:11:42 ID:LN396H4A0] たしざん 【足し算】 二つ以上の数を加えてその合計を出す計算。加え算。寄せ算。加法。加算。
782 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 20:12:47 ID:1RRSN1UB0] アクティブなフォルダに空の「NewFile(1).UWS」を作るようにすることって出来るかな (1)の部分は既にファイルがあれば(2)(3)〜となるように ヘルプとか見ながら考えてるんだけど、全然分からない
783 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 20:20:54 ID:NfK6OA8p0] >>782 それはできるけど、作ったファイルをCALLすることは出来ないっぽいよ。 CALLする .uwsファイルは、親をロードしたときにまとめて読み込むみたいだから。
784 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 20:21:35 ID:NfK6OA8p0] あ、SHELLを使って別プロセスで実行することは出来るだろう。
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 20:24:33 ID:4CuQ5Xji0] >>782 i = 0 While Fopen("NewFile(" + i + ").UWS",F_EXISTS) //存在チェック Falseが帰るまで続く Wend FCLOSE(FOPEN("NewFile(" + i + ").UWS",F_READ or F_WRITE)) //存在しないFileを開いて何も書き込まずに閉じるとそのファイルだけ作成される こんな感じじゃない? 俺も昔同じような事しようとして、空ファイル作成出来る事を知らずに、DosCmd("prompt > "+Filename,,)とかやってた。
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 20:34:22 ID:4CuQ5Xji0] >>785 思いっきり書き忘れた。 Whileループの中でi = i + 1しないとiが0のままやんorz 1〜にするなら最初がi = 1ね。解ると思うけど。
787 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 20:51:57 ID:1RRSN1UB0] >>783 コールは使ったことないから大丈夫だと思う >>785 ファイルを作るのはできた、ありがとう やっぱりその辺で出来たんだ でもこれだとこのファイルがあるフォルダにしか作れないけど アクティブなフォルダを指定するにはどうしたらいいんだろう?
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 21:01:51 ID:4CuQ5Xji0] アクティブなフォルダって言うのは、現在explorerで開いてるフォルダってことかな? それならbatファイルでも作った方が早い気がするが、UWSCにこだわるなら、 GETITEMとか使ってそのフォルダ位置を特定して、GETDIR使ってファイル名取得して、DOSCMD使ってファイル作成が現実的じゃないかな? 短いコードで示せないし、面倒そうだから頑張ってくれとしか言えないが。。。
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 21:06:56 ID:1RRSN1UB0] batファイルでそういうの出来るんだ batファイルで挫折したからUWSCなら出来るかなと思ってやってたんだけど batで出来るならそっちで頑張ってみるわ 色々ありがとう
790 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 21:20:50 ID:4CuQ5Xji0] あと使えそうなのは、batにしろUWSCにしろ、そのフォルダ自体を選択して、 送るメニューでSendToフォルダに入れたbatだかUWSCかなんかに送って、その引数から調べるって事かな。 スレチに近くなると思うから、適当にしらべてくれい。
791 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/29(木) 07:32:32 ID:GVyFpQ2YO] SAVEIMGで保存したBMPを別のPCに移し CHKIMG関数使い認識させたら うまく認識してくれません これは画像を撮ったPCでしか使えないものなんですか?
792 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/29(木) 07:56:16 ID:pwqTC0UdP] 画面の設定で色数が少ない方は減色されてて色は完全一致しなくなる。 また、グラフィックアクセラレーターでいろんな効果をつけたり色味を調整してても同じ。 CHKIMGは基本的に色は完全一致で見るみたいだから、形で見るオプション指定たらいいんじゃないかな。
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/29(木) 09:06:11 ID:GVyFpQ2YO] >>792 回答ありがとう 今は形で見る-1で認識させてるんですが うまく行かないんですよ
794 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/29(木) 09:08:38 ID:KyrcyRow0] 16bit と 24bit(32bit) ビットマップの比較をしてしまっているってこと?
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/29(木) 09:16:51 ID:GVyFpQ2YO] 仮に16bitと24bitで比較してても形で認識なら問題無いのでわ?
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/29(木) 09:31:10 ID:KyrcyRow0] >>795 座標を固定にしてて、タイトルバーの幅とかでズレてるとか
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/29(木) 09:56:58 ID:GVyFpQ2YO] >>796 座標も入れてないんです CHKIMG(画像名,-1) このように書いてますが他のPCで認識しません
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/04(水) 12:52:41 ID:8Qcx8WSzO] こんにちは初心者です^^ バックグラウンドで動かす方法を教えてください^^
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/04(水) 18:34:29 ID:R5YB3x7J0] CLKITEM使えばいいと思うよ これでなーんにも分からないなら死ねばいいと思う
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/04(水) 18:47:45 ID:v9XrPJ0LP] どう考えても釣りだから相手にするだけ無駄
801 名前:名無しさん@お腹いっぱい。 [2009/11/04(水) 19:34:50 ID:V7YiZudu0] SystemParametersInfo API を使って、レジストリの更新をWindowsに認識させたいのですけど (壁紙のレジストリを書き換えて、その場で表示が変わるように) WScript.Shellを使ってのレジストリの書き換えは出来ましたが、更新が出来ません。 調べてみると、SystemParametersInfo、を使えとありましたが どうにもDEF_DLLの書き方や、そのあとの呼び出し方がわかりません。 DEF_DLL SystemParametersInfoA(Int, Int, String, Int) :Int :User32 Const SPI_SETDESKWALLPAPER = 20 Const SPIF_SENDWININICHANGE = "&H2" Const SPIF_UPDATEINIFILE = "&H1" SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, "c:\01.bmp", SPIF_UPDATEINIFILE or SPIF_SENDWININICHANGE) 今のところ上記ではさっぱり動かないです。 UWSCでのサンプル等があればお教え願えるとありがたいです。
802 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/04(水) 20:37:56 ID:0Yk32EP+P] >>801 ぐぐれよ Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long ... int じゃなくてLongな Const SPIF_SENDWININICHANGE = "&H2" これ文字列を定義しちゃってるから 数値ならこっち Const SPIF_SENDWININICHANGE = $2
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/05(木) 12:44:49 ID:S5x5Fprv0] >>802 ありがとうございました。動きました。 intの部分、Webで探すと(自分が参考にしたのはこれ、support.microsoft.com/kb/97142/ja DwordやらUINTやらいろいろあったんですけど…longにしました。 数値の定義がUWSCでの16進数指定をするべきってのがわかりました。 …当然ですけどVBAとかのサンプルコードを読むときには、VBAの作法を先に理解すべきでした… 判ったのが嬉しかったです。
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/05(木) 18:20:19 ID:pU0U6qNS0 BE:642499373-2BP(215)] ループするごとに+1して その数字を入力したいんですが、 どのような書き方になりますか?
805 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/05(木) 18:29:15 ID:Uto6/TER0] えっ
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/05(木) 18:43:52 ID:RpK58qujP] >>804 forで検索
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/05(木) 18:57:41 ID:pU0U6qNS0 BE:979047348-2BP(215)] >>806 ありがとうございました。
808 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/06(金) 13:25:11 ID:7O4EUde5P] トリップ検索しながら他の事を自動実行して どれくらいCPU使用率があがっているのか調べようと 「Ctrl」+「Alt」+「Dlete」でタスクマネージャ^をたちあげたら 「Alt」+「F2」でuwscが止まらないです 偶然、自動実行でタスクマネージャーをタスクバーに収納したら治った もしかしてバグ発見でしょうか? ちなみにCPU使用率は65%でした どなたか、うみうみ氏へのバグ報告よろしこ
809 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/06(金) 18:22:43 ID:lSBe5FmK0] 日本語でおk
810 名前:名無しさん@お腹いっぱい。 [2009/11/07(土) 16:08:26 ID:WRnsJZjs0] ところでuwscって何て読むんだ? ユーイック? ユイック? ウニスク? 絶対に読み間違わない方法として ユーダブリューエスシーと読む方法があるんだけど それは味気ないなからいまのところユニックって呼んでるんだけど なんて読むの。
811 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 17:23:48 ID:Sczvtx3b0] なんだよユニックって ユーダブリューエスシーでいいじゃん
812 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 17:35:53 ID:3R7yiorj0] 格闘ゲームを1フレーム単位で動かしたいけど >>563-567 見てるとuwscはCPUコアを使うから向いてないみたいだ 軽い負荷でマクロを組む方法はなにがあるんだろう? CやC++とかがいいのかな
813 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 17:59:27 ID:v0hn5DQqP] それマクロじゃないから
814 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 18:04:04 ID:MRy0rC3KP] >>812 1フレーム単位って・・60フレーム/秒だとして15ms以下でコントロールとかどんな言語使っても無理だって。 23msってのはゲームとUWSCの組み合わせで入力を確実にするための時間であって、 それはもしかしたらゲームの方の制約かもしれないんだ。 たとえばメモ帳にすばやく入力はできるけど、スクロールが必要な場所に書き込むととたんに遅くなる。 入力漏れも出てくる。 ゲーム性のための遊びもあるし、ゲーム側の負荷で受け付けられなかったりするんだよ。 まあ、少なくともUWSCのコントロールはハードウェアレベルのコントロールと比較して再現性が低いのは事実。 だから負荷がかかりすぎたり複雑なすばやい処理が必要なら(いわゆるコマンド入力があるなら)、向いてないかもしれない。 ただ、23ミリ秒っていうのは、DOWNからUPまでの時間なので、 ← DOWN ↓ DOWN / DOWN 23ミリ秒の待ち ← UP ↓ UP / UP てな感じでいける。 DOWN、UPそれぞれにわずかな時間がかかってはいるけど、1ミリ秒とかそんなレベルだと思うよ。 まあC++でやればDOWN3連発でも1ミリ秒もかかったりしないけど。
815 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 18:54:33 ID:RDWRX6dr0] 特定のプログラムだけにUWSCを使うことは可能? 最小化してるゲームにUWSCでキーとかマウスを使わせて なおかつ、普通に他の物も操作したり
816 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 19:14:54 ID:MRy0rC3KP] >>815 ゲームは多分無理。 アプリケーションに直接送信ってオプションがあるからできるものもあるだろうけど、JaneViewですらKBD()コマンドでそのままは動かせなかった。 CLKITEMとか直接コントロールを指定するスクリプトならいいんだけどね。 裏でゲームマクロしたかったら仮想マシンでも作ればいいよ。 VMware Player3.0になってから、無料なのに簡単に仮想マシンが構築できるようになってるから。 つい先日のリリースですよ。 WindowsXPゲストの仮想マシンですらメインメモリ1GBないと実用になりませんが、それはもう問題ない時期でしょう。 あと、仮想マシンにもそれ専用のライセンスが必要です。 MSに問い合わせたらホストのライセンスも取り消されちゃうので注意してくださいね。 僕はホストではちゃんとライセンス守ってるものの、ゲストではAntiWPAで回避してますけど。 XP持ってない人はいないと思うけど、持ってない人はXP-modeのサイトから誰でもダウンロードできます。 もちろん流用するのは違法だし、そのまま流用はできませんが、怪しい場所から入手するのは著作権云々以前に 攻撃ツールが埋め込まれていて知らない間に他人を攻撃してる可能性があるので絶対にやってはダメです。 だいたい仮想マシンとかいろんな構成で何度も入れなおしたりするのにいちいち空くティベー所んとかやってられないですから。
817 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 19:15:42 ID:3R7yiorj0] >>814 どんな言語使っても無理そうですかー C言語でもだめだってならあきらめるしかないな uwscは向いてはいないが、かと言ってこれより最適なものもない。って感じなのかな 格闘ゲームってやりこんでいくと1フレーム猶予の攻防がざらにあるんだけど それを1フレーム単位のボタンON・OFFで検証したくてw もし高い精度で1フレーム単位で動かせたら、組む時に分かりやすい、 安心感がある、何度も検証をやり直さずに済んで最高なんだけどなあ
818 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 19:24:47 ID:MRy0rC3KP] >>817 大雑把な方法でよければ、一定時間繰り返すっていう手があるよ。 単純に繰り返しを早くしたり遅くしたりしてどれくらいの猶予があれば動くかとか 相手のある操作、組み合わせのある操作の場合は、 それぞれの実行間隔をわずかにずらして、何回ごとに違うアクションになるかとか・・ あ、攻撃を受けたらのけぞったりするからダメか。 一応このずらすやり方っていうのは、ノギスとかで、大雑把な目盛りを組み合わせて精度の高い測定をする方法として一般的なんだよ。
819 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 19:31:36 ID:RDWRX6dr0] >>816 なるほど よくわかりませんが 単純作業なので窓で開いたままします ところで KBD(VK_G,CLICK,203) のクリックの後にある数字はなんでしょうか?
820 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 20:00:00 ID:MRy0rC3KP] >>819 確か、その処理をするまでの待ち時間ですね。 それは負荷がかかるので僕は省略してます。 かわりに Sleep(0.203); KBD(VK_G,CLICK) とかにしてますね。 再現性はKBDで時間を指定したほうが高いでしょうが、0.1ミリ秒とかいう長い時間を待つには向いてないと思うんで。 負荷がかかってるけど入力タイミングがシビアなときにはこんな感じ KBD(VK_ctrl, DOWN, 5) // 時間を省略してもいいけど同時入力は処理できない可能性があるので KBD(VK_shift, DOWN, 5) Sleep(0.01) // CtrlとShiftの押し下げ状態を対象に処理させるための待ち。Sleepしてる間UWSCはCPUを開放する。 KBD(VK_X, DOWN, 5) KBD(VK_Z, DOWN, 5) Sleep(0.03) // キーのクリック認識のための待ち。複数のキーだとCLICK2回よりもすばやい。 // 内側のキーはCLICKにしてSleepを外したほうが処理は確実で無駄がないが、Sleepにしたほうがゲーム側の処理に時間を回せる。 KBD(VK_X, UP, 5) // キーは押した順に離すとそれぞれのキーを押し下げている時間を一定に出来、間のSleepを短く出来る。5msの待ちが入ってるから0.02まで減らしても大丈夫だと思う。 KBD(VK_Z, UP, 5) Sleep(0.01) // キーは離すときまで油断しない。確実にUPしないと次のCLICKができない。 KBD(VK_ctrl, UP, 5) KBD(VK_shift, UP, 5)
821 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/07(土) 21:00:20 ID:RDWRX6dr0] >>820 こんな初歩的な質問まで丁寧に答えていただいて 本当に助かります、じっくりと読ませて頂きます。
822 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/08(日) 16:20:11 ID:FS1xEc4g0] 中二病的発想で申し分けないんだが、 画像検索やって、認識したらターゲットにロックオンサイトが表示されたり、カラーメッシュがかかったりするのって可能? マウスカーソルが移動するのは無しな、マウスカーソルを移動させるだけなら習得済みだから。
823 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/08(日) 18:17:31 ID:wKqL8NlR0] >>822 ゲームの描画はDirectXを使っていてリフレッシュレートにあわせてバッファからコピーしている。 DirectXで画面に表示されたものをさらに上書きするのは大変なことだよ。 タスクマネージャの「常に手前に表示」ですら後ろに隠れるんだから。 ゲームハック専用ツールならそういうことも不可能ではないかもしれないが、ちょっと無理だね。 Windows7で窓化して、ゲーム画面と同じ大きさの透明の窓を作ってそこに描画するのが簡単な方法だろう。 透明窓の重ね合わせはWindows7がハードウェアでやってくれるから負荷もかからないし。 一番負荷のかからないのは、ゲームをハックして書き終わったところで表示。 画像認識なんかしないでデータ上の座標を取得して重ね合わせ。 だいたい画像認識なんてのはゲームを動かすより大変な労力がいるんだぜ? もちろん、戦闘機とか防犯カメラには当たり前についているけど、フレームレートが1秒間に10コマとかそんなもんで、 60fpsにあわせて処理なんてCore i7くらいの性能じゃないと無理。 いや、画像処理をGPGPUにやらせるならセレロンでもいけるか。 普通のGPUはあくまでも描画用回路しかないから無理だが。
824 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/08(日) 22:43:22 ID:N1ZfyY/E0] 変数を使いある変数を別の変数へ変化させる方法 n1 = 0 n2 = 0 n3 = 0 n4 = 0 n5 = 0 という変数を定義した後に n = "n" m = 1 nm = n + m と定義して m = m + 2 とmに2を加えてやってmの値を3にしnmをn3の状態に変化させ nm = nm + 3という式を与えると 私としてはn3に3を加えn3=3と したつもりなのですがnmがnm3になります mの数値を変化させnmを使いn1〜n5の変数の値を操作したいのですがどうすればいいでしょうか
825 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/08(日) 22:57:52 ID:wKqL8NlR0] >>824 > n = "n" これはnを文字列として定義したことになります。 文字列に数値を加えるのは、文字列の連結になります。 ”n” + 1 は ”n” & 1 と同じ意味です。 EVALというのを使えば ”n1”という文字列からn1の変数を操作可能ですが。 > mに2を加えてやってmの値を3にし m = 1 m = m + 2 > nmをn3の状態に変化させ nm = n3 > nm = nm + 3という式を与えると > 私としてはn3に3を加えn3=3と n3 + 3 = 3 ・・・よく分からないので表にしてください
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/09(月) 00:15:54 ID:wp6IQbGR0] //>>824 返答ありがとう// //やりたいこと// //変数を使って3行目変数n3の値を3にしたい// //式// //////////////////////////////////////////////////// n1 = 0 n2 = 0 n3 = 0 n4 = 0 n5 = 0 n ="n" m = 1 //コメント1:mを1置く// m = m + 2 //コメント2:mに2を加える。現在mの値は3。現在nm = n3。// nm = n + m //コメント3:現在n = nでm = 3なのでnmはn3となる// nm = nm + 3 //コメント4:左辺のnmはn3なので3行目の左辺と10行目の左辺は同じ値であるということになる為// // nm = nm + 3 ということは n3 = n3 + 3ということになり、// // 3行目のn3の値0に3を加えたこと((n3 + 3 = 3)ではなく(n3 = n3 + 3)ということ)になる// print n3 ///////////////////////////////////////////////////// //期待したプリント結果は 3 // //実際のプリント結果は 0 // //これで少しはわかりやすくなったでしょうか// //変数aを使って変数bの値を変化させる方法の勉強中です//
827 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/09(月) 00:40:40 ID:wp6IQbGR0] >>825 EVALという機能でいけました。 ありがとう!40時間もかかった><
828 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/09(月) 00:59:20 ID:BZ9g5EYX0] >print n3 >//実際のプリント結果は 0 // そりゃ、変数nmには文字列 "n3" が代入されてるけど、 変数n3になんにも代入されてないからねえ。 配列つかえばいいんじゃないの。 dim n[5] = 0, 0, 0, 0, 0 m = 3 n[m] = 3 print n[3]
829 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/09(月) 01:02:55 ID:BZ9g5EYX0] 訂正 なんにも代入されてないから → 0が代入されたままだから
830 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/09(月) 01:24:03 ID:Wg6Yr+FN0] >>828 今それ書こうと思ったのに! ってか、確認してないだろw配列も6個宣言してるしw
831 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/09(月) 01:25:34 ID:Wg6Yr+FN0] こんな感じかな? dim n[4]=0,0,0,0,0 m = 3 n[m]=n[m]+3 print n[m]
832 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/09(月) 01:43:46 ID:BZ9g5EYX0] >>829 あ、ほんとだ。 一応テストしたんだけどなあ。 エラー出なかったから気づかなかった。
833 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/09(月) 21:29:27 ID:7/pEhhd4O] さっきダウンしてUWSCとかスクリプトとか一切わからんのだが コピペした文章をエクセルで常に特定のセルに張り付ける方法教えくされ 動かすとエクセル側のセルがずれる
834 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/09(月) 22:20:10 ID:reYUu1vL0] >>833 ダウンしたなら寝てろよ
835 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 02:43:35 ID:Ljbgb4FJ0] >>833 OLEObjectを操作すればおk
836 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 04:18:28 ID:KPKoPGpy0] 配列の中にある変数の1つがその配列の中で何番目に大きな数値なのかを知る方法 dim p[10] =0,12,3,13,5,4,7,8,1,12,3,29 という配列があったとする。 p[7] = 8 なのでp[7]はこの配列の中で5番目に大きい数値であるということはわかるけれども これをuwscで導き出すにはどうしたらいいのでしょうか。
837 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 04:37:07 ID:Ljbgb4FJ0] >>836 まず名前の付け方がダメですね。 pは普通ポインタを意味するので使ってはダメです。 UWSCにポインタはないけど、名前付けの基本ですから。 Nとでもしてください。 dim N[10] は N[0]〜N[10]までの11個の配列ですが、12個指定してるのでエラーです。 最大値の求め方は他の言語のアルゴリズムと同じですから、ぐぐってください。 配列データの処理には、for 〜 next を使うのが基本です。 for i = 0 to 10 print N[i] next 【実行結果】 0 12 3 13 5 4 7 8 1 12
838 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 07:30:19 ID:JLM+3UwS0] URLエンコードされた文字列(例%82%a0%82%a2%82%a4%82%a6%82%a8)を デコードして元の文字列(あいうえお)に戻したいのですが、どうやったら良いのでしょうか。
839 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 08:13:59 ID:Ljbgb4FJ0] >>838 DECODE( "%82%a0%82%a2%82%a4%82%a6%82%a8", CODE_URL )
840 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 09:12:00 ID:JLM+3UwS0] ありゃそんな関数ありましたか。失礼しました。 文字列関連ばかり見てました。
841 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 09:30:12 ID:JLM+3UwS0] 喜んだのは束の間、実際の文字列はEUC-JPだった… さてどうしたものか。
842 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 09:53:06 ID:Ljbgb4FJ0] %82をEUC-JPで書かれてるの?まさかそんなことはないよね。 開いたページの話なら、IEで表示した文字を取得すれば変換されてるよ。 具体的には、IE.Document・・.InnerHTMLはもとのコードかもしれないけど .InnerTEXTは変換されてるかもしれない。 もしくは、上記はどちらももとの文字コードで、IEGetDataなら変換されてるかもしれない。
843 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 10:17:19 ID:JLM+3UwS0] さっきは安易にshift-jisで例を出してしまいましたが実際はeuc-jpで %a4%a2%a4%a4%a4%a6%a4%a8%a4%aa = あいうえお やろうとしてることはwikiからゲットしたページの内部に張ってあるリンクを元の 日本語に変換しようってことなんですが。
844 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 11:29:47 ID:Ljbgb4FJ0] >>843 その文字列をどうやって取得したかですよ。 IEGetDataなら問題ないはずなんですが。 .Valueだったなら、.InnerHTMLとか.InnerTEXTも試してみてください。 ところで、Wikipediaのホームページのソースには charset=utf-8 って書いてあるんですけど。
845 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 11:38:56 ID:JLM+3UwS0] wiki≠Wikipedia 一般のwikiですよ。 uwsc経由でなく、既にローカルに保存したファイルです。 ブラウザで開くこともありません。
846 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 11:56:44 ID:JLM+3UwS0] uwscをテキスト変換に使おうというところから間違っているかもしれないですね。
847 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 12:53:16 ID:O2OEndzR0] >>846 (保存したものを||保存するときに)、UTF8あたりに変換ソフトかませればいいんじゃね? 不恰好かもしれないが、テキストエディタを制御してもいいんだし…UWSCの十八番でしょう。 変換を外部に頼るならnkfのwindows版でも使えるような気がするけどなぁ。
848 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 13:19:54 ID:JLM+3UwS0] そういうファイル全体の文字コードは他のツールで問題ないんですけど… shift-jisで %a4%a2%a4%a4%a4%a6%a4%a8%a4%aa と書いてある部分を あいうえお として取得したいのです。 DECODE("%a4%a2%a4%a4%a4%a6%a4%a8%a4%aa",CODE_URL)だと化けて 『、「、、、ヲ、ィ、ェ』になってしまう。 一旦ファイルに書き出して、他の変換ツールでeuc-jp→shift-jis変換して 再度読み込んで取得というのにしようかと考え中です。 スマートじゃないけど、ちゃんと動作するので。
849 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 13:42:33 ID:O2OEndzR0] >>848 前述したnkfのdllを使うことで、外部ファイル経由じゃなくても変換できたぞ
850 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 15:17:35 ID:JLM+3UwS0] >>848 は失敗、最後の文字が空白になる文字だとちょん切られてしまいましたorz >>849 参考までにその方法を教えて頂ければ。 Dll定義はほとんど使ったこと無いんでよくわからんです。 beep鳴らすくらいにしか使ったことがない。
851 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 16:33:16 ID:O2OEndzR0] >>850 自分もよくわからんまま使ってるけどなぁ 十分な領域を確保? UWSCにそんな定義ないよなぁ・・・・とか nkf は-> www.vector.co.jp/soft/dl/win95/util/se295331.html //----------------------------------------- DEF_DLL GetNkfVersion(var string): :nkf32.dll //型名の宣言があってるかはいまだよく判らん DEF_DLL SetNkfOption(var string):int :nkf32.dll DEF_DLL NkfConvert(var string, var string): :nkf32.dll version = "null" // "" だと受け取ってくれない GetNkfVersion(version) Str = "%a4%a2%a4%a4%a4%a6%a4%a8%a4%aa" StrDECODE = DECODE(Str, CODE_URL) SetNkfOption("s") //S-JISを指定 outStr ="null" NkfConvert(outStr, StrDECODE) msgbox(version +"<#CR>元 : " + Str +"<#CR>後 : "+ outStr) //------------------------------------------- …あと、BEEP鳴らすの面白いw ありがとう。コードの楽譜どこかに無いかな…
852 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 16:56:54 ID:JLM+3UwS0] >>851 いい感じに行けました。ありがとうございます。
853 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 17:38:46 ID:GpcSIMUW0] マウスカーソルをCHKIMGで画像認識することはできないのですか? カーソルの状態を判定したいのです。 ゲームで使いたいく、MUSCURはだめそうなので・・
854 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 18:08:42 ID:uuf5Ec7A0] >>853 imagine?
855 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 18:20:19 ID:GpcSIMUW0] 別のツールならできるということですか?
856 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 18:55:52 ID:Ljbgb4FJ0] >>851-852 領域は文字列をあらかじめ代入して作ります。 UWSCで領域を確保するには工夫がいるようですが、他の言語よりもある意味簡単かも。 >>851 の例では変換後のSJISの方が短くなるので outStr = Str とすれば、十分な領域を確保できます。 この辺きちんとやらないと意味不明なバグに遭遇することになります。 参考: ttp://www.geocities.jp/nrjsmnb/dic/u/UWSC.htm // APIを利用した文字変換 function 文字変換(kind, moji) ret = moji + moji // 半角->全角の為に倍の領域を確保 LCMapStringA(0, kind, moji, -1, ret, Length(ret)) result = ret fend
857 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 20:12:44 ID:Gw0JXs4g0] >>836 遅レスだけど、何回も値見るなら二次元配列にして何番目の値か入れておけばいい。 何回も追加削除するなら、二次元配列にして、大きさの順番に配列に番号,値を格納して、 追加削除の時に配列シフト使えば多少軽くなると思うよ。
858 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/11(水) 07:24:01 ID:k45oh59N0] >>855 いや、 972 名前:名も無き冒険者 [sage] 投稿日:2009/11/10(火) 17:02:41 ID:??? 分解マクロ作りたいのですが、 店員をクリックするのがうまく行きません。 カーソルが矢印から○十字になるのを 画像認識してクリックさせているんですけれど・・・ 店画面になってから買うのと分解するところはうまくいっています レスのタイミングからこれかと思ってさ。
859 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 11:50:38 ID:DGvdxA4EO] UWSCを再生したらSTOPって出ますよね そのSTOPをマクロで押し一度停止したのちに、すぐ再生までをマクロ可能ですか?
860 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 11:58:24 ID:DGvdxA4EO] すいません焦って書き過ぎました。 手動で再生 マクロで停止 マクロ再生 こういう流れを組みたいのですが可能ですか? 可能でしたら組み方をアドバイスお願いします。
861 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 12:27:51 ID:N2QpMoHSP] 機能理解不足、しかも説明が下手なら本当にやりたい事を書いたほうがいい マクロをどう動かしたいかではなく、マクロを使って何をしたいかをね もっと別のいい方法があるはずだから
862 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 12:46:02 ID:DGvdxA4EO] 説明不足で申し訳ないです。 ある画面になると一度停止してマクロを初期化したくて 初期化したいのはウィンドウハンドル 新たにウィンドウハンドルを収得すれば良い話なんですが中々上手くいかなく 手動停止〜手動再生 すれば動くようになるので、この動作もマクロで出来ないかなと思いまして、質問しました。
863 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 22:05:42 ID:I/hgk8z30] KBD(VK_A,CLICK,40) を使ってキーボード入力しているのですが 大文字、小文字を使い分けるときは KBD(VK_SHIFT,DOWN,40) KBD(VK_A,CLICK,40) KBD(VK_SHIFT,UP,40) というようにしないと無理でしょうか? もう少し効率のいい方法があれば教えてアドバイス欲しいのですが
864 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 22:09:24 ID:UpsrNqrXP] >>863 CapsLock・・・とか
865 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 00:46:22 ID:PMcSQRlS0] >>864 やっぱそういう方法しかないですよね・・・ 文字コードとか使えればいいんですが地道にスクリプト組むことにします
866 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 19:31:59 ID:xGhkIPWz0] 抽出してもよくわからず、単発になってしまい申し訳ないです。 Aがあれば操作X、なければBを探してBがあれば操作Y後Aを探す、なければ操作Z後Bを探しつづける While True IFB CHKINMG -A 操作X Break ENDIF WhileTrue IFB CHKINMG -B 操作Y Break ENDIF 操作Z Wend Wend というような命令をしたいのですがwhile ENDIF(while ENDIF wend)wendというスクリプトは組めないですか? 更に、Repeat whileA ENDIF(whileB ENDIF wend)wend whileC ENDIF(whileD ENDIF wend)wend until としたいです。 質問の仕方も、説明も理解不足だと承知していますがよろしくおねがいします。
867 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 20:09:18 ID:wt1FvuqrP] >>866 まずインデント修正 While True IFB CHKINMG -A 操作X Break ENDIF WhileTrue IFB CHKINMG -B 操作Y Break ENDIF 操作Z Wend Wend while ENDIF(while ENDIF wend)wendというスクリプトは組めないですか? while ENDIF while ENDIF wend wendというスクリプト
868 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 20:14:54 ID:wt1FvuqrP] 更に、Repeat whileA ENDIF(whileB ENDIF wend)wend whileC ENDIF(whileD ENDIF wend)wend until としたいです。 Repeat whileA ENDIF whileB ENDIF wend wend whileC ENDIF whileD ENDIF wend wend until としたいです。 ENDIFと一緒にIFを使えば問題ない。 ところでENDIFっていうのはこの構造の中で特に意味を持たないよ。 だから構造の説明時には省略して差し支えない。 最初のbreakが入った文は構造に影響するけど、別にたいした影響はない。 break2とかいうのを使ったときは影響してくる。
869 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 22:18:38 ID:85p2y6tD0] ルーター経由で接続されてるPC同士でUWSCを連動させたいんですがやっぱり無理ですか? PC1で起動されているUWSCとPC2で起動されているUWSCでやりとり出来るようにしたいんです。 外部ソフトやDLLでもなんでもいいので教えてください。
870 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 22:35:39 ID:wt1FvuqrP] >>869 リモートアシスタンスとかで接続するとか。 SoftEtherとか入れればローカルエリアとして通信可能になるし。 でもp2pで通信するには複雑な制御が必要になるからねえ・・・ IEみたいなCOMオブジェクトが通信してくれたらいいけど、p2pだとねえ・・・ IPMessengerみたいなやつ利用して通信かなあ。 送信はメモ帳に貼り付けと変わらん手順だし、 受信のときは待ちループするだけ。
871 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 23:09:45 ID:DfpgKErgP] WEBサーバを間接的に利用するのはどう? postされた文字列を表示する掲示板とか使えば 一方が書き込み、一方が読み込みで情報伝達は可能 ルータ越えとか意識せずuwscの標準機能だけでバカチョンで出来るよ
872 名前:名無しさん@お腹いっぱい。 [2009/11/14(土) 11:02:41 ID:4vOxM3zc0] VKでアンダーバー(_)指定するやり方教えてください
873 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 11:33:07 ID:OpCJso/X0] >>867-868 ありがとうございます!
874 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 11:41:16 ID:npxHArPNP] >>872 WINUSER.H では10進数で226、16進数でE2 VK_OEM_102で定義されてるそうです。 でも@マークと同じで、シフトキーとともに入力しないといけないんじゃないかな。 ttp://pc5.2ch.net/test/read.cgi/tech/1059549320/78+80
875 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 12:08:05 ID:/OecLJDJP] >>872 カメラのマークで記録して保存したら中に書いてあるだろ アンダーバーの書き込み KBD(VK_SHIFT,DOWN,40) KBD(VK_OEM_102,CLICK,40) KBD(VK_SHIFT,UP,40)
876 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 19:11:31 ID:Ft/ieC5X0] >>871 おいおい大迷惑な手法解説してどうすんだよw せめて自プロバイダ提供のwebサイト構築用空間に自分専用掲示板作れとかにしようよ
877 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 20:31:58 ID:4vOxM3zc0] ありがとうございました
878 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 21:28:18 ID:knlQgbTsO] recIEってもしかしてメニューバー使えない?
879 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 22:56:51 ID:/OecLJDJP] >>878 使えない Alt&Fとかショートカットキーも使えない 自分はそれでも便利だと思ってるけどね
880 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/16(月) 08:01:58 ID:rG+iRQ2cO] 規制中なので携帯からで申し訳ないのですが GETTIMEで指定した時間に処理をしたいのですが どこかおかしく、巧く動いてくれないので、修正お願いします。 6時30分〜10時30分までの間処理をしたくて、下記の様に書いてみました。 GETTIME() HH = G_TIME_HH NN = G_TIME_NN IFB HH +","+ NN > 6+","+ 30 and HH +","+ NN < 11+","+30 THEN 処理 ENDIF
881 名前:名無しさん@お腹いっぱい。 [2009/11/16(月) 08:26:07 ID:MjBoUClvP] 犬と月曜日はどちらが大きいのですか? 教えてください
882 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/16(月) 08:44:19 ID:fyKVQoggP] >>880 HH +","+ NN 6+","+ 30 HH +","+ NN 11+","+30 これらの計算結果がどうなるか確認しました? 文字列の一致、不一致ならできますが、大小比較の結果がどうなるかまでは、僕は知りません。 時間のチェックは難しいけどよく使うので僕も悩みますが、EVALで計算するのが楽じゃないかと思います。 IF EVAL("0630" + "-" + HH2 + NN2) <= 0 then 開始 あと、一日のうちの数時間しか動かさないのなら、開始時刻はランチャーで指定したほうがいいと思います。 そしたらスクリプトでは終了時刻のチェックだけで済みますよ。 ちなみに、ループでやるにしても改善したほうがいいですよ。 ループを分ければ条件をシンプルにできるし、 sleep時間を大きくしたほうがCPU使用率を下げられるので。 while true GetTime() while 0630まで sleep(10) GetTime() wend while 1130まで 処理 GetTime() wend while 日付変更まで sleep(60*60) GetTime() wend wend
883 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/16(月) 09:26:28 ID:rG+iRQ2cO] >>882 さん 今はGETTIMEが巧く使えないので、6時30分〜10時30分迄と指定してますが 行く行くは、10時30分〜14時30分など4時間ずつ幅を持たせ マクロを起動した時間帯に合わせて、処理を組んで行きたいと思ってます。
884 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/16(月) 10:11:52 ID:fyKVQoggP] >>883 その場合時間を配列で持って逐次セットですね。 while true GetTime() START、STOP時間のセット while STOPまで 処理 GetTime() wend while STARTまで sleep(10) GetTime() wend wend
885 名前:名無しさん@お腹いっぱい。 [2009/11/16(月) 21:51:18 ID:MM7BRwTd0] タスクトレイにあるアイコンを終了させるには、 どのように処理すればよいのでしょうか、教えてください。
886 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/16(月) 23:29:28 ID:wYHJYqc+0] >>885 アイコンは終了出来ません><; プロセス名からプロセスID取ってきて終了させればいいんじゃない?
887 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/17(火) 17:52:10 ID:T9e274pv0] 操作したい画面がすでにバックグランドで起動してるときに REPEAT SLEEP(0.1) UNTIL !IE.busy AND IE.readystate = 4 てなくてよいよね??
888 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/19(木) 01:16:33 ID:kjRTN5IV0] 3分おきにJキー、5分おきにUキーを押すってのを繰り返す スプリクトは組めますか?
889 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/19(木) 01:29:17 ID:Yyxyb70w0] 組めます
890 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/19(木) 19:08:29 ID:r9u6rxytO] 質問です IEを使って指定Webサイトを開く→エクセルのリストを元にフォームにID・PW(仮)を入力、ログイン→パスワードの再設定フォームが出るので、 一つ目のフォームにはPW(仮)を入力、二つ目のフォームにはエクセルのリストからPW(正)を入力、設定ボタンをクリック→ブラウザを閉じる。→最初から という作業をエクセルの行の分だけ繰り返しして行うことは可能ですか? フォームにテキストを入力する際にエクセルから必要な情報をコピーします。
891 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/19(木) 20:57:24 ID:IbSwdCL+0] 凄い不正行為っぽい感じがしますね^^ 可能ですか?って自分でやってから来いよ。 こうこうこうしてみたけれどここが上手くいかなかった。 ここをこうする為の何か上手い方法は無いか? とか、せめてそれくらいは。
892 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/19(木) 21:18:45 ID:K5RMM/XMP] やっぱりね 誰かがどういう解答出すのか見てたw こんくらいで不正とか言うのはちょっと神経質じゃないの 自動が売りのソフトなんだからそれくらい出来ないとシェア払う気になんないぞ >>890 できる エクセルの自動操作は「Windowsマクロテクニック」っていう UWSC解説本に詳しく書いてある IEの操作はググレばすぐでてくるよ 俺はエクセルじゃなくテキストエディターでやったことある コピる時に”何行目”とか指定できないので 全部1行に分断してやったw 100行のテキストがあればuwscとエディターで100ファイル別に作ってやったけどねw 多分エクセルの方が楽だよ
893 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/19(木) 22:09:48 ID:r9u6rxytO] 仕事で使うのに不正扱いされるとは思わなかったwwww >>892 お返事ありがとうございます 本買ってやってみます。
894 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/19(木) 22:16:28 ID:977wgY8k0] すいませんおしえてください webの入力欄で入力モードの傍線が点滅している状態にして動作を終了したいのですが IE.document.forms[0].elements[1]〜で〜をfocus() やclick,やelect などとしてもうまくいきません。↑というかこれ自体なんのことかわかりません;
895 名前:894 mailto:sage [2009/11/19(木) 22:58:08 ID:977wgY8k0] バックグランドじゃなくしたらできました すいませんありがとうございました^^;
896 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/20(金) 06:01:26 ID:WyJ3vMU40] そういえばmannaβ出たての時VM上でUWSCに定期クリックさせてたけどmannaには通用しなかった(CM再生がとまる)
897 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/20(金) 08:18:25 ID:WoSjKQlE0] >>896 CM再生が止まったのをUWSCで |> ボタンクリック出来たけどね。イメージ検索で。 ま、めんどくさいしそれ以上やっとらんが。
898 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/20(金) 14:29:19 ID:rmWQwzh10] UWSCでAPIを使ってキー入力a〜zを実現するにはどう書けばいい? UWSCのkbdやSCKEYじゃ反応しなくてさ
899 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/20(金) 17:09:57 ID:sBsadNsJ0] ちょっと質問させていただきます。 スクリプトでCtrlを押しながら一定時間方向キーを押下する処理を 行いたいのですが、何かいい実装方法があるのでしょうか? sckey関数を使ってみたのですが、一定時間入力となるとうまくいかないのです。 どなたか分かる方いましたらお願いします。
900 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/20(金) 18:05:35 ID:q+KJ/7Ha0] >>899 KBD( 仮想KEY, [状態, ms] ) 引数 仮想KEY: 仮想KEYコード 状態: CLICK(0:デフォルト), DOWN(1), UP(2) ms: 実行までの待ち時間 (ミリセカンド) これ使えばいいんじゃね? KBD(VK_CTRL,DOWN) KBD(VK_方向,DOWN) SLEEP(一定時間) KBD(VK_方向,UP) KBD(VK_CTRL,UP) とか。 試して無いから出来るかどうかは知らないけれど。
901 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/20(金) 20:23:15 ID:+IFzkUSc0] 初歩中の初歩だな >>900 でOK
902 名前:名無しさん@お腹いっぱい。 [2009/11/22(日) 20:09:35 ID:BJp3XQKW0] セキュリティのかかったページって 低レベルでないと無理なん?
903 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/22(日) 20:26:04 ID:BJp3XQKW0] できたわごめん
904 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/22(日) 20:39:02 ID:py+w/JjP0] 日本語で
905 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 07:11:41 ID:sv0VFJv60] 何方かあるネトゲのマクロを有料代行で作って頂きたいのですがスレチかな。
906 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 08:19:21 ID:jsF89W1l0] GG回避がいらないならある程度できるけど マップ移動とかは無理
907 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 08:20:51 ID:GW7QVwfc0] やったことのあるネトゲだったらつくれるかもー
908 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 09:42:31 ID:rIJSt0vW0] ネトゲでカラー取得と画像取得ができないんだけど ゲームによっては駄目なのかしら? 画面をアクティブにしても画面裏にあるものが取得されてしまう。 ちなみにゲームはメイプルストーリーです。 自動でゲームをやらすとかではなく、HPとMPを自動で補充 させるといった簡単なものです。
909 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 11:01:14 ID:pLkDLqpF0] それもチートと言います 分からないなら諦めろ
910 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 12:17:47 ID:jsF89W1l0] >>908 有料ペットにそういう機能を持ったのがいるだろ。 チートなしにやろうと思ったらゲームを仮想マシンで実行してスクリプトをホストで動かせばいい。 スペックが高くないなら、VMware WS5.5を使えばいいよ。 ホストのメインメモリは1GBあればなんとかなる。
911 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 15:48:52 ID:yV7BPo1f0] チートの話はネトゲサロンでやれ ってテンプレが必要かね
912 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 16:18:01 ID:UufdH/9cP] >>911 いや、マクロはUWSCの範疇だろ。
913 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 18:38:23 ID:yV7BPo1f0] >>908 とか明らかにゲーム固有の問題(っていうかプロテクト?)だろ 検索すりゃより適した板・スレがあるんだからそっちでやってくれって話 マビノギ チートスレ ttp://schiphol.2ch.net/test/read.cgi/mmosaloon/1238461046/
914 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 19:20:29 ID:UufdH/9cP] >>913 ゲームの固有名も出てるしゲームの話だけど、 「HPとMPを自動で補充」というのはUWSCスレ的には特定ドットの色を監視してキー操作という基本動作なんだから全てに共通の話題だよ。
915 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 19:35:25 ID:EIL8p+B40] ネトゲは全くやらないから判らんのだが、以前からの疑問。 ネトゲ用のボットってCOM使ってなんかやったりするのん? 単に"特定ドットの色を監視してキー操作"がメインなら AHKの方がループ書かなくて良いし、キー認識は確実だし… なんでUWSC使うんだべ?
916 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 19:51:16 ID:yV7BPo1f0] >>915 単に知名度と使い慣れてるってだけかと
917 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 21:03:06 ID:j1ZkVs3P0] オレはネトゲでUWSCよく使ってるけど、 p_memoryでHPの値拾って回復使ってる。 メイポはやったことないし、GGがあるのかどうかもしらんが。
918 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 21:30:51 ID:vQceVThD0] ttp://www.gameguard.jp/nprotect/nprotect-3.asp 見てもらえれば分かるけど、メイプルはnPro使われてるんでたぶんUWSCじゃ動かない nProとhackshield使われているソフトにはそのままのUWSCって聞かないよ SA、warrock、SUN、トリックスターなどは受け付けてくれない ちなみにオンゲでUWSCの操作利くのは、パンドラサーガ・夢世界・PWあたりしかしらない
919 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 22:38:22 ID:jsF89W1l0] >>918 窓状態で動くゲームは操作を受け付けるよ。
920 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 23:11:31 ID:vQceVThD0] >>919 だっけ? 試した限りでは動いたためしがなくって諦めてる warrockあたりだと連続回復とか、トリックスターなら自動ドルルとか作りたいんだけどなw
921 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/27(金) 07:24:25 ID:VdmTC/Mk0] 905です。 nPro入ってるとUWSCが動かないみたいですね。 真・三国無双Onlineのマクロを作って頂きかったのですが、諦めるしかなさそうですね。
922 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/27(金) 12:38:38 ID:Pay7Egn90] つーか、製作依頼スレじゃねーっつのww
923 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/27(金) 13:42:47 ID:S8DgtULM0] 丸投げすると>>690 みたいなのが来るからな
924 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/27(金) 18:45:59 ID:DJZ1BRJ60] 丸投げ野郎のHDDが吹っ飛ぼうがどうでもいいけど、 マジで次スレから"ネトゲはプロテクトあるから無理"って書いとこうぜ
925 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/27(金) 18:53:25 ID:xjAPq/OP0] XPモードは表示が遅い XPモードでゲームが動かん USBコントローラーを認識しない VMwareはダウンロードがめんどくさい こんな書き込みを毎日10件くらい見かける。 そのたびにダウンロードリンクに誘導してる。 >>924 新参ってやつはそんな感じだからテンプレに書こうと書くまいとやってくる。 「ネトゲの話題を出すな」とか言うやつが情報を隠蔽する働きをするので、プロテクト関係の知識もないまま質問してくる。 だから自由に話していれば、そのうちグーぐる先生が代理で教えてくれるようになり、質問者もいなくなる。
926 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/27(金) 19:33:22 ID:CeVqa8aA0] 自分で作る気のない香具師にマクロは向かねえ 自分にしか需要のないことや頼むにはちとアレな用途を 自分で考えて解決するのが楽しいんじゃねーか
927 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/27(金) 20:21:19 ID:DJZ1BRJ60] >>925 >だから自由に話していれば、そのうちグーぐる先生が代理で教えてくれるようになり、質問者もいなくなる。 不覚にもなるほどと思ってしまった >>926 そのうちマクロ弄るのに夢中になって要らない機能つけまくるんだよね(´゚'ω゚`)
928 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/28(土) 05:56:35 ID:m1Tk5VUa0] ヤフーオークションの自動出品ツールを作成したいと考えています。 既に同じようなマクロがありましたら参考のためにお教えください。 機能としては以下のようなものです。 まず、タイトル、本文、出品数量、出品日(何日とか)、アフィリエイトのチェック をあらかじめ入力していたものからコピペしたいと考えています。 まだ、今のところFirefoxのテキストボックスにコピーしたものを 張り付けるとうまくはりつかない段階ですが ^^;;;
929 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/28(土) 06:50:43 ID:rmVAP+p00] >>928 > 既に同じようなマクロがありましたら参考のためにお教えください。 専用ソフトがいくらでもあります。
930 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/28(土) 12:14:21 ID:m1Tk5VUa0] >>929 専用ソフトじゃなくてUWSCで作っているやつ希望です。 UWSCそのものを勉強したいってのもあるので。
931 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/28(土) 12:24:37 ID:cnmaujev0] なんの為にUWSCやってんの?アホなの?
932 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/28(土) 12:37:21 ID:rmVAP+p00] >>930 > 既に同じようなマクロがありましたら参考のためにお教えください。 同じようなマクロは録画機能を使えば作れます。 録画したスクリプトを、ハッシュテーブルに入れたデータ項目を参照するように書き換えれば出来上がりです。 ヤフオク出品みたいな、お金儲けに関するスクリプトは公開する人が少ないです。単に実用性がないから作らないのかもしれないけど。
933 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/28(土) 18:10:06 ID:kTyiFlu00] 単にコピペで出品するだけなら掲示板に自動で書き込むようなマクロでも作ってみたら? 貼り付けは普通にCtrl+V使うといいと思うよ
934 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/28(土) 21:42:15 ID:b1XWYHX50] >>930 勉強したいなら既存の実用スクリプトなんて必要ないだろ。 自分で作って試しもしないのに人に聞くな。
935 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/28(土) 21:47:52 ID:zD26tnvh0] 録画からだんだん成長してきました・・・
936 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 08:49:24 ID:dgWxCHL10] API使える達人はいないのか。。。
937 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 10:06:33 ID:nvCOxjdC0] APIとか、多少のことなら使えるけど、UWSC自体の動作が遅いほうだからAPIでぐるぐる回すのには向いてない。 もちろんUWSCの関数より直でAPI呼び出したほうが速いので軽くしたいときには使うこともあるけど・・・
938 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 10:24:37 ID:7Yg8OKdw0] APIを使うために調査してる時間の分で、 HTMLを解析して情報とったり、フォーム送るスクリプト書いたほうが早く終わるんじゃねえの?
939 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 14:02:10 ID:QeytHG290] >>937 >もちろんUWSCの関数より直でAPI呼び出したほうが速い 横槍でスマン。感覚的には理解できるのだけど、具体的にどの辺をAPI に置き換えてるのか教えてくれい。
940 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 14:15:16 ID:nvCOxjdC0] Function GetChldID( PID, CID = 0 ) Ifb CID Then Ifb PID = STATUS( CID, ST_PARENT ) Then result = CID exit endif endif h = GetWindow( IDToHnd(PID), GW_ENABLEDPOPUP ) Ifb h Then S = Status(HndToID(h), ST_CLASS) Select S case "#32768" Result = 0 case "tooltips_class32" Result = 0 default Result = HndToID(h) Selend Else Result = 0 Endif Fend
941 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 14:26:27 ID:nvCOxjdC0] >>939 たとえば子ウィンドウを検索するとき、GetIDでは全てのウィンドウを検索するし「ファイルのダウンロード」などの同名ウィンドウを処理できない。 そこで>>940 みたいに、親ウィンドウハンドルを指定してその子を取得すると早い。 GetChldIDの仕様は↓の通り def_dll GetWindow(hWnd,long):long:user32.dll Public GW_ENABLEDPOPUP = 6 // ポップアップウィンドウ ////////////////////////////////////////////////////// // 子ウィンドウを探す // 戻り値:子ウィンドウのID。見つからなければ0。 // PID:親ウィンドウID // CID:子ウィンドウIDの候補 // GW_ENABLEDPOPUPはWindows2000以降のみでサポート // // GetWindowによる子ウィンドウ取得を、GetChldIDに使ってみたが、 // Zオーダーで手前のウィンドウを全て取得するので選別する必要がある。 // メニュー Class:"#32768" // ダイアログ Class:"#32770" // ツールチップ Class:"tooltips_class32" Function GetChldID( PID, CID = 0 )
942 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 14:34:17 ID:nvCOxjdC0] 他にも、ハンドルやIDを調べることができる自作アプリなどで、PostMessage()を使ったり。 ClkItemでも同じことだけどなんでAPI呼び出ししたんだか覚えてないなあ・・ 微妙に動作が違ったか、裏で動かせなかったか・・CLK_BACKの使い方が解らなかったのかな? ClkItem(TBuffID, elem[i], CLK_BTN, false) クリックするとアクティブになる ClkItem(TBuffID, elem[i], CLK_BTN or CLK_BACK, false) 裏で実行できる DEF_DLL PostMessageA(HWND, DWORD, DWORD, DWORD) :Long :USER32 DEF_DLL SendMessageA(HWND, DWORD, DWORD, DWORD) :Long :USER32 DEF_DLL GetDlgItem(HWND, Long) :Long :USER32 Const BM_SETCHECK = $00F1 Const BST_UNCHECKED = $0000 Const BST_CHECKED = $0001 // チェックボックスを参照し、チェックが入っていればキー送信。 // キー送信したらtrueを、それ以外はfalseを返す Function GageWatch(i) Result = false Ifb ChkBtn( TBuffID, elem[i] ) = 1 Then KBD(key[i]) //ClkItem(TBuffID, elem[i], CLK_BTN, false) PostMessageA( GetDlgItem(hWndTBuff,elemID[i]), BM_SETCHECK, BST_UNCHECKED, 0 ) Result = true Endif FEnd
943 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 15:01:47 ID:Iei82UKK0] 1.オンラインゲームでKBD(VK_Q,CLICK,40)を使うと、反応しない 2.しかしチャット欄を開いた状態だとQを押したことにはなっている。 つまりソフト側でチェックされている? while 1 KBD(VK_Q,CLICK) wend 3.このように連続で入力させるようにするとたまに反応することがある。 3の場合はソフト側のチェック漏れかな? API使って出来るようになりそうならがんばってみたい
944 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 15:12:23 ID:nvCOxjdC0] >>943 ゲームは直接キーボードバッファを読みに行くんじゃね? DirectInputとかいうのもあるし。 んでチャット入力を受け付けるってことなら、そこだけWindowsアプリとして動いてるんだろ。 ゲームを自動操縦するにはハードウェアに近いところで操作する必要があるから、普通のメッセージ処理ではできない。 でも、ゲームガードを回避したらUWSCでも操縦できたっけ。 てことはセキュリティではじいてるのかな? セキュリティ回避するのはちょっと難しいな。
945 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 15:16:58 ID:Iei82UKK0] >>944 なるほど・・・自分には難しかった このはUWSC起動すると「不正ツール(ry」って言われて落ちるけど exe化したら一応落ちなくはなる
946 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 15:32:01 ID:Iei82UKK0] windowsに搭載されてるスクリーンキーボードでも反応しなかったってことは 直接そのキーボードバッファというものを読みに行っているということなのかな JoyToKeyっていうコントローラーのボタンにキーボードのキーを割り当てられるソフト (例えばコントローラーのAボタンを押したらキーボードのSが押されたような動作をするように設定出来るソフト) があって、それでなら動いているのだけれど つまりこのソフトと同じような動作をUWSCで実現できたら ゲームにキーボードの押された情報を送ることが可能なのかな
947 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 15:56:12 ID:Iei82UKK0] ネットゲームにて動かない DirectXのアプリにてマウス操作ができない 対応していません。 ( ^ω^ )・・・
948 名前:939 mailto:sage [2009/11/30(月) 00:25:43 ID:Xt2zr7cw0] >>940 遅くなったけど、回答ありがと。 >UWSCの関数より直でAPI呼び出したほうが速い という内容とは微妙に違う例のような気もするけど…w
949 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/30(月) 16:00:50 ID:YXrN8YTJ0] >>946 UWSCはDLL呼び出せるから JoyToKeyが使っているのと同じ命令ができるDLLを探すとか。
950 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/01(火) 22:27:06 ID:961VTAdp0] Pro試用版でexeファイルを作ったけど、 UWSCで開いたときに作るINIファイル名は大文字小文字そのままなんだけど exe化スクリプトでINIファイルを作ると全部大文字になっちゃうな。 exe化を依頼しようかと思ったけど、 相手がどんなexeをよこしてくるか分からないんだよな。 これで商売してるからそういう情報交換も妨害されるだろうし・・・ いや、試用版でexe化するといちいちメッセージが出るのがな。 期限過ぎると動かなくなるようだし。 まいっか
951 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/01(火) 22:36:31 ID:961VTAdp0] デフォルトでexe化すると、INIファイルに変な情報が入るだけで、 自分で作ったはずのセクションが作られてなかった。 「INIファイルを作らない」オプションをつけると、ファイル名の大文字はそのまんまだったけど、 スクリプトに書いた通りのINIファイルになった。 これってexe化するときとしないときでスクリプトの内容を変えないといけなくなるわけで、苦情あってもおかしくないけどなあ・・ バージョンは4.5c1
952 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/02(水) 12:18:33 ID:OoqK5WGy0] バッチファイルだけの機能でもできる処理だけど、 待ちループもDOSコマンドだけでやればきっと軽いだろうと思ったけど、 localhostへのpingとかいうイレギュラーな方法だと結構CPU食うから、Sleep関数で回したほうがよかった。 pingだと1秒単位でしかSleepできないのにCPUは10%とか食っちゃってたけど、 UWSCでSleep(0.2)で回したほうは0%とか2%で済んでた。 Sleep.vbsを呼び出す方法はpingよりマシかもしれないけど、だったら最初からvbsでやったほうが早い。 でも、DOSコマンドが手軽だから、UWSCから部分的にDOSコマンド呼び出しが一番手軽で動作も軽いかも。
953 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/02(水) 13:04:14 ID:OoqK5WGy0] UWSC実行中に、画面が最前面になって邪魔なのって、自分で解除できるね。 thread start() MsgBox("") // Stopformの代わり Procedure start() sleep(1) CtrlWin( GetID("UWSC - "), NOTOPMOST ) while true sleep(0.1) wend Fend
954 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/02(水) 13:44:08 ID:pE8Gc7pe0] >>952 処理速度の速さだけでいえばAHKで組めば起動からなにからとことん速い。文法に違和感あるのが難点だけど。
955 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/02(水) 14:58:10 ID:OoqK5WGy0] >>954 そのAHKと、それ以外のソフトの違いってなに?
956 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/02(水) 15:39:24 ID:pE8Gc7pe0] UWSCとの違いで言えば、 AHKはのどかや繭のようなレベルまでいかないけど、そこそこ使えるレベルの応答速度でキーカスタマイズが出来ること。 キーカスタマイズの延長で、同じノウハウでソフトの制御も出来ること。 日本語処理に少々問題があること。 本体のサイズが小さい=300KB未満なこと。 文法が特殊であること。例えばA[0]のような形の配列が使えないとか。 PocketPcバージョンがあること。 GUIフォームが使えること。 拡張子のチェックがなくスクリプトが読み込めること。 くらいか。 UWSC同様Portable運用も出来るし、DLLも使える。Exe化も出来るし、更新も活発。 でも遅いけどUWSCのほうが楽に使えるのがいい。 日本語のわかりやすいサンプルもたくさんあるし。
957 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/02(水) 15:42:50 ID:pE8Gc7pe0] 追記 UWSCは関数や変数に日本語を使えるのも大きい。あとで見ると判りやすさが全然違う。
958 名前:名無しさん@お腹いっぱい。 [2009/12/03(木) 09:55:48 ID:GMSc80IJ0] Avast!(最新)でウィルス扱いされた。
959 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/03(木) 14:05:54 ID:LXuACDvD0] おれもおれも
960 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/03(木) 14:24:49 ID:3VjcNtKe0] MSのやつでは何の警告もないよ。Avastが変なやつ入手しただけだろ。
961 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/03(木) 15:39:13 ID:3VjcNtKe0] >>958-959 ttp://pc12.2ch.net/test/read.cgi/software/1245120039/843-846
962 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/03(木) 16:42:01 ID:33hxVSt80] avastの誤検出、ひでえなあ こんな変な挙動はじめてだよ。 uwsc.exeだけなく、jane2h.exeまでウイルス扱い。
963 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/03(木) 21:03:32 ID:iXrRufGb0] ブラウザから解凍ソフトまで恐ろしい勢いで誤検出、警告無しに隔離云々も…って聞いた AVGとかAviraに以降する人多いッぽ
964 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/03(木) 21:23:22 ID:LXuACDvD0] これからはウイルス警告出たらうるせえ,!と言ってavastを切リますん。
965 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/03(木) 21:26:40 ID:I8S4AoB50] 対応版出てるみたいよ >最新の“091203-1”へアップデートすることで解決する模様。 www.forest.impress.co.jp/docs/news/20091203_333071.html
966 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/04(金) 03:53:13 ID:t2RzIDUy0] AHKは文法が変態じみていて、ちょっとしたものを書くのも一苦労だが、 uwscなら製品版を買わないとできないexe化がフリーでできるから人に渡したいものを作る場合AHKのほうが相手に負担をかけずに済む uwscのソースを渡したりすると、uwscを知らない人だとやはり導入に一苦労させることになる
967 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/04(金) 04:36:07 ID:HevuLciX0] >>966 > 製品版を買わないとできないexe化がフリーでできる これってバージョンいくつまで? 今の最新版だと「試用版です」って言われて、期限来ると使えなくなるよ。 > 人に渡したいものを作る場合AHKのほうが相手に負担をかけずに済む あ、AHKならフリーでできるってことか。 でもexeって配布する人に信用がないと使ってもらえないんだよね。 ttp://it.kndb.jp/entry/show/id/1188 マルチバイト文字の扱いがめんどくさいっぽいね。 結構いいかなと思ったけど、Webページの自動化ではUWSCが手軽だ。 AutoHotkey.dll なるものがあるのか。 hsp3imp.dllの取り込みをやってみたけど、こっちもちょっとやってみるかな。 日本語部分をUWSCでやって、細かいところをAHKでやれば結構複雑なものに簡単に対応できるかも。 ただ、マルチスレッドで他アプリと連携する機能がUWSCにないのがな・・・OCX限定なんだよな。 UWSCのマルチスレッドは、DLLをそれぞれ呼び出せるから多分ほんとのマルチスレッドだけど、 AHKのは擬似マルチスレッドってことだから、スレッド分けしてそれぞれで同時に、 たとえばHSPのスクリプトを同時に実行とかはできないんだろうね。 マルチスレッドでのキー操作がかぶるのを防ぐなら、むしろAHKの方が確実にキー操作できていいかも。
968 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/04(金) 04:43:12 ID:HevuLciX0] AHKはGPLだけど、まあスクリプトは多分大丈夫なんだろうけど exe化した場合はスクリプトにもGPL汚染してしまうからスクリプトは強制開示させられるだろ? AHKを流行らせるページのFAQにその情報がないのはちょっとまずいと思うんだ。
969 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/04(金) 12:26:28 ID:TrGlOmpB0] >>966 拡張子チェックしないAutohotkeyやD-monkeyは違うバージョンのエンジンを使い分けるのも簡単だったりする。 拡張子.AHKLはAutohotkeyL.exeで動かすとか、拡張子.jseはCscript.exeで動かすとか。 スクリプトでエンジンのバージョンを見て、あえて古いエンジンで起動させるとか。 出先のPCのレジストリを弄らんでも(相手に弄らせないでも)、 拡張子Jsで起動させておいて、エンジンを変えて起動させたりもできる。 そんな細かい融通なんて出来る必要ないといわれればそれまでだが、 やろうと思えば逃げ道があるってのは便利だ。
970 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/04(金) 15:24:38 ID:HevuLciX0] レジストリ参照するときはコマンドラインが使えるね。 reg query "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools" /v InstallPath | find "InstallPath" >>969 拡張子が自由すぎるのも問題だと思うけど。 スクリプトウィルスですべてのファイルをチェックしないといけなくなるし。 副作用として2chログの .dat ファイルが削除される。 僕の過去ログがウィルスチェックで削除されていた理由がなんとなく分かった。
971 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 01:15:51 ID:RYXBer6t0] >>943 亀だが、オンラインゲームで簡易BOT作ったんだけどその経験から KBD(VK_Q,CLICK)だと反応しないと思ったほうがいい 反応させたいと思うのなら、 KBD(VK_Q,DOWN) KBD(VK_Q,UP,60) などのようにすること つまりキーを押している時間を、ゲームがキーボードのチェックしている時間を上回れ ばいい なお、UPのときの時間は20ですむゲームから、40くらいのゲームまで多少幅があるっ ぽい つまり、チャット欄のときはキー入力はバッファがあり、そこにためてからチャット欄に 移すと考えられる。notepadなどに入力するときと同じ仕様 そして、チャット欄以外の時にはリアルタイム入力でバッファがないから、ソフトのキー ボードチェックのときまで押している必要があると思われる
972 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 20:36:46 ID:xEt3aP6M0] Orbitを使ってダウンロードをする際、 新規ダウンロードというウィンドウが出てくるときに 「キャンセル」を押した場合のみ、Orbitを終了させたいんだけど Orbid = GETID("新規ダウンロード", "#32770") ifb Orbid = -1 then exitexit else REPEAT Orb2id = GETID("新規ダウンロード", "#32770") SLEEP(1) UNTIL Orb2id = -1 Orb3id = GETID("", "orbitdm_app") CTRLWIN(Orb3id, CLOSE2) DOSCMD("taskkill /im orbitnet.exe") endif こう書いてみたものの、これじゃあOKを押した場合でもOrbitが終了してしまう 「キャンセル」を押したときだけ終了させるようにするにはどうすればいいの?
973 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 20:50:22 ID:/7c3sFsA0] >>972 UWSCのスクリプトでキャンセルをクリックする。
974 名前:名無しさん@お腹いっぱい。 [2009/12/07(月) 05:01:47 ID:KNLff4OP0] スクリプト初心者なのですが、教えてください。 UWSCを使って、画面上の特定のエリアにある画像を自動でクリックさせることは出来ますか? 1:インターバル30秒後 2へ 2:『画像A』があれば『画像A』をクリックして1へ 無ければ3へ 3:『画像B』があれば『画像B』をクリックして1へ 無ければ4へ 4:インターバル30秒後 1へ マウスの自動化は出来るのですが、画像を判別してクリックするのはうまくいきません。 サンプルスクリプトを教えていただけると助かります。 がんばって直して使用できるようにします。よろしくお願いします。
975 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 05:02:47 ID:KNLff4OP0] ごめんなさい。sageるの忘れました。。。。申し訳ありません。
976 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 05:25:21 ID:sqa3JRwT0] 可能だけど、大抵の場合は色判定使った方が処理軽くてお勧め どちらにせよサンプルならヘルプ見ればあるし、「chkimg」とかでググってもいろいろ見つかると思う かなり簡単な部類のスクリプトだから、むしろ何がうまくいかないのか教えてくれないと逆に困る 別にsage進行じゃないからageでおk
977 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 11:37:01 ID:Q9OWsxYu0] サンプルがあるのに考えないで教えて君
978 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 15:24:51 ID:EGBUNKjc0] >>974 DirectXの全画面なら無理です。 UWSCで画像を取得できるかどうか、SaveImg()で保存してみたらいいよ。
979 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 16:34:09 ID:2DlR/2d20] >>969 規制喰らってたので亀で申し訳ないのだけど、 >拡張子チェックしないAutohotkeyやD-monkeyは uwsc.exe C:\hoge\hogehoge.bak (hogehoge.uwsの拡張子を変更したファイル) ちょっと試してみたら普通にスクリプト完走するみたいだけど… 意味が違うのかな? >拡張子Jsで起動させておいて、エンジンを変えて起動させたりもできる。 この意味が良く判らない… 別スレでJscriptとAutoItXの共存を書いている人いるけど、この類の話?
980 名前:貞子 mailto:sage [2009/12/07(月) 17:31:58 ID:uPHQyMnr0] >>979 ちょっと透視してみるわ。 どーれどーれ〜、見えた!机の上はちゃんと片付けてね! あなたのハードディスクのC:\hoge\hogehoge.bakのすぐとなりに、 C:\hoge\hogehoge.uwsが見えます。 そのファイルを消すと、C:\hoge\hogehoge.bakは動かなくなるはずです。
981 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 17:38:55 ID:EGBUNKjc0] >>979 > この意味が良く判らない… AutoIt VerX で .abc を動かし、そのスクリプトから AutoIt VerY と .xyz をコールするという感じだろ。 しかし逆にグローバル変数の扱いがややこしいことになると思うんだよね。
982 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 17:56:27 ID:2DlR/2d20] >>980 あぁ、ゴメン。貞子の透視のとおりでしたw
983 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 17:59:26 ID:EGBUNKjc0] さすが貞子だなあ
984 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 19:12:52 ID:vjmE8d/80] まて お前らどうして和んでいるんだw
985 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/07(月) 21:34:47 ID:Vroq5dYd0] じゃあとりあえず馴れ合い厨死ねと言ってみるテスト
986 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/08(火) 09:55:59 ID:R1J3ndqY0] 次スレのタイミングが近くなってまいりました。 >1の公式サイトURLを訂正して立てましょうや ----------------------------------------------------- 自動化ツールuwsc使いよ集まれ5 ----------------------------------------------------- Windowsを自動化させるツールUWSC。 www.uwsc.info/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。 前スレ 自動化ツールuwsc使いよ集まれ4 pc12.2ch.net/test/read.cgi/software/1235990960/
987 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/08(火) 13:36:29 ID:NGw+Zaod0] 安易な作ってクレクレ依頼の禁止or依頼用テンプレでも作るといいんじゃないかな
988 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/08(火) 18:32:07 ID:Q2QOWQX50] 適当に作って見た。適当に追加・削除・訂正してくれ。 コピペする時は、行の右端にスペースが出来るかもしらんから、削除してからよろしく。 ----------------------------------------------------- 自動化ツールuwsc使いよ集まれ5 ----------------------------------------------------- Windowsを自動化させるツールUWSC。 www.uwsc.info/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。 ●質問したい方へ。 「○○作れますか?」→ スクリプトを期待するのはお門違い。作れるか作れないか教えてくれる人はいるかも。 「○○が作りたい」→ 自分作ればいいんじゃない? 「○○作って下さい」→ 依頼スレじゃありません。 過去ログを見る、検索する等、自分で出来る事を書き込む前にするように。 自力で作ったのを晒すか、具体的な解らない場所を提示して、改善点や解決策を求めるようにしましょう。 ●スクリプトを晒す上での注意 他人が読みやすいようにインデントを付けるように。解らない人はググレ。 言いたい事に関係無い部分は 〜○○の処理〜 や 処理A 等のようにし、 必要な部分を晒すようにする。 ●他人の書いたスクリプトを安易に実行しないように。 ハードディスクをフォーマットされたりしても、自己責任。 前スレ 自動化ツールuwsc使いよ集まれ4 pc12.2ch.net/test/read.cgi/software/1235990960/
989 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/09(水) 01:20:11 ID:xGIFdzaW0] >>988 タブインデントは使えないんだぜ 全角スペース等に 変換しておくべし
990 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/09(水) 01:33:49 ID:wLl1el160] テンプレで次スレ建てるレス番も書いておくべきでは? 進みもそこまで速くないから970か980くらいでもいいかも。 ってか、次スレよろ。ちなみに今回はオレ無理。
991 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/09(水) 05:30:20 ID:J1DL1P1U0] 自動化ツールuwsc使いよ集まれ5 pc12.2ch.net/test/read.cgi/software/1260304053/l50
992 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/09(水) 10:19:38 ID:8TzPg+9x0] >>991 >1乙
993 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/09(水) 23:05:02 ID:i3LiK2Rs0] >>991 乙「」「」「」「」「