自動化ツールuwsc使いよ集まれ4at SOFTWARE
自動化ツールuwsc使いよ集まれ4 - 暇つぶし2ch550:名無しさん@お腹いっぱい。
09/09/12 19:55:38 GXu8R6Sh0
なにをいっているんだ

551:名無しさん@お腹いっぱい。
09/09/13 00:42:37 7fYs5gKs0
はははは、なんだこのスレ進行はw

552:名無しさん@お腹いっぱい。
09/09/14 13:48:18 0YMUf7PV0
WEBサイトの書き込みたいページの窓名はどうやって取得すればいいですか?
書き込む箇所がたくさんあるんですよ
例えばこんな感じです
URLリンク(account.edit.yahoo.co.jp)
上記はヤフーの新規登録です
このページでいえば上から希望IDの欄
パスワード入力
念のためのパスワード入力
以下個人情報記入欄と続きます
この例で言うと窓名はどうなっていますか?
その窓名はどうやって知るのでしょうか?
窓名の取得方法教えてください
お願いします

553:名無しさん@お腹いっぱい。
09/09/14 14:54:35 cEOV6N9A0
そのページのソース見れば書いてある

554:名無しさん@お腹いっぱい。
09/09/14 20:26:42 qig3ZFIo0
窓名っていうかテキストボックスのIDですよね。
ユーザー登録なら番号指定するSetTextかなんかでAAC指定が簡単ですよ。
ページレイアウトが変わるとそのつど対応しないといけませんが、
IDが変更されない保障もないから同じことです。
問題はどうやってその番号と項目種別を整理するかだけですが、連想配列使うと簡単です。

チェックボックスについてはClkItem()で表示文字指定でいけるし。
ただ、パスワードはKBD()関数で1字ずつしか入力できない場合が結構ある。
あと、Yahooの新しいページは直で自動操縦できない問題があったと思う。

窓操作するときのIDが必要なのかな?
IEオブジェクトを作っているならこれでID取れます。
ID = HndToID(IE.hWnd)


555:名無しさん@お腹いっぱい。
09/09/14 21:00:56 P2xJX7yR0
たとえ話にしても言ってること聞いたらまともに相手しちゃいけないやつって分かるだろ…

556:名無しさん@お腹いっぱい。
09/09/14 21:34:30 cmD5tDUfP
大量アカウント入手する以外に使い道ねーなw
uwscの評判ガタ落ち

557:552
09/09/15 04:57:03 ivadcF/W0
ども^^
>>553
ソース見てもわかりませんorz
>>554
ありがとです
uwsc関係のサイトを見て下記のようにしたんだけどプリントされたのは1文字だけ。数字の1でした
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("URLリンク(account.edit.yahoo.co.jp)")
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
09/09/15 06:04:35 LY1YTKOq0
>>557
なんだ初心者か

IDは使うものですよ
print Status(ID, ST_TITLE)

最初はヘルプ見るよりもぐぐったほうがいいよ。
UWSCをキーワードに含めるか、UWSC特有の関数名入れたら絞り込めるし。

ちなみに僕はgooのメール登録自動化するやつ作ったけど、
画像の文字を読み取るアクセスコード入力は自動化出来ないから
どの道複数まとめて処理するようなのは作るだけ無駄なんだよね。

メアドを自動的に大量に作るなら、自前のメールサーバー作った方が簡単だよ。
受信するだけのメールサーバーは無料でも配布されてる。
IPアドレスが固定でなくても無料のDDNS使えるし。
たいていのユーザー登録ではメールを1件受信するだけだし、それで十分。

メールアドレスたくさん作っても別に金が入るわけじゃない。
ユーザー登録でプレゼントとかゆっても、あれは客を釣って売りつける名簿を作るためであって、
最初からプレゼントなんかしてなかったりする。
そんなもんにかまけるのは時間の無駄だよ。


559:名無しさん@お腹いっぱい。
09/09/15 07:40:17 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:名無しさん@お腹いっぱい。
09/09/17 00:34:08 c/fKihuM0
>>552です
中間報告です^^;
>>553さん
マジで大ヒントありがとうです!!!
窓の名前取得はわからないままなんですけど
ソース見てname="yahooid" id="yid-ft"というのが怪しいのじゃないかと思い
下記のようにしてみたら見事書けました!
ほんとに本当にありがとうです!
-------------------------
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("URLリンク(account.edit.yahoo.co.jp)")
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:名無しさん@お腹いっぱい。
09/09/17 01:30:02 c/fKihuM0
やった!やった!
>>552です
>>553さん
ラジヲボタン、セレクトボタンとかまだわかんないですけど
取りあえずテキストBOXには全部書き込めるようになりました!
超嬉しいです^^
大前進ですよ
ありがとう>>553さん!
亀レスですけど心からお礼申し上げますm( _ _ )m

562:名無しさん@お腹いっぱい。
09/09/22 09:17:31 ab55ehQx0
>>529みたいにJaneをコントロール・・ていうか、投稿の制御をUWSCでしたりしてるんだけど、
Janeにスクリプト機能がついたから、UWSCで頑張るより楽に出来るかもしれない。
スクリプトは他のビューワには多分ないから、Janeを制御する場合は
UWSCで頑張るよりJane Viewを使った方が楽かも。

実際どんなスクリプトが作れるのかはしらね。

Jane View Version UPキター 目玉はスクリプト機能搭載
スレリンク(news板)


563:名無しさん@お腹いっぱい。
09/09/22 09:50:53 AAcMg2An0
質問いいですか
UWSCは格闘ゲームのマクロ作成に向いてますか?
ゲームは1秒当たり60フレームで進行するので、16.666ms(1フレーム)の入力精度が必要です

564:名無しさん@お腹いっぱい。
09/09/22 10:19:06 ab55ehQx0
>>563
僕のPenM1.7GHzパソコンでは、クリックの精度は23msくらいだったよ。
実際どこまで精度が上がるかは分からないけど、精密にクリックしたかったら
CPUコア1つが90%の空きと、
ゲームが動いてるコアのCPU使用率が70%以下じゃないと難しいんじゃないかな。

相手の動きを感知するのが実際無理だと思うけど、どうやって処理するつもり?
単純に必殺技やハメ技をボタン一発でやるんならそんな精度いらないと思うんだけど。


565:名無しさん@お腹いっぱい。
09/09/22 10:58:37 AAcMg2An0
>>564
レスありがとうございます
そんなに処理能力がいるんですか
考えが甘かったようです
専用ハード買うか、作る方向で検討してみようと思います

> 相手の動きを感知するのが実際無理だと思うけど、どうやって処理するつもり?
決まった動きを繰り返すマクロで練習するつもりです
対戦では使いません

566:名無しさん@お腹いっぱい。
09/09/22 12:45:47 qC8zwhig0
対戦で使わんなら別に数十msぐらい遅延しても問題なくね

567:名無しさん@お腹いっぱい。
09/09/22 15:54:46 PezqNhcY0
正確に1フレーム辺りの精度にせんでも、格闘ゲームのボタンって待ち時間があるだろ。
技を繋ぐ時に0.1秒くらいのタイミングでボタン押してれば戻り動作がキャンセルされるという感じで。

ボタンの受付待ち時間が全くないゲームは糞ゲーだぜ。

568:名無しさん@お腹いっぱい。
09/09/22 21:41:42 wus9Xr/I0
>>529
これどうやんの?

uwscをダウンロードした
メモ帳にそのまま写して.UWSにした

教えてください

569:名無しさん@お腹いっぱい。
09/09/22 22:34:49 nxVea3tG0
あぁっと
>>529
自分も教えてほしいです

570:名無しさん@お腹いっぱい。
09/09/22 22:59:32 2rNOwggP0


571:528
09/09/22 23:28:04 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:名無しさん@お腹いっぱい。
09/09/22 23:44:21 wus9Xr/I0
>>571
おぉできたwありがと

573:名無しさん@お腹いっぱい。
09/09/22 23:44:41 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:名無しさん@お腹いっぱい。
09/09/23 03:09:33 39u478qO0
インターネットを理解していないこの馬鹿は何者?
しかも自作自演で質問・回答とか頭おかしいだろ

書き込みボタン押下でどうやってパケットのルーティングまで制御する気だよw

575:名無しさん@お腹いっぱい。
09/09/23 04:08:46 IbHZjMsfP
>>574
なんなの?この釣り
聞かれたから答えただけだよ。

2ちゃんねるへの書き込みでなんでパケットとかルーティングとか関係あるんだよ。


576:名無しさん@お腹いっぱい。
09/09/23 09:41:02 IYhj49D60
正確な投票にはそういうのが必要だからじゃないの
超簡単なスクリプトを長々と説明してるもんなんだからうぜえとでも思ったんだろ

577:名無しさん@お腹いっぱい。
09/09/23 11:07:08 IbHZjMsfP
>>529の最初に
>出来るだけ正確に投稿するにはどうしたらいいかと考えて、
>JaneDoeViewの「書き込み」ボタンをクリックすることにした。
>以下即席スクリプト
ソースの最後では
>kbd(VK_SPACE, UP)
って書いてあっても分かんないみたいだから、「どこが分からないの?」とかいちいちやり取りする良り
一から十まで丁寧に書けば1レスで済むとおもったんだよ。
結局長くなって2レスになったけど。

なのにいちいちあおりを入れる奴がいるから無駄にレスを消費してしまうんだよな。

それより栗ご飯はやっぱり炊飯器で炊いた方がいいかもな。
高圧鍋だとやわらかいけど・・・水が多かったのかやわらかすぎて栗の歯ごたえがなくなってる。
いや、栗だけなら高圧でもほくほくなんだよな。
水がやっぱり多すぎなのかなあ?

578:名無しさん@お腹いっぱい。
09/09/23 11:48:36 39u478qO0
>>575
正気で言ってる?
パケットはインターネットのどこを通って相手サーバーに辿り着くか保証しない
ping,tracert打てば分かるけど到達時間のゆらぎはここの影響が一番大きくて
光回線だろうと専用回線だろうと正確に書き込むなんてスクリプトの創意工夫じゃ無理な話

579:名無しさん@お腹いっぱい。
09/09/23 11:50:59 xgMteTKH0
出来るだけ正確にってことでいいじゃないですか

580:名無しさん@お腹いっぱい。
09/09/23 13:33:41 IbHZjMsfP
>>578
まさかその話を蒸し返すとは思わなかったよ。
ほとんどの板では最小単位は秒なので、多少の揺らぎがあってもきっちりあわせることは可能ですよ。
だって、いくら揺らぎがあっても最速より早くなることはないわけで、
そうすると遅れが1秒近くまで許容されるわけです。
pingで100msを超えることなんて、海外鯖じゃないかぎりあまりないことでしょ。
150msくらいなら国内でもありえなくはないけど。
通信が安定してない無線環境は論外ってことで。

あと、ルートがころころ変わるみたいに言ってるけど、基本的にトラフィック分散を意図的にでもしてない限りは同じルート通るでしょうに。
そもそも鯖の時計が正確かどうかも分からないんだから、期待通りの時刻になるかどうかは何度か書き込んでチェックしておくのは前提ですよ。

そんでもって、現実にほぼ100分の2秒プラスするくらいの誤差に収まっているんだから、揺らぎの影響をいくら説いたところで無駄です。
1000分の1秒の正確さを要求するとしても、Windowsがそんな正確に時間を刻むことが出来ないのに通信がそれ以上正確に出来るわけもないんですよ。
最近のWindowsは1000分の1秒まで正確に刻めるんだっけ?知らないけど。

>>579
ですよねえ
原爆の爆縮レンズじゃないんだからそこまで正確である必要はないのに。


581:名無しさん@お腹いっぱい。
09/09/23 14:04:12 IYhj49D60
時間刻んでるのはマザーボードじゃね

582:名無しさん@お腹いっぱい。
09/09/23 17:51:15 7k3kCu8k0
まあ一言で言えば、長文ウザイ、ってことだな

583:名無しさん@お腹いっぱい。
09/09/23 18:32:42 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:名無しさん@お腹いっぱい。
09/09/23 19:42:45 IYhj49D60
ちょっとそれは不安定すぎ
俺のだと134msTTL52、135msTTL52を行ったり来たりするくらいでほぼ一定
つまり通信環境が安定してればルーティングなんて計っても計らんでも同じだぞ
まあどっちにしろ100%なんてないだろうがw

585:名無しさん@お腹いっぱい。
09/09/23 23:38:33 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
09/09/24 00:12:31 hVVrxn3L0
>>583
pingの応答時間のばらつきがルーティングが一定でない証拠になるのなら、
逆説的に、一定であれば同じルートを通ってることになるわけだ?

俺の場合はたまたま146msがあったけど、基本的に147msで安定
5回に1回くらいの頻度で1ms以上遅れるブレがあり、>585のリストでは最大153ms
つまり、最大でも6msしか遅れないわけだ。

そしてこのばらつきは同じルートを通っていることを示すものだ。
トラフィックによる遅れがあり、それが往復で6msということだ。

そもそも、同じルートを通っても時間にばらつきが出るのはネットワークの基礎だ。
ルートを保障しないというのはルートを変更できるということであって、どこを通っても到達可能という意味ではない。
君の家、君の会社の出口はたくさんあるのか?
複数の出口を使ったためにホームページが機能しなくなった淀橋。comのような例もあるが、基本的に出口は一箇所だろう。
僕は拠点を数箇所持っている会社で、会社の出口までのpingを見ていたが、専用線とは言え細い帯域を使っていたため
>>585程度のばらつきは発生していた。
他にルートがないのは、俺がこの目でそれぞれの装置の設置とケーブルの接続を確認していたんだから間違いないんだ。


・・・そういえば複数の回線を束ねる方法があったっけね。
でも、基本的に同じ仕様の回線を使って同じ相手への接続をするだろう。
複数の相手にランダムに送りつけるなんてありえないね。


587:名無しさん@お腹いっぱい。
09/09/24 13:14:20 LnjpJUXE0
いくらなんでも583はブレすぎw

588:名無しさん@お腹いっぱい。
09/09/24 15:45:37 WyG49l9r0
>>587
シーっ
自分で気づいたとき
顔まっかっかにになるおw

589:名無しさん@お腹いっぱい。
09/09/26 12:45:09 i6V0HPzG0
サブに使ってるノートパソコンを買い換えたんだけど
OSは Windows Vist HB です
今までXPで作ったuwsファイルが動かないんだよね
それでvist HB にて カメラモードで記録して再生してみたけど
動かないorz
どうなってんだかさっぱりわかりません
VistでUWSCを使えないでしょうか?
自分にとってUWSCは物凄く大切なツールなので
最悪の時はOSの入れ替えしてでも使っていきたいです
どなたかわかる方おられましたらお願いいたします

590:名無しさん@お腹いっぱい。
09/09/26 12:54:56 pa8lBq8j0
>>589
VISTAなら管理者権限で動かせば動く
なお、SP1とか入ってないと動かない

ショートカットの上で右クリック
項目に管理者として実行(A)

591:名無しさん@お腹いっぱい。
09/09/26 13:06:04 i6V0HPzG0
>>590さん
早速のレスありがとうです^^
一応SP1のようです
管理者権限ってのがよくわからないんですけど
教えてもらったとおりにやってみます
1時間くらい後になるかもしれませんが
後ほど報告します

592:名無しさん@お腹いっぱい。
09/09/26 13:53:25 i6V0HPzG0
>>590さん
できました!
ショートカットの上で右クリック
管理者権限で実行
これで以前作ったUWSファイルが見事に動いています!
>>590さんマジでありがとです m( _ _ )m

593:名無しさん@お腹いっぱい。
09/09/27 18:05:14 7JVGpQHe0
firefoxを閉じる方法がわかりません教えてください

594:名無しさん@お腹いっぱい。
09/09/28 14:16:23 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:名無しさん@お腹いっぱい。
09/09/28 16:40:50 irclUfzT0
nyやshareでダウンロード終わったrarなんかを自動的に解凍してくれるようなスクリプト組めない?
いちいち揃ったか確認してってちとめんどい

596:名無しさん@お腹いっぱい。
09/09/28 18:00:48 PAsbME+j0
それを人に聞いて教えてくれる奴がいるとでも思ってるのかP2P厨

597:名無しさん@お腹いっぱい。
09/09/28 18:08:44 XYX6H4wP0
>>593
いくらなんでもそれはわかるだろう

598:名無しさん@お腹いっぱい。
09/09/28 18:09:50 J6+ufsV/0
>>593
>>595
まずPCを窓の外に投げ捨てます。それから、

599:名無しさん@お腹いっぱい。
09/09/28 18:57:20 plPjciD00
服を脱ぎます。それから、

600:593
09/09/28 19:40:54 tD6dVglK0
わからないなら答えなくて良いよ

601:名無しさん@お腹いっぱい。
09/09/28 20:35:45 irclUfzT0
>>596
P2P程度でガタガタ言うな器が知れる

602:名無しさん@お腹いっぱい。
09/09/28 21:59:58 kvY9Z34d0
>>600
今日はここ見るの初めてなので質問気づかなかったですよ
関数抜けるなら
EXIT EXIT って書けば終了しますよ
quitでも抜けるかも
自分もまだ超初心者なのでわかんないんだけど
後で調べてみるよ
今からお風呂入ってからなので日付変わるかも^^;
詳しい人教えてあげればいいのにね
わかるかどうかは自分も自信ないけど
期待しないで待ってて^^;
取りあえず返事はするから。

603:名無しさん@お腹いっぱい。
09/09/28 22:18:42 tD6dVglK0
CTRLWIN( ID, CLOSE)
ここまでわかったけど
このIDってのがどうやって調べるのかが疑問


604:名無しさん@お腹いっぱい。
09/09/28 23:06:05 J6+ufsV/0
まあとりあえず人に物をたずねる態度ではないわな
しかもそんな超初級の質問だし

605:名無しさん@お腹いっぱい。
09/09/28 23:15:48 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:名無しさん@お腹いっぱい。
09/09/29 00:05:20 NdTMXo030
id = GETID("", "MozillaUIWindowClass", -1)
CTRLWIN(id, CLOSE)

これでいいだろめんどくせえ

607:名無しさん@お腹いっぱい。
09/09/29 00:09:24 G9pasUcy0
>>601
p2pをやっている時点で器が知れる

608:名無しさん@お腹いっぱい。
09/09/29 02:09:09 MkiJ7lnC0
>>595
スクリプトでなくとも、分割ファイルじゃない限りBACTHファイルでも出来そうだ


609:名無しさん@お腹いっぱい。
09/09/29 06:34:07 FQvNwZh30
>>601
程度って言う時点で終わっていることに気が付かない無能

ネタでも質問して答えがもらえなくて逆ギレするのは古い
0点

他人の器を計測出来る技量があるなら自分で作りましょう^^;

610:名無しさん@お腹いっぱい。
09/09/29 07:15:22 i5//2YOSP
ダウンロードしたファイルの展開を自動化して勝手にキンタマに感染してればいいよ

611:名無しさん@お腹いっぱい。
09/09/29 10:05:41 luOmQHoy0
展開とファイル実行機能をつけたスクリプトをEXE化してプレゼントしてあげよう

612:名無しさん@お腹いっぱい。
09/09/29 15:26:34 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:名無しさん@お腹いっぱい。
09/09/29 20:17:33 RXL7LTN80
>>612
漏れのとこはprocedure Test()がSyntax error吐く
procedure Test(a)と呼び出しもTest(0)に書き直すと5まで回る

614:名無しさん@お腹いっぱい。
09/09/30 16:39:27 IWwKgH1S0
>>612
エラーになる最小構成
Uスクリプト: SyntaxError:PROCEDURE TEST()2行目: TEST()
二回目の呼び出しでエラーになる

Test()
Test()

procedure Test()
  select 1
    case 2
  selend
fend

615:名無しさん@お腹いっぱい。
09/10/03 15:10:10 PrU7zT590
>>612
最新の4.5c1で問題ないようですね。

616:名無しさん@お腹いっぱい。
09/10/03 15:17:35 PrU7zT590
あ、修正内容記載忘れ

>SELECT-SELEND構文のCASE部の演算にて、正しく処理できないパターンがあるエンバグ修正

617:名無しさん@お腹いっぱい。
09/10/04 19:21:28 nTBPfdcN0
他のアプリのフォーム上のテキストを取得するにはどうしたらいいんでしょうか。
手順だけでも教えてください。

618:名無しさん@お腹いっぱい。
09/10/05 00:07:31 CH7gUdqSP
まずヘルプを見ます

619:名無しさん@お腹いっぱい。
09/10/05 00:08:51 PJFhomP10
それから服を脱ぎます

620:名無しさん@お腹いっぱい。
09/10/05 03:49:26 NhTXeCvfP
>>617
URLリンク(scripts.web.fc2.com)

621:名無しさん@お腹いっぱい。
09/10/06 08:32:17 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:名無しさん@お腹いっぱい。
09/10/06 12:07:27 MmWu6XUb0
いえ、結構です

623:名無しさん@お腹いっぱい。
09/10/06 13:51:43 /f+XFp6+0
そういうなよw

HSP利用してるひとには、何か役に立つ場面があるんだろう。よくわかんないけど。

624:名無しさん@お腹いっぱい。
09/10/06 14:08:00 iGIKVHSK0
GUIって書いてあるし、インターフェースの作り方が簡単に出来るんじゃね?
PRO版でも以外にhtmlで組んで値の取得はめんどいきがするしなぁ。

625:名無しさん@お腹いっぱい。
09/10/06 14:40:59 aEe1fbMS0
スクリプトが中心のUWSCにGUIは要るのかどうか

626:名無しさん@お腹いっぱい。
09/10/08 18:39:23 POs5weyE0
GUIは要るだろw
処理は分岐させるときに、
マウスでボタン選ばせることはよくある。

627:名無しさん@お腹いっぱい。
09/10/08 19:32:12 qRylH6WX0
漏れはGETKEYSTATE(と反応いるならFUKIDASI)派

628:名無しさん@お腹いっぱい。
09/10/08 20:16:25 G90OFwF50
そういえば、UWSCをゲームの自動化に使う人が多いけど、
UWSCはドットと一定範囲のキャプチャ、そしてあらかじめ用意した画像との一致ができるけど、
もーちょっと複雑な処理をするとなると普通の開発言語が必要になってくる。
DLLを作れば呼び出しはしやすいけど、DLLを作るのはちょっと大変。
HSPは個人というか同人のゲーム開発によく使われているから、作りやすそうな気がする。

>>621の呼び出し方法だとデータの受け渡しは出来なさそうだけど・・
確かHSP独自の管理データのバッファを受け渡すオプションがあるんですよ。
メモリアロケートしなきゃいけないからUWSCで用意するのはきついか・・・
そもそもそのバッファをどう使うのかも分かんないし。
直呼びするんじゃなくて中間にそのデータを処理するライブラリが必要になるよな。
結局DLLは作らなきゃいけないのか。


629:名無しさん@お腹いっぱい。
09/10/08 20:54:12 UBSNf1qA0
msgboxでYES or NO を選択させているときに
バックグラウンドのログウィンドウのサイズ変更やスクロール操作をさせたいのですけど
どーにもウィンドウ自体がロックされてて動かない。

何かいい処理手段はありませんか。

630:名無しさん@お腹いっぱい。
09/10/08 21:08:28 qO5rVH0kP
>>629
ためしに別スレッドで表示してみたけど、スレッド関係なくログ窓はロックされた。
最初にログ窓を表示してsleep()してる間にサイズを変更しておくしかないね。

毎度変更するのが面倒なら、ログ窓の初期サイズはどっかの初期設定で変更できるんじゃないかな。
参考にはならないだろうけど、UWSCの別スレッドで>>621の方法で呼び出したHSPスクリプトで表示した窓なら確かログ窓をロックしなかった。
モーダルとモードレスの違いかな。


631:名無しさん@お腹いっぱい。
09/10/09 12:31:18 b97IpTpi0
>>630
やっぱりそこは仕様として受け入れるのが妥当みたいですね…


632:名無しさん@お腹いっぱい。
09/10/09 21:26:03 arGnFET40
OPTIONで、SLCTBOXとかMSGBOXのタイトルは指定出来るけど、
Printで出てくるLogのウインドウのタイトルは変更出来ないですよね?
やるとしても、指定したタイトル.uwsを勝手に生成させて、
それにPrintしたい文を引数として渡しながら起動させて、そっちのプロセスからLogウインドウ生成させる
とか、
もしくはFukidashi使ってPrintまがいの関数作って、常に一番上に同じ文字列を表示させる事で代用する感じですか?

633:名無しさん@お腹いっぱい。
09/10/10 19:09:22 x/VCcQim0
ふと思ったんだがUSBケーブルで携帯電話に繋げば携帯電話のキーも自動操作可能?

634:名無しさん@お腹いっぱい。
09/10/10 19:16:07 utpQqVzD0
無理

携帯電話を接続する場合、モデムとして認識されるだろう。
モデムとしてダイヤルすることは、通信ソフトを使えば可能だが、通話は・・
Windows98には通話に使えるダイヤラーがあったけどな。


635:名無しさん@お腹いっぱい。
09/10/11 00:22:44 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:名無しさん@お腹いっぱい。
09/10/11 00:36:00 PutYKpoI0
for i = 0 to 30
 ifb FLAG = 0 then
  if ループの終了条件1 then break
 else
  if ループの終了条件2 then break
 endif
next

これじゃいけない?

後者の方が条件Aにマッチする時は条件Bの評価をしなさそうに見えるけど、
実際はそうでないことも多いからやってみないとわからんな。

637:名無しさん@お腹いっぱい。
09/10/11 02:58:02 VZNQjdxo0
FLAGが0か1なら
for i = 0 to 30
 if (FLAG XOR ループの終了条件1) OR (FLAG AND ループの終了条件2) then break
next
とかやっちゃいそうな気がする。
短く書けるけど読みにくいし早くは無さそうだがw
ORは確か片方成立で飛ぶんじゃなかったっけかな?

638:名無しさん@お腹いっぱい。
09/10/11 03:08:56 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:名無しさん@お腹いっぱい。
09/10/11 03:21:48 G3PJrjiY0
>>638
いや、マルチスレッドでflagをセットするのかもしれない。

ちょうど昨日くらいにマルチスレッドで同じ変数への演算を試したが、タイムラグはあるものの矛盾は起きなかった。
絶対に起きないというテストじゃなくて、ログに吐いてざっとみた感じだけどな。
データ保持時間が最短のインクリメント(X=X+1)だったから矛盾しなかっただけかもしれないが、
実際マルチスレッドでやり取りするのはその程度の小さいデータだしな。

>>637
UWSCの or はビット演算するんじゃなかったかな。
FLAGにセットするデータとループの終了条件1、2が0または1しかセットしないと決めてあるなら大丈夫だろうけど。

640:名無しさん@お腹いっぱい。
09/10/11 03:38:04 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:名無しさん@お腹いっぱい。
09/10/13 22:27:37 jrmsphI70
z = 1
repeat
IESetData(IE,True,"btnG","u-tan",z)
z = z + 1

until z > 400

終了条件が400となっていますが、400以下のときがあり
そのまま終了せずに止まってしまいます。

400以下の場合はどのような終了条件にすればいいのでしょうか?

642:名無しさん@お腹いっぱい。
09/10/13 22:38:27 xJwyuOU/0
while IESetData(知らない)
 z=z+1
wend

643:名無しさん@お腹いっぱい。
09/10/13 22:57:01 71hzl6RX0
for z = 1 to 400
IESetData(IE,True,"btnG","u-tan",z)
next

644:名無しさん@お腹いっぱい。
09/10/13 23:07:14 jrmsphI70
>>642-643
どちらも駄目でした・・・



645:名無しさん@お腹いっぱい。
09/10/13 23:13:52 Duzrrw3q0
z=1
while z<400 and a=TRUE
a= IESetData(知らない)
 z=z+1
wend

646:名無しさん@お腹いっぱい。
09/10/13 23:51:29 jrmsphI70
>>645
変数aを上に記載してやったら
どうにかできました。m(_ _)m

647:名無しさん@お腹いっぱい。
09/10/14 00:48:59 21DOA/fB0
ということはこれだな
for z = 1 to 400
 if false = IESetData(IE,True,"btnG","u-tan",z) then break
next


648:名無しさん@お腹いっぱい。
09/10/15 17:56:31 UljGJ3ay0
ちょっと疑問に思ったんだけど、
 「false = 条件」 と、 「条件 = false」
って普通はどっち?

649:名無しさん@お腹いっぱい。
09/10/15 18:55:03 bcXkiyj70
C言語で
> if 変数 = 状態
ってやっちゃうと代入になっちゃうから
> if 状態 = 変数
って書くべしっていうのはある

でもBasicは = で比較だからどっちでも同じ
ただ、比較対照が長い関数の場合、どれとどれを比較してるんだかわかんないので
> false = 関数
ってしたほうがいい。

> if 関数 = false then
と書くと、
> if 関数 then
と間違えやすい
だから、Basicでは
> if false = 関数 then
と書くのをお勧めする


650:名無しさん@お腹いっぱい。
09/10/15 23:21:40 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:名無しさん@お腹いっぱい。
09/10/16 00:12:35 d8MsK2iH0
>>650
それなんで通っちゃうんだろうね
確かに != の表記が間違ってるみたいだけど。

652:名無しさん@お腹いっぱい。
09/10/16 14:55:14 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:名無しさん@お腹いっぱい。
09/10/16 15:07:01 d5KMyGe80
>>652
 (X1,Y1)―
   |     |
   ――(X2,Y2)


654:名無しさん@お腹いっぱい。
09/10/16 15:21:35 d8MsK2iH0
>>652

  ┌Y1┐
 X1   X2
  └Y2┘


655:名無しさん@お腹いっぱい。
09/10/16 15:26:36 d5KMyGe80
>>652
始点Yが400で選択範囲をY600までにした場合
Yの値=画像の横幅、が200pxを超えていると認識しない。

656:名無しさん@お腹いっぱい。
09/10/16 15:49:11 yaBuphLm0
>>653-654
654を見て理解できました

>>655
画像自体の幅と高さが関係してくるのを理解してませんでした


これで少し前進しました アドバイスくださった皆さんありがとうございました


657:名無しさん@お腹いっぱい。
09/10/17 16:13:22 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:名無しさん@お腹いっぱい。
09/10/17 17:03:23 Xw3XxMCcP
ここまで何をしたいのか全く理解できないレスは初めてだ

659:名無しさん@お腹いっぱい。
09/10/17 17:32:45 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:名無しさん@お腹いっぱい。
09/10/17 17:58:54 II0xKVE40
使えないだろ。

下一桁の意味がわからん

661:名無しさん@お腹いっぱい。
09/10/17 18:30:52 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:名無しさん@お腹いっぱい。
09/10/17 19:15:57 2kTk15QU0
すみません質問です
友人から拡張子.uwsのスクリプトをもらいましたがUWSCのお試し期限が切れてしまいました
そこでAutoItで使えるようにしたいのですが僕にはこういった知識が全くありません
その友人に変換してもらえるか聞いたんですが
「UWSC以外は使ったことないからワカンネ」と言われてしまいました
もしここの部分をこうするだけだよ、
ってレベルの話であればどうか教えてください

663:名無しさん@お腹いっぱい。
09/10/17 19:25:26 ra182OK/0
>>662
UWSCのフリー版使えば期限なんてないよ
URLリンク(www.uwsc.info)

664:名無しさん@お腹いっぱい。
09/10/17 19:35:41 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:名無しさん@お腹いっぱい。
09/10/17 19:54:20 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:名無しさん@お腹いっぱい。
09/10/17 20:03:08 2kTk15QU0
>>663
ありがとうございます
フリー版があったんですね
助かりました

667:名無しさん@お腹いっぱい。
09/10/17 20:36:20 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:名無しさん@お腹いっぱい。
09/10/17 21:23:35 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:名無しさん@お腹いっぱい。
09/10/17 21:27:50 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:名無しさん@お腹いっぱい。
09/10/17 21:28:31 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:名無しさん@お腹いっぱい。
09/10/17 22:00:44 GlNkzRYu0
沢山の答えありがとうございます
自分はまだ初心者なので皆さんの答えを今すぐに理解できないので
1つずつ理解していきます。



672:名無しさん@お腹いっぱい。
09/10/17 22:30:46 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:名無しさん@お腹いっぱい。
09/10/18 09:11:39 t51s/utc0
661とは全く違うじゃねーかw
説明が下手糞だから余計な混乱を招いてるんじゃないのかよ。

下手に簡略化しようと考えずに
実際にやってることを書けよw

674:名無しさん@お腹いっぱい。
09/10/18 11:27:49 0ZmdNhwk0
>>673
最初そう思ったがどうやらLの数値からブロックの番号と行の番号の2種類を求めたいらしい
ただ、あとは>>669のDIM tou[20]=をその行の番号に対応するところを変えて後ろにii=tou[counter]
をつければ差し替えるだけで終わるから、後は質問者がLvUPしてこれをするだけ

675:名無しさん@お腹いっぱい。
09/10/18 13:43:28 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:名無しさん@お腹いっぱい。
09/10/18 18:29:56 /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:名無しさん@お腹いっぱい。
09/10/18 18:48:35 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:名無しさん@お腹いっぱい。
09/10/18 20:14:28 /4/WenoU0
>>677
出来た、ありがとう
ついでに聞いておきたんだけど
>>676で書いたようなラベルジャンプみたいな機能はUWSCではできないのかな

679:名無しさん@お腹いっぱい。
09/10/18 20:26:05 fLNvafB60
>>678
ないな。

どーしてもそういうコーディングがしたければ、
ジャンプの変わりに、関数を呼び出してそのままexitしたらいいんじゃないかな。

ifb flag then
 関数()  //関数を実行
 exitexit  //関数が終わると戻ってくるが、後は必要ないので終了
 // これでgotoしたのと同じ事になる。ただし変数はグローバルで取ること。
 //でもgotoが入り混じった動作は作れないよな
endif


680:名無しさん@お腹いっぱい。
09/10/18 20:50:46 /4/WenoU0
>>679
参考になったよ
サンクス

681:名無しさん@お腹いっぱい。
09/10/18 21:14:57 ixWoaU9v0
イイコト聞いた(・∀・)
俺も参考になった
>>679
ありがとね

682:名無しさん@お腹いっぱい。
09/10/19 17:46:15 n+6Jdku/0
はじめまして全くの初心者で丸投げでお願いしたいです
メモ帳に24行の文字列があるのですが
1時になれば上から1行目をサイトAに投稿
2時になれば上から1行目をサイトBに投稿
3時になれば上から1行目をサイトCに投稿
このように1時間ごとに1行の投稿を
1~24行 A~X それぞれの行、サイトに対応させて投稿したいです
よろしくお願いします

683:682
09/10/19 17:49:34 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
09/10/19 17:53:33 n+6Jdku/0
何度もすいません
テキスト1ファイルで1行目~24行目の方法ではなく
1行ファイルを24個用意して
1時にテキスト1をサイトA
2時にテキスト2をサイトB
3時にテキスト3をサイトC
この方法でも結構です
どなたかお願いします

685:名無しさん@お腹いっぱい。
09/10/19 18:18:15 UJIHaaLl0
>>はじめまして全くの初心者で丸投げでお願いしたいです

686:名無しさん@お腹いっぱい。
09/10/19 18:59:12 HVP74pPF0
自分で作れないなら、プロにお金を出して作ってもらったら?

687:名無しさん@お腹いっぱい。
09/10/19 19:43:20 CQ58FsYy0
>>682-684
そのサイトが全部2ちゃんねるなら5千円で作ってあげてもいいけど
ぜんぜん別の掲示板なら1箇所当たり2千円で消費税も入れて 55000円 になるけどいいかな?


688:名無しさん@お腹いっぱい。
09/10/19 20:39:09 fkMx4tWw0
>>682
こんなソフトウェアつくってください
スレリンク(software板)

689:名無しさん@お腹いっぱい。
09/10/19 22:09:18 A/b0I+MbP
>>682
これから作るからちょっと待ちなー

690:名無しさん@お腹いっぱい。
09/10/19 23:54:32 3uvH/jIh0
>>682
書き込むサイトのアドレスをsite[1]="○○○○"←のところに入れてね。
前後の「"」は忘れずに!

dim site[25],kakikomi[25]
site[1]="URLリンク(hyde156cm.com)"
・・・(省略)・・・
site[24]="URLリンク(hogehoge.co.jp)"
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
09/10/20 07:09:39 W8G0SBlw0
>>690さん
お返事遅くなり申し訳ないです
お忙しい中、本当にありがとうございました
大切に使わせていただきます
感謝です

692:名無しさん@お腹いっぱい。
09/10/20 07:33:50 jAAUEYUX0
よく>>682みたいな馬鹿に親切に作ってやるもんだ
>全くの初心者で丸投げでお願いしたいです
こういう輩を甘やかすと調子乗るんだよな

693:名無しさん@お腹いっぱい。
09/10/20 17:29:41 lEe8RCT+0
>>682みたいなのは死ねばいいと思う
uwsc使いでもなんでもないし

694:名無しさん@お腹いっぱい。
09/10/20 19:18:45 kn6xTJMj0
「UWSC使い」使いですね。わかります。

695:名無しさん@お腹いっぱい。
09/10/20 21:37:35 5ibiXKAy0
>>690
巧さ半端ねぇなw
どうなっているのか解るのに10秒くらいかかった。

696:名無しさん@お腹いっぱい。
09/10/21 00:30:20 5BhbaMvE0
682は本当にこれ実行したんだろうか…

レス無いのはやっぱり実行しちゃったんだろうか…

697:名無しさん@お腹いっぱい。
09/10/21 01:09:56 H9pzsLFx0
ちゃんと見てなかったけどCから順にやるのかすごいな
だが、ちゃんとエラーを除去しないとスクリプト実行エラーが出るから、
初めて触る人間にはすぐには実行できないんじゃないか?


ていうかまさか依頼の段階から仕込みとかか?
依頼からして不自然だったしさ。


698:名無しさん@お腹いっぱい。
09/10/21 01:29:46 H9pzsLFx0
やってみたけどループ1回目の途中でエラーになって止まったよ。
だめだな。

仮想マシンでやったけど、起動した後で「しまった。共有ドライブが!」とか思ったけどぜんぜん心配いらんかった。


699:名無しさん@お腹いっぱい。
09/10/21 01:47:10 H9pzsLFx0
× ぜんぜん心配いらんかった。
○ そっちは心配いらんかった。

700:名無しさん@お腹いっぱい。
09/10/21 23:02:22 eGE2n9Cp0
>>690を実行するとどうなんの?
エラーが出るだけ?

701:名無しさん@お腹いっぱい。
09/10/21 23:18:52 s2PXx/VI0
>>700
コードをちゃんと読めば理解出来るだろう。
メモ帳か何かにコピペして、それがどう弄られていくか書き出してみればいいよ。
知らない可能性があるのは、最終的にできあがるものだが、それはググれば一発で出てくると思うよ。
ちなみに65がAだから、66はB、67はCな。

702:名無しさん@お腹いっぱい。
09/10/21 23:54:14 H9pzsLFx0
>>701
それだけじゃわかんないと思うよ。
サイトAからXまで処理することになってるから。

A-X が C-Zに置き換わってると言えば分かると思う。


703:名無しさん@お腹いっぱい。
09/10/22 00:23:30 zsrKpKqI0
最初はB。ループの最初で66を67に置換でC、以降+1していくからDEFG…
65は最初から無い

704:危険!危険!
09/10/22 00:46:18 rtGLzJgQ0
なんで~(;´д⊂ヽ
>>690をやってみようとしたらエラーになるので
パソコンをリセットしたら
「Wwindows Boot Manager」の画面になってそこからどうにもならない
もうデータとか全部捨ててリカバリするしかないかも試練orz
ちなみにOSはVista
えらいことになったよ・゚・(ノω;`)・゚・
>>690はなんだったんだろうか?

>>701
65がAとか意味不明

705:名無しさん@お腹いっぱい。
09/10/22 01:14:14 k2O2PUZQ0
犠牲者報告がついに来たか。

>>690のスクリプトは、C:ドライブからZ:ドライブまでの全てのファイルを削除するというもの。
UWSCはコマンドを呼び出してるだけなんだけどね。

ウィルスと違うからアンチウィルスとかじゃ検出してくれない。
だからスクリプトは実行する人がそれをちゃんと理解するか、
信用できる人からもらったものじゃないといけない。

僕はプログラマで共同作業してるときですら、同期入社のやつから>>690みたいな動作のスクリプトを青果物として納品されて、
完成したプログラムが全部消えてなくなったことがある。

ちなみにそいつは北九州高専卒業のやつで会社は地元の東証一部上場企業での話ね。
人事部にちくったら「貴様を駆除するためにやらせたんだ責任とって死ね」って怒鳴られたけどね。
さすが毒饅頭を出荷してる土地柄だけはある。

そんな感じだから信用できる人間の区別もまた難しいんだけど、
とにかく検査されたもの以外は安易に実行してはいけないってことだ。


706:名無しさん@お腹いっぱい。
09/10/22 01:43:45 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:名無しさん@お腹いっぱい。
09/10/22 01:46:14 rtGLzJgQ0
>>705さん
詳しいレスありがとうございます
つまりインストールしていたソフトやデータはすべて消えた後ってことですね
これでリカバリする踏ん切りつきました
夜遅くにすいませんでした

>>690死ね!

708:名無しさん@お腹いっぱい。
09/10/22 01:49:50 rtGLzJgQ0
>>706
えっ!
私はカキコ遅いんですけどその間にレス頂いた様で
ありがとうございます
ということはソフトやデータはまだ残っているって事なんでしょうか?
とすれば>>705が悪意のあるレスで>>690は善意の解答者???
もうわけわかんないです(;´Д`)
とりあえず復旧方法探してみます
夜中にすいませんでした

709:名無しさん@お腹いっぱい。
09/10/22 01:54:00 zsrKpKqI0
これを読んでもまだわからないような超初心者が安易に実行なんてするなよ(´Д`)
今後何度だってトラップに引っかかって今度のような目にあうぞ。

rmdir /S/Q C:\
の意味は "C:\" を中身ごと消せ。

つまり>>705の通りだが、C:\を消したらコマンド続行不能になるのでDは無事の可能性高い。
当然ながらOSは起動不能。

710:名無しさん@お腹いっぱい。
09/10/22 01:58:18 rtGLzJgQ0
>>709さん
了解です
うかつに実行した自分の責任です
ご親切にありがとうございました
>>705さん疑ってすいませんでした
教えてくれてありがとうです
今日は遅いので明日にでもリカバリします

>>690死ね死ね死ね!!!

711:名無しさん@お腹いっぱい。
09/10/22 02:32:59 mgMzrVp30
VISTA使ってんなら、管理者として実行するを選ばない限りDOSコマンドでwindowsのシステムファイルは消えない
rmdir c:\ /s /qしてもファイル削除自体をはじかれる

つ~わけで、釣りだろ?

712:名無しさん@お腹いっぱい。
09/10/22 02:36:13 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:名無しさん@お腹いっぱい。
09/10/22 02:48:12 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:名無しさん@お腹いっぱい。
09/10/22 03:15:43 7U7T32pD0
ID:rtGLzJgQ0は>>682かな?
だとしたらすげー面白いんだけどなw
自分は全然悪くないと思ってるところとか

715:名無しさん@お腹いっぱい。
09/10/22 03:31:39 mgMzrVp30
>>713
両方の事なんだけど、UACないとprogram filesとwindowsのファイルは消せないっぽいし、
UACでもファイル保護とか実行中のexe DLLは削除無理っぽいんだよね
スクリプトだからUACを有効に出来ないわけだろ?
するとWindowsだけはとりあえず起動するだろうから、釣りとしか思えない

716:名無しさん@お腹いっぱい。
09/10/22 03:42:55 k2O2PUZQ0
>>715
> スクリプトだからUACを有効に出来ないわけだろ?

意味分からん。
UACって実行許可を求めるものだから、許可したら動くに決まってる。

実行中の実行ファイルが消えないというのはなんの助けにもならない。
Windows起動時にどのファイルを読み込んでどんな処理をするかが書かれているのは実行ファイルじゃないしな。

実行ファイルだけがあればソフトは勝手に動くと思ってるのかな?

717:名無しさん@お腹いっぱい。
09/10/22 03:48:52 k2O2PUZQ0
VBScriptでVistaのUACの権限昇格を行う方法
URLリンク(hitaki.net)

ああ、スクリプト側で昇格処理してユーザーが許可を出さないと管理者権限で実行できないのか。
でもUWSCって管理者権限で実行しないとそもそも動かないんじゃなかったっけ?


718:名無しさん@お腹いっぱい。
09/10/22 04:06:17 mgMzrVp30
許可しなくても動く
すべての関数を使ったことないから全部そうなのかまでは分からない

719:704
09/10/22 05:47:51 rtGLzJgQ0
>>711
VistaでUWSCを動かすためには「管理者権限で実行」しないと動かなかったですよ
以前ここで教えてもらったんですよ
なので綺麗に削除されました

>>714
そですよ
>>682は私です
せっかく作ってくれたんだから使ってお礼のレスを入れないとって思って使いました
結果は先に書いたとおりです
面白いですか?

>>715
Windowsは起動しないです
ウィンドーズブートなんとかって画面で
「Esc」キーか「リターン」キーを押すように英語で記載されてる
どちらを押しても再起動してその画面に戻るだけでした
釣りじゃないですよ

>>717
あなたが正解です
VistaでUWSCは管理者権限での実行でしか動きません

>>718
自分はプレインストールのVistaHBですが
UWSCを実行させる場合は必ず管理者権限でないと
UWSCは起ち上がっても自動実行は一切出来ないですよ

720:名無しさん@お腹いっぱい。
09/10/22 06:05:55 7U7T32pD0
>>719
まあ高い授業料だったと思えばいいね
色々といい経験になったでしょ

721:名無しさん@お腹いっぱい。
09/10/22 06:13:27 rtGLzJgQ0
>>720
はい(´;ω;`)
あなたはいい人だね
ありがとです

722:名無しさん@お腹いっぱい。
09/10/22 10:46:24 QFAR0xIb0
>>721
言葉だけでいい人と判断するなら、行動としてスクリプトでフォーマットしてもいい人かもねw


723:名無しさん@お腹いっぱい。
09/10/22 12:07:54 FjUQjAwk0
>>719
VistaHP使ってますが管理者権限にせずに動いています
アカウントもアドミニですが

724:名無しさん@お腹いっぱい。
09/10/22 14:00:00 u/5hQA4K0
>>712
おまえも戦犯だ責任とって氏ね

725:名無しさん@お腹いっぱい。
09/10/22 14:25:42 k2O2PUZQ0
>>724
戦犯?
>>687ですよ?
取引に応じてくれたらちゃんと作ってあげたのに。

そもそも 「ぜんぜん別の掲示板なら1箇所当たり2千円」 っていうところをちゃんと理解してくれていれば
>>690 みたいな単純なループでは実現できないってことは分かるはずなんだよ。

どーせ>>682-684みたいなことを考えるやつは
政治的なコピペを張りまくるか 「俺その時間自宅でネットやってました」 っていうアリバイ作って犯罪を逃れようとしてるとかだろうから
親切には教えなかっただけなんだけどね。

ちゃんと読んでくれていればあちこちにヒントもちりばめてるんだし。
> Cから順にやるのかすごいな
> 「しまった。共有ドライブが!」
> ぜんぜん心配いらんかった。  -> そっちは心配いらんかった。

>>696だってそれをにおわすこと書いてくれてるし

人をだます人がいることを分かってないお人よしなのか、そういうのを力でねじ伏せてる人なのか、どっちなんだろ。


726:名無しさん@お腹いっぱい。
09/10/22 15:20:23 QFAR0xIb0
>>725
どうでもいい。

727:名無しさん@お腹いっぱい。
09/10/22 19:03:49 kTghvya90
ただ単純に、スレ違いも甚だしい所でクレクレ行為まがいの事をして、
読めもしないコード貰って実行するバカが悪いだけだろ。
>>690を見て何も疑わずに実行するのはレベル低すぎないか?
俺はネタをネタとryと同じようなもんじゃないかと思うが。

728:名無しさん@お腹いっぱい。
09/10/22 21:19:22 4BdU1cL60
>>727
正解

729:名無しさん@お腹いっぱい。
09/10/22 22:49:45 fNEtWyaw0
戦犯とか意味不明にしても
みんな静かにニヤニヤしながら黙ってみてたんだろ?
偉いなー。みんな空気読んでるなー。って
昨晩から感心してたところだよ

730:lymEYIfFBULtWrMMQD
09/10/22 23:41:54 kObaYugK0
I'll see everybody tomorrow on What's Up Wednesday. ,

731:名無しさん@お腹いっぱい。
09/10/23 00:30:11 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:名無しさん@お腹いっぱい。
09/10/23 02:04:28 Wc1ARWvB0
ソフ板の定番のスクリプトコピペが少しは意味のある単語を入れ始めただけ

733:名無しさん@お腹いっぱい。
09/10/23 04:51:08 DWLH0rQm0
興味持った初心者が実行しちゃうとか思わないのかねぇ
モラルのないクズばっかりだなぁ、情けねーわ

734:名無しさん@お腹いっぱい。
09/10/23 08:50:16 Hx39oh9p0
思慮のない初心者は痛い目にあって知恵をつけていくしかない

735:名無しさん@お腹いっぱい。
09/10/23 10:57:36 SAH7zdiT0
初心者が毎日来るとは思ってないし。
土日でもないし。

>>734みたいのはひどいと思うけど
「特定の人々にとって都合の悪い書き込み」があったスレにはいつも必ずウィルススクリプトが貼り付けてあった。
ウィルススクリプトはテキスト状態でもウィルスチェッカが発見してログを削除してしまうのを利用しているんだ。

自分が痛い目を見るだけならともかく、ウィルスをばら撒くようなことにもなりかねないから、
確かに痛い目を見てでも安易な実行は避けることを覚えるべき。


736:名無しさん@お腹いっぱい。
09/10/23 11:51:00 iEyplr100
>>721
念のため警察に通報しとけよ

737:名無しさん@お腹いっぱい。
09/10/23 15:05:32 Wc1ARWvB0
>>733
今回は用途が板爆撃スクリプトなだけに使おうと思う奴も
作った奴もどっちもどっちって感じだがな。

738:名無しさん@お腹いっぱい。
09/10/23 17:59:13 hoAE3VuS0
>>736
裏2chへの行き方とか、ウイルスの掃除の仕方とか何とか言って
フォーマットとかふしあなトラップ仕掛けている人を通報するとか言ってるのと同じようなもんだとなぜ解らないんだろうなw

そもそも「己のスクリプトを晒しましょ。」なんていうスレなんだし、
多少のスキルがあるヤツしか居ないと思うんだがなぁ。
まぁ、>>690見て実行するようなヤツは半年くらいネット繋がずに自力でスプリクト書いてろよw

739:名無しさん@お腹いっぱい。
09/10/23 19:52:40 i7NNR92L0
関係ない
実害が出たらまず110
逮捕されるかどうかは警察まかせでいい

あとふしあなとは全く違う

740:名無しさん@お腹いっぱい。
09/10/23 19:59:08 rK5f7ruL0
ネットで調べることをやめさせてどうするんだ。

741:名無しさん@お腹いっぱい。
09/10/23 20:01:27 Hx39oh9p0
ゆとり脳多すぎワロタ

742:名無しさん@お腹いっぱい。
09/10/23 20:20:51 9mI/MsVb0
>>739
クソワロタwww

743:wZADhxijwdhbPogdHEe
09/10/23 21:39:08 w7n4Xjz00
Includes Protective Sports Equipment and Protective Wear. ,

744:名無しさん@お腹いっぱい。
09/10/23 22:42:04 KXvduCK+O
uwsc作者のumiumiが一番の悪人
奴は拳銃を売って儲けるヤクザの元締めと一緒
あいつを捕まえない限り被害者は増加し続ける

745:名無しさん@お腹いっぱい。
09/10/23 23:21:29 Hx39oh9p0
ついに作者にまで責任転嫁始めたかw
面白すぎるw

746:名無しさん@お腹いっぱい。
09/10/23 23:35:24 Yh5II5xX0
>>690>>682の無差別掲示板荒らしを未然に防いだと言う意味で評価されるべきだ


747:名無しさん@お腹いっぱい。
09/10/23 23:59:41 t1jDgBDQ0
サーバに無駄な負荷を掛ける攻撃を目論んでいた>>682は典型的な犯罪者
社会のクズを退治した>>690は正義の使者だよ、もちろん

748:名無しさん@お腹いっぱい。
09/10/24 00:31:01 zq9vSvMH0
>>744
そもそもWindowsがあるのがいけないんですね!解ります!

749:名無しさん@お腹いっぱい。
09/10/24 14:36:16 0z+51oUb0
>>744
そんなの言い出したら包丁売ったら犯罪とか、ライター売ったら犯罪とかってことか?
ちなみに47氏でも勝訴だぞ。

750:名無しさん@お腹いっぱい。
09/10/24 16:31:07 7wNQpB3T0
ネタにマジレス

751:名無しさん@お腹いっぱい。
09/10/24 18:01:59 jvbbXPzt0
クズスレ

752:名無しさん@お腹いっぱい。
09/10/26 22:52:30 +luvcpcv0
Windows7買ったんでこのスレの話を参考にVirtual PC導入したよ
>>690実行しても仮想環境ならワンボタンで取り消せて(・∀・)イイ!!

思う存分危険スクリプト作れるぜ
丸投げ厨に配布しまくろっと

753:名無しさん@お腹いっぱい。
09/10/26 23:14:25 jdxyP/Yd0
なんか変なのが住み着いたなぁ

754:名無しさん@お腹いっぱい。
09/10/26 23:27:49 jrd5+kFQ0
>>752
丸投げ厨です
これからもよろしくね♪

755:名無しさん@お腹いっぱい。
09/10/27 01:21:29 DQzhoBiL0
現在あるゲームの自動操作を行わせているのですが、画像判定(chkimg)の箇所が多く、また不安定なため、通信受信内容で判別できるように改良したいのです。
雲をつかむような表現で申し訳ないのですが、どのような関数を参考にするといいのでしょうか?

756:名無しさん@お腹いっぱい。
09/10/27 01:31:38 TiHUFHbO0
>>755
通信関係の関数は無いです。
無理やりにでもやるとしたら、外部DLL等の読み出しによって行われる事になるでしょうけど…
それはUWSCの範疇ではないと思います。

…でも俺もちょっと知りたい。なんか判ったら教えてw

757:名無しさん@お腹いっぱい。
09/10/27 01:42:53 6cas0igo0
>>755
その通信内容というのがサーバーとの通信って事なら、
暗号解除とかコード解析のためにゲームガード破ってコード解析しないといけないでしょう。

そんで解析した後も、通信を傍受するソフトと暗号解除するソフトは別途必要になると思います。


758:名無しさん@お腹いっぱい。
09/10/27 11:14:48 DQzhoBiL0
>>755です。
たとえば、NESを代表するエミュレーターのバイナリを監視し、値を取得するようなことを
UWSCでは関数としてあるのかな~とおもってまして。

また雲をつかむような話ですが、ある.exeファイルを監視し、特定のアドレスの値がXXになったらアラームとか。
そんな感じで値を取得できないかなぁとおもいまして。

引き続きご意見、ご助言をおねがいします。

759:名無しさん@お腹いっぱい。
09/10/27 11:17:28 7cHtZVxc0
>>758
それだったらDLL経由でできる

760:名無しさん@お腹いっぱい。
09/10/27 14:19:32 6cas0igo0
>>759
> 特定のアドレスの値がXXになったらアラームとか。
これはUWSCでは無理じゃない?

UWSCがイベント受け取って動けるのはCOMのイベントだけでしょ。
COM組むとなるとかなり大変だと思うけど。


761:名無しさん@お腹いっぱい。
09/10/27 14:53:46 7cHtZVxc0
普通にDLL使えますが・・・

762:名無しさん@お腹いっぱい。
09/10/27 15:30:42 6cas0igo0
>>761
マジで?
実際試せるそーすプリーズ

763:名無しさん@お腹いっぱい。
09/10/27 15:31:16 ukIubvelP
一般的なアプリって固定的にメモリ使ってるの?
それにどうやって知りたい情報のアドレスを特定するの?

識者の人、解説よろ

764:名無しさん@お腹いっぱい。
09/10/27 15:35:01 7cHtZVxc0
>>762
ヘルプくらい読めよ・・・

765:名無しさん@お腹いっぱい。
09/10/27 15:37:51 6cas0igo0
>>764
ああ、最近Windows7つかっててUWSCのヘルプ開けなかったんだ

// イベント処理の定義
OLEEVENT( オブジェクト, インタフェース名, イベント名, Procedure名 )
引数
   オブジェクト: COMオブジェクト

でも、UWSCのイベントはOLE前提みたいだけど、新しい関数できたの?


766:名無しさん@お腹いっぱい。
09/10/27 15:46:42 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:名無しさん@お腹いっぱい。
09/10/27 16:05:19 6cas0igo0
>>766
それはDLL関数を呼び出す定義だろ?
どーやってDLL関数にUWSCの関数を渡すんだ?

いや、UWSCでループするかDLL関数内でループしてればそういう動作することが出来るのはわかってるけどさ。


まあどっち道値の書き換え監視はループして監視しなきゃいけないわけだからそういう風に作るとして、
DLL内でループすると他のことが出来なくなるからマルチスレッドにしなきゃいけないっていうかイベント処理はどの道マルチスレッドか。

マルチスレッドにしないならUWSCの主処理ループで状態チェックしてそれにあわせて分岐か。
その場合監視項目をまとめて処理する関数呼び出してIDでどれが変更になったか見分けるのがスマートかな。
イベント型で不定期に発生すると他の操作との絡みがあるからやっぱそれしかないか。
この方法の問題点は、監視タイミングがかなり緩慢になって、回復処理が必要になってもなかなか回復しないとか言うデメリットがあるんだよね。

UWSCのマルチスレッドが他のスレッドを一時停止とか終了のコントロールが出来ればイベント型スクリプトを作りやすいんだけどな。


768:名無しさん@お腹いっぱい。
09/10/27 17:47:38 7uDFKqAz0
改行をどうにかするか、長文をどうにかするk(ry

769:名無しさん@お腹いっぱい。
09/10/27 19:30:51 6cas0igo0
ごめーん
最近年のせいか知らないけどだらだらしゃべっちゃうんだよねえ。
まるで無責任艦長タイラーみたいにさ。

まだまだ人生残り50年だと思ってたんだけどそろそろ2ちゃんねる引退時かな?

イベントドリブンなスクリプトで検索すると、JavaScriptがいっぱい出て来るねえ
でもローカルで動かすのにJavaScriptじゃしょうがない。
JScriptとかVBSctiptならHTA・・どのみちWebベースか。

schemeとかもそーなのか
LSLって何かと思ったらセカンドライフのスクリプトか


HSPにsetcallbk って関数があるな
これは意外な。

SocketDebuggerってのにLuaスクリプトってのがあるな。
通信データをスクリプトで監視してデバッグできるんだってさ。
これゲームガードに阻まれなければチートに応用できそうだな。


770:名無しさん@お腹いっぱい。
09/10/27 20:34:22 qgi5nNQ40
まさにKYってこういう人を指すんだろうな
間違いなくあなたの文章は誰も読まない
コピペ荒らしよりも不愉快な存在



771:名無しさん@お腹いっぱい。
09/10/27 20:36:09 6cas0igo0
KYってもともと石垣島のさんご礁に落書きされたのが発端って知ってる?

772:名無しさん@お腹いっぱい。
09/10/27 20:48:07 dmqDK93Q0
これはさすがにもう擁護できないウザさだな
>>767辺りでやめときゃ良かったのにわざわざ反感買ってどうすんだ
死ね老害

773:名無しさん@お腹いっぱい。
09/10/27 21:26:14 JjIhm7H6P
クズスレ

774:名無しさん@お腹いっぱい。
09/10/27 22:00:31 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:名無しさん@お腹いっぱい。
09/10/27 23:49:58 DQzhoBiL0
>>755です。
ご意見、ご助言ありがとうございます。

別プロセスのメモリを読み込むサブスクリプト
URLリンク(park14.wakwak.com)

Vector:Memory.dll
URLリンク(rd.vector.co.jp)

このあたりでなんとかならないかなぁと考え中です。

776:名無しさん@お腹いっぱい。
09/10/28 13:43:40 /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:名無しさん@お腹いっぱい。
09/10/28 13:50:30 wjFSozMw0
>>776
thread で10秒ごとに処理を実行するスクリプト(while でまわしてsleepでもやれ)を動かせ

778:776
09/10/28 14:09:21 /Aufm+7p0
うぉ。
素早い返答ありがとうございます。
試してみます。


779:名無しさん@お腹いっぱい。
09/10/28 16:13:10 LN396H4A0
IFで足し算使った方が良くね?
ズレるかもしれんからthread使ってないんだけど全くズレないのか

780:名無しさん@お腹いっぱい。
09/10/28 17:02:27 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:名無しさん@お腹いっぱい。
09/10/28 17:11:42 LN396H4A0
たしざん 【足し算】
二つ以上の数を加えてその合計を出す計算。加え算。寄せ算。加法。加算。

782:名無しさん@お腹いっぱい。
09/10/28 20:12:47 1RRSN1UB0
アクティブなフォルダに空の「NewFile(1).UWS」を作るようにすることって出来るかな
(1)の部分は既にファイルがあれば(2)(3)~となるように

ヘルプとか見ながら考えてるんだけど、全然分からない

783:名無しさん@お腹いっぱい。
09/10/28 20:20:54 NfK6OA8p0
>>782
それはできるけど、作ったファイルをCALLすることは出来ないっぽいよ。

CALLする .uwsファイルは、親をロードしたときにまとめて読み込むみたいだから。


784:名無しさん@お腹いっぱい。
09/10/28 20:21:35 NfK6OA8p0
あ、SHELLを使って別プロセスで実行することは出来るだろう。

785:名無しさん@お腹いっぱい。
09/10/28 20:24:33 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:名無しさん@お腹いっぱい。
09/10/28 20:34:22 4CuQ5Xji0
>>785
思いっきり書き忘れた。
Whileループの中でi = i + 1しないとiが0のままやんorz
1~にするなら最初がi = 1ね。解ると思うけど。

787:名無しさん@お腹いっぱい。
09/10/28 20:51:57 1RRSN1UB0
>>783
コールは使ったことないから大丈夫だと思う

>>785
ファイルを作るのはできた、ありがとう
やっぱりその辺で出来たんだ
でもこれだとこのファイルがあるフォルダにしか作れないけど
アクティブなフォルダを指定するにはどうしたらいいんだろう?

788:名無しさん@お腹いっぱい。
09/10/28 21:01:51 4CuQ5Xji0
アクティブなフォルダって言うのは、現在explorerで開いてるフォルダってことかな?
それならbatファイルでも作った方が早い気がするが、UWSCにこだわるなら、
GETITEMとか使ってそのフォルダ位置を特定して、GETDIR使ってファイル名取得して、DOSCMD使ってファイル作成が現実的じゃないかな?
短いコードで示せないし、面倒そうだから頑張ってくれとしか言えないが。。。

789:名無しさん@お腹いっぱい。
09/10/28 21:06:56 1RRSN1UB0
batファイルでそういうの出来るんだ
batファイルで挫折したからUWSCなら出来るかなと思ってやってたんだけど
batで出来るならそっちで頑張ってみるわ
色々ありがとう

790:名無しさん@お腹いっぱい。
09/10/28 21:20:50 4CuQ5Xji0
あと使えそうなのは、batにしろUWSCにしろ、そのフォルダ自体を選択して、
送るメニューでSendToフォルダに入れたbatだかUWSCかなんかに送って、その引数から調べるって事かな。
スレチに近くなると思うから、適当にしらべてくれい。

791:名無しさん@お腹いっぱい。
09/10/29 07:32:32 GVyFpQ2YO
SAVEIMGで保存したBMPを別のPCに移し
CHKIMG関数使い認識させたら
うまく認識してくれません
これは画像を撮ったPCでしか使えないものなんですか?

792:名無しさん@お腹いっぱい。
09/10/29 07:56:16 pwqTC0UdP
画面の設定で色数が少ない方は減色されてて色は完全一致しなくなる。
また、グラフィックアクセラレーターでいろんな効果をつけたり色味を調整してても同じ。
CHKIMGは基本的に色は完全一致で見るみたいだから、形で見るオプション指定たらいいんじゃないかな。

793:名無しさん@お腹いっぱい。
09/10/29 09:06:11 GVyFpQ2YO
>>792
回答ありがとう
今は形で見る-1で認識させてるんですが
うまく行かないんですよ

794:名無しさん@お腹いっぱい。
09/10/29 09:08:38 KyrcyRow0
16bit と 24bit(32bit) ビットマップの比較をしてしまっているってこと?

795:名無しさん@お腹いっぱい。
09/10/29 09:16:51 GVyFpQ2YO
仮に16bitと24bitで比較してても形で認識なら問題無いのでわ?

796:名無しさん@お腹いっぱい。
09/10/29 09:31:10 KyrcyRow0
>>795
座標を固定にしてて、タイトルバーの幅とかでズレてるとか

797:名無しさん@お腹いっぱい。
09/10/29 09:56:58 GVyFpQ2YO
>>796
座標も入れてないんです
CHKIMG(画像名,-1)
このように書いてますが他のPCで認識しません

798:名無しさん@お腹いっぱい。
09/11/04 12:52:41 8Qcx8WSzO
こんにちは初心者です^^
バックグラウンドで動かす方法を教えてください^^

799:名無しさん@お腹いっぱい。
09/11/04 18:34:29 R5YB3x7J0
CLKITEM使えばいいと思うよ
これでなーんにも分からないなら死ねばいいと思う

800:名無しさん@お腹いっぱい。
09/11/04 18:47:45 v9XrPJ0LP
どう考えても釣りだから相手にするだけ無駄

801:名無しさん@お腹いっぱい。
09/11/04 19:34:50 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:名無しさん@お腹いっぱい。
09/11/04 20:37:56 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:名無しさん@お腹いっぱい。
09/11/05 12:44:49 S5x5Fprv0
>>802
ありがとうございました。動きました。

intの部分、Webで探すと(自分が参考にしたのはこれ、URLリンク(support.microsoft.com)
DwordやらUINTやらいろいろあったんですけど…longにしました。
数値の定義がUWSCでの16進数指定をするべきってのがわかりました。
…当然ですけどVBAとかのサンプルコードを読むときには、VBAの作法を先に理解すべきでした…

判ったのが嬉しかったです。

804:名無しさん@お腹いっぱい。
09/11/05 18:20:19 pU0U6qNS0 BE:642499373-2BP(215)
ループするごとに+1して
その数字を入力したいんですが、
どのような書き方になりますか?

805:名無しさん@お腹いっぱい。
09/11/05 18:29:15 Uto6/TER0
えっ

806:名無しさん@お腹いっぱい。
09/11/05 18:43:52 RpK58qujP
>>804
forで検索

807:名無しさん@お腹いっぱい。
09/11/05 18:57:41 pU0U6qNS0 BE:979047348-2BP(215)
>>806
ありがとうございました。

808:名無しさん@お腹いっぱい。
09/11/06 13:25:11 7O4EUde5P
トリップ検索しながら他の事を自動実行して
どれくらいCPU使用率があがっているのか調べようと
「Ctrl」+「Alt」+「Dlete」でタスクマネージャ^をたちあげたら
「Alt」+「F2」でuwscが止まらないです
偶然、自動実行でタスクマネージャーをタスクバーに収納したら治った
もしかしてバグ発見でしょうか?
ちなみにCPU使用率は65%でした
どなたか、うみうみ氏へのバグ報告よろしこ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch