自動化ツールuwsc使いよ集まれ4at SOFTWARE
自動化ツールuwsc使いよ集まれ4 - 暇つぶし2ch450:名無しさん@お腹いっぱい。
09/08/13 07:42:14 cNvCWprb0
マカーでもないしMacなんて使ったこともないが
つーか、最初からタイトルバー右クリック出来るか出来ないかって聞いてるだけなのに
なんで他の部分にこだわるの?
質問への回答も持ち合わせてないのに突っかかりたいだけの人?

451:名無しさん@お腹いっぱい。
09/08/13 07:48:18 cNvCWprb0
>>449
BTNで右クリック指定するとちゃんとシェードするのにおかしいね
BTN以外だとAlt+Spaceでしか右クリックの動作させられないなんてUWSCって意外と機能少ないんだね

452:名無しさん@お腹いっぱい。
09/08/13 10:09:03 fiYYXTEd0
cNvCWprb0

453:名無しさん@お腹いっぱい。
09/08/13 10:21:31 fiYYXTEd0
WinRollの仕様こそ調べるべきだろw >>449で正解。clkitemにしろWINDOWS標準機能使ってるだけ。
cNvCWprb0 の主張は、UWSCをWinRoll専用にカスタマイズしろってのと同義。

454:名無しさん@お腹いっぱい。
09/08/13 10:34:30 J7ekYvTv0
ウインドウシェードならリサイズで似たようなことできるんじゃないの?

455:名無しさん@お腹いっぱい。
09/08/13 10:53:26 GJXaYxZb0
>>451
それ、UWSC関係ないw
UWSCは基本、操作のままをスクリプト化出来るのが利点のソフトなんだし。

マウスのボタン操作、Alt+Spaceは基本全く別の操作
『ボタン操作は○○、Alt+Spaceは××』 
その動作仕様を決めているのはWindowsそのものやWinRoll?だよね。UWSCではない。

>問題はシンプルに、マウスでタイトルバーを右クリックしたときと同じ動作、をさせることが出来るか出来ないかの一点だけ
同じ機能をどういうキーアサインにしているか、抜け道があるかどうか、UWSCのスレではわからんよ。
使いたいソフトの仕様書を読むか、作者に聞く以外に無い。Windowsの仕様ならMSDNでも熟読かなぁ。

UWSCはソフトの操作が出来るソフトであって、仕様変更が出来るものではないよ。
機能が少ないとぼやくよりBTNでどうやったら出来るかを考えるほうが建設的。

>BTN(RIGHT,CLICK,1111,10,300)
>uwscは(高度設定だと)タイトルバー右クリックを記録してくれないし
この書き方・表現だと、変数とかgetidとかUWSCスクリプトの利点をまだ理解できてないんじゃないかなぁ。
最低限getidとstatusの関数を読むと良いと思うよ。

456:名無しさん@お腹いっぱい。
09/08/13 17:56:55 6OdBqM1c0
>>451
WinRoll を使ってないので、ちゃんとシェードできるか分からんが
マウスの座標を保存して、右クリック後に戻すんじゃダメ?
俺が使ってるのは foobar2000 v0.8.3 なのでクラス名が違うかも

OPTION EXPLICIT

DEF_DLL GetSystemMetrics(int): int: user32.dll

CONST SM_CXFRAME = 32
CONST SM_CYFRAME = 33

DIM id = GETID("", "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}")
DIM mouse_x = G_MOUSE_X
DIM mouse_y = G_MOUSE_Y
DIM x = STATUS(id, ST_X) + GetSystemMetrics(SM_CXFRAME)
DIM y = STATUS(id, ST_Y) + GetSystemMetrics(SM_CYFRAME)

CTRLWIN(id, ACTIVATE)
BTN(RIGHT, CLICK, x, y, 300)
MMV(mouse_x, mouse_y)

457:名無しさん@お腹いっぱい。
09/08/13 19:23:02 cNvCWprb0
>>456
自分なりに少し改良したらほぼ理想の動きをするようになった
ありがとう

458:名無しさん@お腹いっぱい。
09/08/14 21:35:40 lePNH2LF0
アプリケーションを起動させるときにはEXEC()で指定すれば起動できるんですけど
マイコンピュータを起動させるにはどうしたらいいんですか?ちなみにVistaです

459:名無しさん@お腹いっぱい。
09/08/14 21:40:27 lePNH2LF0
事故解決しました

460:名無しさん@お腹いっぱい。
09/08/15 00:30:43 nWYop4zn0
え?どうすればいいの

461:名無しさん@お腹いっぱい。
09/08/15 06:07:22 js64mCM30
>>460
EXEC("EXPLORER.EXE /n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")
じゃね?
Vista 使ってないから分からんが CLSID は変わってないハズ

462:名無しさん@お腹いっぱい。
09/08/15 08:04:19 wyeRXJm+0
そっか、thx

463:名無しさん@お腹いっぱい。
09/08/15 12:14:15 3xenIhAC0
フルスクリーン表示されてるソフトの上にFUKIDASIでも何でも表示させたいんだけどできない・・・
どうすればいいんあ

464:名無しさん@お腹いっぱい。
09/08/15 17:52:07 yaCNfD7C0
無理

465:名無しさん@お腹いっぱい。
09/08/15 18:58:54 tdBSpMKm0
>>463
SOUNDで警告音出させてから何秒後に表示するのが現実的じゃまいか?
その間に手動でウインドウモードに戻しておいてもらうということで

よそのフルスクリーンの上にかぶせてくるアプリもあることだし
win32api叩くのありなら不可能ではないと思うけど超めんどーそう

466:名無しさん@お腹いっぱい。
09/08/15 19:09:37 3xenIhAC0
ありがとうあきらめました
win32apiとか俺にはできそうにないなり

467:名無しさん@お腹いっぱい。
09/08/15 19:12:41 pXOex/6e0
画像などの保存するときにでるウィンドウの操作ができなくて困っています。

ACW(GETID("名前を付けて保存","#32770"),228,211,824,390,0)
MOUSEORG(GETID("名前を付けて保存","#32770"))

これが、UWSCでの情報で、このウィンドウが現れるまでスリープと
いう操作をしようとしています。

repeat
ifb GETID("名前を付けて保存","#32770") = 0
sleep(1)
endif
until GETID("名前を付けて保存","#32770") = true

これでうまくいきません。

468:名無しさん@お腹いっぱい。
09/08/15 19:33:54 sQtS+cTb0
関数の戻り値ってのをちゃんと理解した方がいいよ

469:名無しさん@お腹いっぱい。
09/08/15 20:56:35 cTXaQJ3d0
戻値 = GETID( タイトル, [クラス名, 待ち時間秒, MDI子タイトル] )
引数
  タイトル: 識別したいWindowのタイトル (タイトルの一部分だけでもOK)
  クラス名: 区別に必要でなければ省略して構いません (前方一致でのみ部分指定可)
  待ち時間秒: 確認できるまで指定された秒数待ちます (0.01~)
           0: 0.1~10秒まで状況や負荷により自動判断 (デフォルト)
          -1: 無期限待ち
  MDI子タイトル: MDIウィンドウ中の子ウィンドウタイトル

戻値
  そのWindowを識別するID (NGの時は -1)

470:そろそろマジレ酢
09/08/16 16:08:43 GJbDGiw70
ヘルプを「組込み定数」でキーワード検索すれば
何で最後の行がうまくいかないかわかるよ

471:名無しさん@お腹いっぱい。
09/08/16 16:16:43 a4mbf8s90
それは組み込み定数の問題じゃないようなw

こいつはGETIDの戻値が1か0(trueかfalse)しかないと思ってるからこんな事
書いてるんだろうし。そうであるならば組込み定数に関する問題は何もない

472:名無しさん@お腹いっぱい。
09/08/16 21:52:10 +2ZQxoWjP
>>467
取得するIDは0から始まるんだぞー

473:名無しさん@お腹いっぱい。
09/08/18 19:07:19 pyjPH2H40
すみませんお教えください
現在XPにてUWSCを使用しているものです
UWSCはVISTAでもXPと同様に稼働するのでしょうか?

474:名無しさん@お腹いっぱい。
09/08/18 19:17:55 YQaslH1l0
>>47
VISTA使っているけど、使っている範囲内では普通に動いています。

UWSC導入したてのころまったく動きませんでしたが、窓のUPDによって動くようになりましたよ
動かないときは管理者権限で行っても動きませんでしたので、動かないようならUPDしてね

475:名無しさん@お腹いっぱい。
09/08/18 19:32:36 pyjPH2H40
>>474
低レベルな質問にご返答ありがとうございました
感謝です

476:名無しさん@お腹いっぱい。
09/08/25 09:50:03 65fceamX0
MOUSEORGを使わずにアクティブウィンドウの相対座標で操作する方法は有りませんか? 

"相対座標"という言葉の認識が間違っているかも知れないので補足して置きますと、100×100のウィンドウがアクティブになっている時 x=1 y=1を画面全体のものではなく、そのウィンドウの左上にしたいのです。

477:名無しさん@お腹いっぱい。
09/08/25 10:49:20 N7fLVBuZ0
status(ID, ST_X)+X ,status(ID, ST_Y)+Y
これで x=1 y=1 の時に指定される位置はウィンドウの左上

基準値を前に書きたくない、mouseorgを使いたくない…たぶん両立は無理。


478:名無しさん@お腹いっぱい。
09/08/25 11:33:56 esSRzMbRP
>>477
レスありがとうございます。
status(ID, ST_X)+X ,status(ID, ST_Y)+Y という文の"X"と"Y"はX軸とY軸という事で大丈夫でしょうか?

479:名無しさん@お腹いっぱい。
09/08/25 11:34:30 65fceamX0
連レスすみません、IDこっちでした

480:名無しさん@お腹いっぱい。
09/08/25 11:56:17 N7fLVBuZ0
>>478
そっから先はやってみなさいよw ヘルプ読むとかさ。

481:名無しさん@お腹いっぱい。
09/08/25 19:05:17 1sftlgl60
なんでmouseorg使いたくないんだろ@@

482:名無しさん@お腹いっぱい。
09/08/25 20:15:43 65fceamX0
使いたくないのではなく、使えなかったのです・・・。

483:名無しさん@お腹いっぱい。
09/08/29 15:12:51 ww65mvO00
テキスト入力したいんだけど
既に文字が入力されている場合は最後に追加で文字入力したいです
例:名前欄に”久保”と入力します
その後で一文字追加で”田”を入力して”久保田”にしたいです

下記のようにしてみたけど
IESetData(IE,"久保","namae") // TEXT
IESetData(IE,""+"田","namae") // TEXT
結果は”田”のみになりましたorz

どなたかお願いします


484:名無しさん@お腹いっぱい。
09/08/29 15:18:31 Z1dWq6j7P
>>483
カーソル位置に挿入するのはフラグでできる。
元のテキストに挿入するか、置き換えるかが選べる。
(IEオブジェクトではできなかったかも)
でもカーソル位置が分からないなら、一旦取り出してメモリ上でつなげられる。
関数名は適当で説明すると
s = gettext(ID)
ifb length(s) then
 settext(ID, s + "田")
endif


485:名無しさん@お腹いっぱい。
09/08/29 15:51:39 8qKYn2v40
INPUT()コマンドでフルパス付きファイル名を取得したあと、
それをパスとファイル名に分離したいのですが、どうすれば良いでしょうか?

先頭と末尾を表す制御文字があればBETWEENSTR()コマンドで簡単に取り出せると思いますが
そういうのはなさそうですし。

POS()コマンドで最後の"\"が何文字目かを調べてから、COPYで抜き出すっていう方法になるんでしょうか?

486:名無しさん@お腹いっぱい。
09/08/29 16:05:15 8qKYn2v40
こういう形になるんですかね?
とりあえずはいけるようですが・・・。

// パスとファイル名に分離する
MojiSu = LENGTH( FileName)
Kugiri = POS( "\", FileName, -1)
Path = COPY( FileName, 1, Kugiri)
Name = COPY( FileName, Kugiri + 1, MojiSu - Kugiri)

487:名無しさん@お腹いっぱい。
09/08/29 16:10:06 ww65mvO00
>>484
速レスありがとうです
何文字あるか調べてから追加書き込みですね
それがエラーになるんです
文字数を調べる以前にテキストボックスの名前を調べないといけないみたいです
↓こんな感じのエラーでました
「変数IDが定義されてません」が出たのでID = namae を記入したら
「変数namaeが定義されてません」とエラーになります
このnamaeとはRECIEで記録したのでそのまま使ってる変数名なんだけど・・・

何度もすいません
自分のカーソル位置のテキストボックスの名前を調べる方法ありますか?

488:名無しさん@お腹いっぱい。
09/08/29 16:56:59 Z1dWq6j7P
>>487
ソースコードはイメージです。
実際の関数名や引数とは異なることがあります。
sはテキストボックスの文字列を格納している変数です。

>>486
おk
だけど、文字数の計算はなくてもおk
Kugiri = POS( "\", FileName, -1)
Path = COPY( FileName, 1, Kugiri)
Name = COPY( FileName, Kugiri + 1, 9999)


489:名無しさん@お腹いっぱい。
09/08/29 17:08:23 ww65mvO00
>>488
了解です
文字数を調べることができるってことがわかったのは大収穫でした^^
教えてくれてありがとうです

490:486
09/08/29 20:34:56 8qKYn2v40
>>488
どうもありがとうございます

491:名無しさん@お腹いっぱい。
09/08/30 00:30:36 BX4vfd5X0
ifb CHKIMG("●.bmp",0)での検索範囲を指定する事は可能でしょうか?
例えば相対座標500.350から770.485まで等です。

492:491
09/08/30 00:41:53 BX4vfd5X0
>>491
すみません。自己解決しました。

493:名無しさん@そうだ選挙に行こう
09/08/30 12:07:27 YU5dxX8f0
テキストファイルを1行単位で切り取り、貼り付けしたいんだけど
やりかたが全くわかりません><
取りあえずメモ帳を起動させることはできた
3行目切り取り→別ファイルに追加貼り付け
5~6行目切り取り→新規ファイルに貼り付け
どなたか教えてください

494:名無しさん@そうだ選挙に行こう
09/08/30 12:09:39 YU5dxX8f0
493です
質問が言葉足らずですいません
>3行目切り取り→別ファイルに追加貼り付け
3行目切り取り→別ファイルの3行目に追加貼り付け
よろしくお願いしますm( _ _ )m

495:名無しさん@そうだ選挙に行こう
09/08/30 13:03:13 1jXzFL2UP
>>491
すみません、ちょうど同じ事をしようとして詰まっているのですがサンプルソースを頂けないでしょうか?

496:名無しさん@そうだ選挙に行こう
09/08/30 17:22:13 burn2IeSP
>>493-494
UWSCだと3行目を編集は出来るけど、3行目に挿入はできないよ。

たとえばサクラエディタならCtrl+Jで窓出して行指定してジャンプできる。
クリップボードに改行つきで1行分テキストをセットしたらCtrl+Vで挿入できる。
そういうやり方するしかないかな。

新規ファイルの一番後ろに追加して行くんならメモ帳とか使わずにUWSCの関数でできるけど。
詳しくはヘルプのファイル関連の関数を一通り読んでね。

ところで、3行目までコピーしてその後は丸ごとコピーって言うのは何度も何度も質問されててそのたびに解決してるはずなんだけど、
具体的にどこのデータがそんなに使えるの?
教えてくれたら作ってアップするかも。


497:横レス
09/08/30 17:24:36 S4AQ+SE30
>>495
公式ヘルプ

つーか何で>>491が中途半端に省略可能オプションつけてるのに
サーチ範囲指定までたどり着けなかったかがよくわからない

498:名無しさん@そうだ選挙に行こう
09/08/30 18:01:54 l0ar2rih0
取説とか公式HPとか見ないで、サポセンに電話するタイプなんでしょ。

499:名無しさん@そうだ選挙に行こう
09/08/30 18:41:39 /B83Ke060
CHKIMG de ggrks

500:名無しさん@そうだ選挙に行こう
09/08/30 18:53:18 p3Q1Ae3/0
>>496
ども^^
満喫来たのでちょっとID変わりましたが>>493>>494です
やりたいことは既存ファイル1を開いて
3行目のみ切り取り、既存の別ファイル2の2行目に貼り付ける
クリップボードにデータがあるうちにIEを起動させてサイトに投稿
これの繰り返しです

既存ファイル1から切り取る行数は3の倍数
3行目のみ6行目のみ9行目のみ12行目のみ
>3行目まで
じゃありません
上から数えて3行目にある行だけを切り取り別ファイル2の2行目に貼り付ける
サイトに投稿
既存ファイル1の6行目(3行目を切り取った後だから、この時点では上から5行目)を切り取り
既存ファイル2の4行目(貼り付けた後だから、この時点で上から数えて5行目)に貼り付け
サイトに投稿
次は既存ファイル1の9行目(切り取り2回しているので、この時点で7行目)を切り取り
既存ファイル2の6行目(貼り付け2回やってるので、この時点で上から数えて8行目)に貼り付け
サイトに投稿
こんな感じのことをやりたいです
具体的にと言われてもどう言えばいいのか^^;
データマンジングってやつかなw
自動操作のUWSCの正規ユーザーになったのでuwscでやってみたいです^^
さくらエディタって便利そうですね
情報ありがとです

501:名無しさん@お腹いっぱい。
09/08/30 23:36:00 burn2IeSP
>>500
それだけでは何に使えるか良く分からないですね。
つまり自動投稿して何の意味があるのか分からない。
まあ僕も2ゲットツールとかいう同じ内容を投稿するのは作ったけど、2ゲットっていう目的は分かりやすいでしょ?

とにかく行ごとに間引いて別のファイルに移動するわけですね。
カードをシャッフルするみたいな。
そういうのはやっぱりエディタを使わないと無理かな。
データベースオブジェクトを使ってもいいけど。
いや、連想配列にぶちこんでキーワードで取り出すのがシンプルかも。テキストの量次第だが。

間引いていく処理についてはUWSCの関数で順番に読み、順番に別ファイルに書く事でも実現できる。
新たにファイル0を作り、ファイル1からファイル0にコピーし、終わったらファイル0をファイル1にリネーム。
ファイル1 ABCDEFGHI Aから順に読む
ファイル0 AB DE GH 使わなかったものを順に書き込む。
このやり方ならループもシンプルで面倒なエディタ処理が1つ減る。
while
 FRead()
 if 処理条件 then
  投稿処理()
  ファイル2に吐き出す
 else
  FWrite()
 endif
wend

502:名無しさん@お腹いっぱい。
09/08/30 23:42:39 U269ithF0
UWSCの連想配列は結構遅いのが辛いな
対象が千を超える場合があればもう少しほかの方法を考えるかもしれないな。

503:名無しさん@お腹いっぱい。
09/08/30 23:52:23 burn2IeSP
>>500
連想配列を使う場合。
//【前処理】ファイル1を全部連想配列にぶちこむ
cnt1 = 0
cnt2 = 0
for i = 1 to ファイル1の行数
 FRead()
 if 処理条件 then
  cnt1 = cnt1 + 1
  key = 処理ワード1 + cnt1
 else
  cnt2 = cnt2 + 2
  key = 処理ワード2 + cnt2
 endif
 key で連想配列に追加
next

//【ファイル1処理】
ここでファイル1へ上書きする。

//【投稿+ファイル2処理】
while true
 key = 処理ワード2 + i
 配列からkeyでデータ取り出し
 if 配列になければbreak
 投稿処理()
 ファイル2に出力()
wend

・・・やっぱ問題はファイル2か。
挿入だとエディタ使う必要がやっぱりある。
データベースオブジェクトなら挿入があるかもしれんけど、基本的にRDBに順番関係ないしな。結局エディタしかないか。

504:名無しさん@お腹いっぱい。
09/08/31 00:23:15 ln7RNv9S0
>>503
ども^^
>>500です
お疲れのところありがとうございます
FGETとFPUTで出来るところまでやってみます
テキストの切り取りってのがわからないので
コピーしてファイルに貼り付けって感じでぼちぼちやってみます^^

2ゲットツール面白そうですねw
興味あります^^
もしよかったらサンプルください
自分はまだIE操作まったくわからないです
タイトル名とかクラスとか取得方法もわかりません><
ヤフーIDの新規登録のところに書き込んでみたかったんですけど
色々試してるうちにハッカー認定されたようで
新規登録のページに入れなくなりましたwww
色々ありがとうです^^

505:名無しさん@お腹いっぱい。
09/08/31 00:57:38 aWym46NO0
2ゲットつーるっておまwww

506:名無しさん@お腹いっぱい。
09/09/01 15:22:08 wGPAV2Jw0
ご教授お願いします。

1."Movie Operator"というフリーウェアの”...(O)”というボタンがclkItem()で押せません。
getItem()で得たボタン名をコピペしたのでボタン名は間違えていないと思います。
同じボタン名はありません。
とりあえずはscKey(wID, VK_ALT, o)して動かしたのですが、できればclkItem()で押したいです。

2.今実行している行数の変数ってありますか?
デバッグ時に便利だと思うのですが見あたりません。
見落としていないと思うのですが…

507:名無しさん@お腹いっぱい。
09/09/01 15:49:21 fkjh49CH0
>>506
>1.
自分の書いたソースコード張ったほうが良いよ。
たとえ一行でもね。できるやり方は少しでも、できない可能性は無限大。

>2.
レジスト版にデバッガーがあるので、そちらだと分かります。
フリー版では在りません

508:名無しさん@お腹いっぱい。
09/09/01 20:33:58 mJwhP3m40
そんじょそこらにPrint文でなんか出力させるんだよ
そしたらここまでは正常終了してるけど、ここと次の間のどこかで詰まってるとか分かるから

509:506
09/09/01 23:24:39 Oybct+X10
debug用に書き直してみました。
他のボタンだと動きますが”..”がやっぱりダメです。
数 = GETALLWIN()
For i = 0 to 数-1
ifb ( STATUS(ALL_WIN_ID[i], ST_PATH) = "C:\Program Files\movieoperator\MovieOperator.exe" ) _
and ( status(ALL_WIN_ID[i], ST_VISIBLE) = TRUE) then
wID = ALL_WIN_ID[i]
break
endif
next

debugAllPrintGetItem(wID)
exitexit
PROCEDURE debugAllPrintGetItem(wID)
hashTbl Ary
Ary["ITM_BTN"] = ITM_BTN       // ボタン、チェックボックス、ラジオボタン

for n = 0 to Length(Ary)-1
   種別の名前 = Ary[n, HASH_KEY]
   種別の定数 = Ary[n, HASH_VAL]

num=getItem(wID, 種別の定数)
print 種別の名前 + ": 数: " + num
for i=0 to num-1
print i + ": " + ALL_ITEM_LIST[i]
next
next

ctrlwin(wID, ACTIVATE)
ret = clkitem(wID, ALL_ITEM_LIST[10], CLK_BTN) // 押せない(T-T
print ret
FEND

510:506
09/09/01 23:27:34 Oybct+X10
なぜかtabが無くなって見にくくなりました。
すいません。

511:名無しさん@お腹いっぱい。
09/09/02 11:26:17 oNB215sE0
>>509
なかなか難儀なアプリだな
getidでも取得できず
clkitemでもクリックできない…こちらでも確認した。

512:名無しさん@お腹いっぱい。
09/09/03 01:20:33 ql+G/0a90
>>506
ClkItem( ID, "...(&O)", CLK_BTN, 1, 2)は?

513:名無しさん@お腹いっぱい。
09/09/03 01:50:08 ql+G/0a90
もとい
モードによって"...(&O)"ボタンの順番が変わるので最後の引数は適当に変える
これしか無さそう

514:名無しさん@お腹いっぱい。
09/09/04 14:20:35 aFZS+L7m0
クラス名:Button
タイトル:...(&O)

515:名無しさん@お腹いっぱい。
09/09/04 15:27:11 InW00wLu0
>>509
このスレでこんなことを言うのはなんだが、同じくMovieOperatorを操作するのに
UWSCだと問題ありだったんでAHKでやってる。

ちなみに件のボタンはファイル選択のためのボタンだが、エディットボックスに
直接書き込んだらファイル選択ダイアログ開く必要は無いよ。

516:名無しさん@お腹いっぱい。
09/09/04 18:05:22 VND0X8dc0
ネトゲでMOBを判別して攻撃するの作りたいのですがどうすればいいのか分からない。
教えてください。

とりあえず、画像を見つけてクリックするスクリプトはできましたが、動いているMOBだと殆ど反応しません・・・。

517:506
09/09/04 23:53:16 9ISan29C0
お返事ありがとうございます
>512
ボタンが押されることを確認しました。
"...(&O)"をどうやって考えられたかが気になります。
これはuwscのバグになるのでしょうか?
バグ報告すべきでしょうか

518:名無しさん@お腹いっぱい。
09/09/04 23:56:32 o7J0rS+w0
どこをどう見たらバグに見えるんだ?

519:名無しさん@お腹いっぱい。
09/09/05 00:04:08 lSJSWK1B0
>>517
> "...(&O)"をどうやって考えられたかが気になります。

どうやってってw
キーボードで動かすためのアンダーバーを入れるのは前に&付けるんだよ。
全くプログラミングに類するものやったことないとわからんかもな。

はい(&Y) いいえ(&N) キャンセル(&C)とか。こうすると各Y・N・Cの下にアンダーバーが付いて
Alt+Yではい、Alt+Nでいいえ、Alt+Cでキャンセルボタン押下になるわけ。

520:名無しさん@お腹いっぱい。
09/09/05 00:48:19 5dThaddI0
知らんかったw

521:名無しさん@お腹いっぱい。
09/09/05 05:45:21 HkFq18JH0
(&O)までつけるというのはちょっと思いつかなかった。
ま、キーの割り当てがされてるようなら実用上困らないんだけど。

今英語版Windows7の無料版使ってるんだけど、キーの割り当てが一つもなくて苦労してる。
いや、自動操縦とかじゃなくて、右クリ→S とかの決まりきった操作ですらメニュー一覧からマウスで探してポイントしないといけなくてめんどくさい・・・


522:名無しさん@お腹いっぱい。
09/09/06 08:10:42 zyPGokOw0
UWSCProの付属ツールでuwsファイルをexe化するツールってありますよね。
あれでexe化する場合なのですが、
call ~.uws
って他のuwsファイルを読み込んでいる場合全部exe化しなければいけないのでしょうか?
それとも全部1ファイルにまとめてでないと動作しないのでしょうか?


523:名無しさん@お腹いっぱい。
09/09/06 10:13:12 64LdtFo30
>>522
call してるものまで全部含めて、勝手に1ファイルのEXEにしてくれる。

524:名無しさん@お腹いっぱい。
09/09/07 22:58:40 Xkdtabsd0
UWSC便利すぐるwww

525:名無しさん@お腹いっぱい。
09/09/09 06:39:24 WM4BaepJ0
下記の動作で左クリックを0.5秒間隔でクリックし続ける事は分かったのですが時間を指定してマクロ停止させるにはどうしたらよいのでしょうか?
(例→0.5秒間隔の左クリックを2時間後にマクロ停止)

While True
BTN(LEFT,CLICK,)
SLEEP(0.5)
Wend

526:名無しさん@お腹いっぱい。
09/09/09 07:46:12 6Qj8DJUR0
FOR NEXT使えばおk
ちょっと使い方を説明すると
一回ループする毎に変数にSTEPで指定した数が+される
そしてその数が終了値で指定した数に達するとループ脱出
初期値はそのまんま
例えば0.5秒間隔の左クリックを2時間をと言うとこうなる

FOR 変数 = 0 TO 14400 STEP 1 
BTN(LEFT,CLICK,)
SLEEP(0.5)
NEXT

一回ループをする毎に変数(初期値0)に+1(STEPの値)していき、14400(終了値)に達した時にループを脱出する
0.5秒を14400回で2時間になる
ヘルプ見ながら読んでね

527:名無しさん@お腹いっぱい。
09/09/09 07:53:44 WM4BaepJ0
>>526
㌧㌧です。


528:名無しさん@お腹いっぱい。
09/09/09 09:31:40 lOUbTZts0
いま遊んできた。

2009/09/09に婚姻届を出すスレ 6100組が登記の予約
スレリンク(news板)
7 名前: マンネングサ(佐賀県)[] 投稿日:2009/09/09(水) 08:45:09.11 ID:SYGoZDF2
ここが新しい09年09月09日 09時09分09秒09にレスするスレか
8:45:09.09

8 名前: マンネングサ(佐賀県)[] 投稿日:2009/09/09(水) 08:46:09.09 ID:SYGoZDF2
8:46:09.09

09/09/09 09:09:09に999を取るスレ 保険用
スレリンク(news4vip板)
999 名前:以下、名無しにかわりましてVIPがお送りします[] 投稿日:2009/09/09(水) 09:07:34.53 ID:Ubfyvu31O


|∧,,∧
| ・ω・)
|⊂ ノ 
|ωJ

>>999ゲット

529:528
09/09/09 15:41:41 lOUbTZts0
出来るだけ正確に投稿するにはどうしたらいいかと考えて、
JaneDoeViewの「書き込み」ボタンをクリックすることにした。

KDB(VK_SPACE, CLICK) では誤差が出るかもと思って
先にDOWNしといて時間を合わせてUPした。
でも、回線のせいなのか、0.03秒くらい期待した時間よりもずれてしまっていた。

以下即席スクリプト
// 指定秒にクリックします。
// キー押下は早めに実行します。
STOPFORM(true)
Second = 09

// カウントダウン中にフォーカスを「書き込み」ボタンに移しておく
for i = 5 to 1 step -1; fukidasi(i); sleep(1); next
fukidasi()

t = GetTime()
sec = (Second + 60 - 2) mod 60
Repeat; sleep(0.1); GetTime(); Until sec = G_TIME_SS

kbd(VK_SPACE, DOWN)
sleep(0.1)

//ミリ秒調整 ループにスリープを入れずに出来るだけ回数を多く回す。
Repeat; t = GetTime(); Until G_TIME_ZZ < 585
Repeat; t = GetTime(); Until 585 <= G_TIME_ZZ
sleep(1) // 他のタスクの待ちを解消しておく

kbd(VK_SPACE, UP)
sleep(5) // Jane動作のためじっとしておく


530:528
09/09/09 18:11:43 N5F4Z3YrP
SendMessageで直接クリックの動作をさせるのが一番だけどなあと思ったが、
ACC経由でないClkItem()ならSendMessageと等価なのかな、と思って書いてたら、
やっぱウィンドウハンドルの一覧から探すとかやってて時間かかってるかも知れないなと思い直した。
かといってIDとか自分で調べてもJaneの他のバージョンでは違っている可能性もあるわけで、汎用性が無くなるかもしれない。
ウィンドウのIDだけじゃなくてコントロールのIDも取れればシビアな制御できそうだけど・・
ややこしくなるから使う人いないし、そこまでするなら他の言語使ってるよな。

使いにくいけど鯖との時刻あわせしなきゃいけないから・・やっぱあれでよかったかな。
光回線ならもーちょっと安定するだろうし、そしたらあのままでも100分の1秒まで正確にやれるかも。


531:名無しさん@お腹いっぱい。
09/09/10 00:26:02 EY/yVP0fP
pingですら安定した通信は不可能なのに何言ってんの?
誤差を少しでも減らしたいならteratermでも使えよ

532:名無しさん@お腹いっぱい。
09/09/10 17:39:21 GPfW3J/O0
>光回線ならもーちょっと安定するだろうし
ここ笑うとこ?

533:名無しさん@お腹いっぱい。
09/09/11 00:09:23 QONu8T8VP
>>532
いや、実際俺より安定して狙い通りに投稿してる人の回線が光だそうで。
497 名前: (catv?)[] 投稿日:2009/09/09(水) 07:35:09.09 ID:DHHnwPci
532 名前: (catv?)[] 投稿日:2009/09/09(水) 07:50:09.09 ID:DHHnwPci
551 名前: (catv?)[] 投稿日:2009/09/09(水) 07:55:09.08 ID:DHHnwPci
576 名前: (catv?)[] 投稿日:2009/09/09(水) 08:00:09.10 ID:DHHnwPci
583 名前: (catv?)[] 投稿日:2009/09/09(水) 08:02:09.09 ID:DHHnwPci
596 名前: (catv?)[] 投稿日:2009/09/09(水) 08:05:09.08 ID:DHHnwPci
610 名前: (catv?)[] 投稿日:2009/09/09(水) 08:09:09.09 ID:DHHnwPci
626 名前: (catv?)[] 投稿日:2009/09/09(水) 08:12:09.09 ID:DHHnwPci
651 名前: (catv?)[] 投稿日:2009/09/09(水) 08:15:09.10 ID:DHHnwPci
695 名前: (catv?)[] 投稿日:2009/09/09(水) 08:19:09.09 ID:DHHnwPci
774 名前: (catv?)[] 投稿日:2009/09/09(水) 08:29:09.10 ID:DHHnwPci
818 名前: (catv?)[] 投稿日:2009/09/09(水) 08:32:09.09 ID:DHHnwPci
36 名前: (catv?)[] 投稿日:2009/09/09(水) 08:53:09.12 ID:DHHnwPci
42 名前: (catv?)[] 投稿日:2009/09/09(水) 08:55:09.14 ID:DHHnwPci
48 名前: (catv?)[] 投稿日:2009/09/09(水) 08:58:09.08 ID:DHHnwPci
50 名前: (catv?)[] 投稿日:2009/09/09(水) 09:00:09.09 ID:DHHnwPci
52 名前: (catv?)[] 投稿日:2009/09/09(水) 09:02:09.08 ID:DHHnwPci
54 名前: (catv?)[] 投稿日:2009/09/09(水) 09:04:09.08 ID:DHHnwPci
55 名前: (catv?)[] 投稿日:2009/09/09(水) 09:05:09.09 ID:DHHnwPci
57 名前: (catv?)[] 投稿日:2009/09/09(水) 09:07:09.08 ID:DHHnwPci
64 名前: (catv?)[] 投稿日:2009/09/09(水) 09:09:09.10 ID:DHHnwPci
80 名前: (catv?)[] 投稿日:2009/09/09(水) 09:12:46.33 ID:DHHnwPci
URLリンク(img.2ch.net)
   ∧_∧
⊂(#・ω・)  やってられるか!!
 /   ノ∪
 し―-J |l| |
         人ペシッ!!
       __
       \  \

534:こっちが>>529+Win7+ADSLで調整しつつ動かしたやつ
09/09/11 00:18:26 QONu8T8VP
519 名前:(水) 07:45:09.07 ID:SYGoZDF2
523 名前:(水) 07:47:09.06 ID:SYGoZDF2
539 名前:(水) 07:52:09.06 ID:SYGoZDF2
544 名前:(水) 07:53:09.06 ID:SYGoZDF2
546 名前:(水) 07:54:09.05 ID:SYGoZDF2
550 名前:(水) 07:55:09.10 ID:SYGoZDF2
556 名前:(水) 07:56:09.11 ID:SYGoZDF2
559 名前:(水) 07:57:09.11 ID:SYGoZDF2
564 名前:(水) 07:58:09.11 ID:SYGoZDF2
569 名前:(水) 07:59:09.10 ID:SYGoZDF2
580 名前:(水) 08:01:09.10 ID:SYGoZDF2
582 名前:(水) 08:02:09.10 ID:SYGoZDF2
595 名前:(水) 08:05:09.11 ID:SYGoZDF2
600 名前:(水) 08:06:09.10 ID:SYGoZDF2
604 名前:(水) 08:07:09.10 ID:SYGoZDF2
607 名前:(水) 08:08:09.10 ID:SYGoZDF2
614 名前:(水) 08:10:09.08 ID:SYGoZDF2
618 名前:(水) 08:11:09.10 ID:SYGoZDF2
625 名前:(水) 08:12:09.09 ID:SYGoZDF2
634 名前:(水) 08:13:09.10 ID:SYGoZDF2
671 名前:(水) 08:17:09.11 ID:SYGoZDF2
694 名前:(水) 08:19:09.11 ID:SYGoZDF2
702 名前:(水) 08:21:09.11 ID:SYGoZDF2
709 名前:(水) 08:22:09.11 ID:SYGoZDF2
733 名前:(水) 08:25:09.11 ID:SYGoZDF2
744 名前:(水) 08:26:09.11 ID:SYGoZDF2
758 名前:(水) 08:27:09.09 ID:SYGoZDF2
762 名前:(水) 08:28:09.11 ID:SYGoZDF2
786 名前:(水) 08:30:09.07 ID:SYGoZDF2
803 名前:(水) 08:31:09.10 ID:SYGoZDF2
817 名前:(水) 08:32:09.07 ID:SYGoZDF2
836 名前:(水) 08:33:09.07 ID:SYGoZDF2

535:名無しさん@お腹いっぱい。
09/09/11 07:32:40 51Za3rGdO
ホップ数が少ない回線という主張なら理解できるが
どうして光回線ならより安定との結論が導かれるんだ?

論理的におかしいだろ

536:名無しさん@お腹いっぱい。
09/09/11 12:17:04 SAx+c6nq0
広帯域=反応が早い
こんな風に勘違いしてる人って多いよね。

道路に例えれば道幅が広いだけで決して車の速度が速いわけではないのに。

537:名無しさん@お腹いっぱい。
09/09/11 18:37:40 2T7N4nOi0
メモリーの値をとりだすのはどうすればいいですか?
memory.dllとDEF_DLLを使うのはわかったのですが、そのあとがわかりません。
例えば00456789のメモリの値が50以下になったら・・・っていうのはどう作ればいいのでしょうか?


538:名無しさん@お腹いっぱい。
09/09/11 19:06:58 Bpd1Ez2d0
memory.dllとDEF_DLLが分かってるのにどうしてメモリの読み方が分からないんだ?
memory.dlにはご丁寧にサンプルも付いてるんだし
1度くらい付属のドキュメントでも読んでみるといいよ

539:名無しさん@お腹いっぱい。
09/09/11 19:54:47 2T7N4nOi0
>>538
検索とかしてみたのですが、よくわかりませんでした

ちなみにこんな感じです。
DEF_DLL ReadMemory(hwnd,DWORD,DWORD,DWORD):int:Memory.dll
public pname="クライアントの名前"  //クライアントを指定
public adr = $00456789
public rdata = 0
public size=4
ReadMemory(pname,adr,rdata,size)
ifb rdata<50 then
KBD(VK_4,down,100)
KBD(VK_4,up,100)
else
endif

クライアントの指定の部分で間違ってる気がします。
もしくは一行目からすでにまちがえますか?

540:名無しさん@お腹いっぱい。
09/09/11 20:21:18 Bpd1Ez2d0
DEF_DLL ReadMemory(string,DWORD,var DWORD,DWORD):int:Memory.dll
じゃないかな?

541:名無しさん@お腹いっぱい。
09/09/11 21:12:08 2T7N4nOi0
>>540
ありがとうございます!
無事に出来ました

542:528
09/09/11 22:29:51 piWYqlZ70
>>535
光回線に雑音なし。
ADSLは雑音だらけ。
雑音の影響でパケット修復や再送信が発生しまくり。
(いや、うちは今安定してるけど、最近まで雑音が38dBとかだった)

通信自体は雑音が入っても再送信されるので安定して通信できるとしても、
回線で再送信が発生していればそれだけ時間が変動してきますよね。

>>533-534の結果を見ると、回線の種類よりも実行環境の方が影響してそうだけど。
Windows7って10秒に1回くらい重い処理が入るしな。


543:名無しさん@お腹いっぱい。
09/09/12 00:32:11 QAaS2IK0O
クライアントPCからプロバイダまでが君のすべてなんだね
でも現実には違うんだよ

君が誤差とか雑音とか言ってる9割以上はその先の世界の影響なの
君が1割の世界を自在にコントロールしても無駄なの分かる?

544:528
09/09/12 04:12:18 lXIELoI/P
>>543
9割は大げさだよ。
そりゃー確かに負荷のかかってるサーバーのスループットは時間かかるよ。
でも、2ちゃんねるの投稿時間っていうのは、最初に投稿文を投げて受け付けられた時刻になるのであって、
投稿処理完了までにかかる時間は含まれてない。
だからクライアント側が簡単なスクリプトでも割と安定した投稿時刻になってるわけだし、
だからほぼ同時に投稿されたレスは書き込み時刻とレス番が入れ替わっていたりするんだ。
それに、クライアントがすげー重くてマウスもカチコチになってる状態では
パケットを回線に乗せるだけでもソートーな時間がかかるわけで、
いくらでも時間を延ばそうと思えば延びるもんだ。

※今ゼロの使い魔見てるけどやっぱあの主役の声はいいよなあ。

545:名無しさん@お腹いっぱい。
09/09/12 04:19:57 zkkco6a50
日野聡ね?

546:名無しさん@お腹いっぱい。
09/09/12 07:56:58 lXIELoI/P
釘宮理恵だよ
顔はアレだし普段の声もアレだけど、ツンデレ少女やらせたら天下一品。
URLリンク(www.youtube.com)


547:名無しさん@お腹いっぱい。
09/09/12 08:41:54 0prcRox+0
ID:lXIELoI/P
お前はもう来なくていい
いつまでオナニーし続けるのかと思ったら今度は唐突に完全スレチなアニメ話か

548:名無しさん@お腹いっぱい。
09/09/12 13:04:39 k/iIqcLX0
あの主役の声とか言わずに、くぎゅうううううううううううとか言っとけよ

549:名無しさん@お腹いっぱい。
09/09/12 16:05:38 qs3nJzg80
よくわからん展開だけど
2ゲットツールの話しってことだよね

>>528
うちOCNの光プレミア^^
いつでもモニターしますよw
自分的には興味あるし>>528応援したい

550:名無しさん@お腹いっぱい。
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は最初から無い


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