自動化ツールuwsc使いよ集まれ7at SOFTWARE
自動化ツールuwsc使いよ集まれ7 - 暇つぶし2ch398:名無しさん@お腹いっぱい。
11/12/02 18:18:35.14 nzM92MKJ0
並列して似た作業をループさせたいんだが
内容としては、ChromeA、ChromeB、ChromeCってウィンドウがあるとして
AもBもCもループさせてる作業内容は同じで、そのループを同時進行で実行させたい。

知識ないから、単純にA、B、C用にそれぞれスクリプトを組み同時に実行させてるんだけど
なぜだかAウィンドウがCウィンドウの位置にワープしたり、BウィンドウがAウィンドウと重なる位置にワープしたり
わけわかめなんだ。
原因として、何が考えられるのか。改善は可能なのか。
ちなみに、スクリプトの内容は
FOR 回数 = 1 TO 5
ACW(GETID("~-~- Google Chrome","Chrome_WidgetWin_0"),-1,319,263,761,0)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
NEXT

こんな感じのを、A、B、C用それぞれ作ってバッチでスクリプトを同時に実行させてる。
ちなみに、全部で12ウィンドウ分。

399:名無しさん@お腹いっぱい。
11/12/02 21:21:05.08 79OuEhei0
そりゃ毎回getidしてるからだろ。

400:名無しさん@お腹いっぱい。
11/12/02 21:38:40.01 k1G8oZ+i0
どうせIDがかぶってるオチじゃねーの

401:名無しさん@お腹いっぱい。
11/12/02 22:02:28.32 nzM92MKJ0
>>399
その通りだったみたいです。
GETIDの所無くしたら問題なく動きました。
これ、クリックする部分は絶対座標だから対象としてるウィンドウ達はスクリプトで指定してる座標から動かしちゃダメって事ですよね。
とりあえず、これで手動クリックから抜け出せましたw
1時間弱12個のウィンドウの決まった所をひたすらカチカチ作業を6時間おきにやるのがマジキチだったので
助かりました!

402:名無しさん@お腹いっぱい。
11/12/02 22:59:30.81 79OuEhei0
>>401
なんか勘違いしてるっぽいな?

同じタイトルのウィンドウが複数ある場合1回目のgetidと2回目のgetidで
同じウィンドウを取得できるとは限らんって事だぞ。

一つのウィンドウに対して複数回操作をするなら
getidを1回だけやってIDを変数に取って以降その変数でやる

403:名無しさん@お腹いっぱい。
11/12/02 23:57:44.63 fkbuA7P+0
どう考えてもまともな使用目的じゃなさそう
ま、その程度ならたいした実害はなさそうだけどな…

404:名無しさん@お腹いっぱい。
11/12/03 00:00:36.60 X9b56wfw0
マクロのまともな使用目的ってなんだよ

405:403
11/12/03 00:19:27.25 /eCiHqMi0
>>404
だからさ、マクロ目的ならこれよりAHKの方が良いって…w

406:名無しさん@お腹いっぱい。
11/12/03 00:19:31.71 i8U652yV0
ルールを正規に定めている範囲内でそのルールに違反しないこと

407:名無しさん@お腹いっぱい。
11/12/03 10:57:34.98 mXU25fWD0
IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1)) then その後の処理
って感じでtest_flagの状態によって切り替えて判定してるんだけどもっとシンプルに書きたい
norが有ればもう少しましに
IF (test_flag xor PEEKCOLOR(446,182))=($FFFE nor test_flag) then その後の処理
って感じで書けるんだろうけどnotすらないようなので・・・
○PEEKCOLORの取りうる値は$FFFFかそれ以外
○test_flagは0か1の値を取る
○検出したいのは$FFFF

やりたいことは
○test_flagが0の時、$FFFF=PEEKCOLOR(446,182)を検出するとthenを実行
○test_flagが1の時、$FFFF=PEEKCOLOR(446,182)を検出出来なければthenを実行
頑張って一回で両方を判定しようとして2,3時間悩んだ結果がこれなんだ
実際にはthread処理してて別のルーチンでtest_flagの状態を変えてるからタイミングが悪い時に
2回判定するとタイミングずれて結果が変わる
両方を同時に判定しないといけないんだけどもっといい方法無いかな

408:名無しさん@お腹いっぱい。
11/12/03 11:25:51.48 mXU25fWD0
○test_flagが1の時、$FFFF=PEEKCOLOR(446,182)を検出出来なければthenを実行
↑間違えた
○test_flagが1の時、$FFFF=PEEKCOLOR(446,182)を検出するとthenを実行

普通は判定で処理が変わるけど、処理が同じで判定の方が変わる

409:名無しさん@お腹いっぱい。
11/12/03 11:52:21.95 9zFEGBoU0
それ、test_flag で何も切り替わってない気がするけど
if peekcolor(446,182)=$FFFF then ~
ではダメな理由は何?
それと、一行にまとめたからって同時に実行されるわけじゃないかと

410:名無しさん@お腹いっぱい。
11/12/03 11:52:50.87 1rpOnUv/0
this_test_flag = test_flag
this_PEEKCOLOR = PEEKCOLOR(446,182)

共有変数を直接参照し続けなければ良いだろう…とは当然考えてしまうのだが。

411:名無しさん@お腹いっぱい。
11/12/03 12:08:59.69 mXU25fWD0
>>409
test_flagは別ルーチン(thread処理で別のが切り替えてる)
ダメな理由は
if peekcolor(446,182)=$FFFF and test_flag=0 then ~
if peekcolor(446,182)<>$FFFF and test_flag=1 then ~
って書くとifとifの間の実行中に別スレッドがtest_flagの値を切り替える可能性があるから

>>410
これも同じ理由です。そもそも状態を記憶するためにフラグを使ってるのですから
直接参照した上でないと代入や判定の際にタイミングずれて誤作動しました

412:名無しさん@お腹いっぱい。
11/12/03 12:14:18.13 1rpOnUv/0
>>411
別スレッドで動作させるなら
>IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1))
最初のフラグと最後のフラグが同じ値である保証は無いのだが。

413:名無しさん@お腹いっぱい。
11/12/03 12:17:11.88 1rpOnUv/0
俺が誤解してるのかなぁ…

414:名無しさん@お腹いっぱい。
11/12/03 12:18:53.23 1rpOnUv/0
まぁ、そこまで動作を把握してるなら自分で聞いた答えは自分で出してるんだろうな。
もっとシンプルには書けない、で終わりだ。

415:名無しさん@お腹いっぱい。
11/12/03 12:26:58.10 mXU25fWD0
>>408が間違いです。ほんとすみません
test_flagが1の時、$FFFF=PEEKCOLOR(446,182)を検出出来なければthenを実行であってました
どうも混乱しててごめんなさい

416:名無しさん@お腹いっぱい。
11/12/03 12:34:58.12 mXU25fWD0
>>413
ほんとうにごめん。>>415です。>>408が間違ってました
気分を害したのならあやまります。ただ、こう言ったロジックの話は
チェスとかパズルとか将棋みたいで知的遊戯な気がするので聞いてみました
詰め将棋やってて解けたと思ったら実は他に逃げ道が有って・・・みたいな感じですね
>>412なんですがその通りなんですよね
完全に回避しようと思ったらuwsc自体にthread処理を一旦止める実装がないと無理だと思います
ただ、
if peekcolor(446,182)=$FFFF and test_flag=0 then ~
if peekcolor(446,182)<>$FFFF and test_flag=1 then ~
と書くよりは誤作動する確立が減るので、一回でなるべく高速に判定したいと思った結果なんですよ

417:名無しさん@お腹いっぱい。
11/12/03 12:42:03.86 1rpOnUv/0
いや、実際の動作的に試したことは無かったので面白いと思いますわ。
で、実際に書いてみた…num=numでfalseが出るよねw
確実性を求めるなら、処理が外部に出る前に必ず別フラグを参照して止める必要性があるねぇ。

----
public num
thread _set()

while 1
 ifb num = num
  print "true"
 else
  print "false"
 endif
 sleep(0.1)
wend

procedure _set()
 while 1
  num = random()
 wend
fend
----

418:名無しさん@お腹いっぱい。
11/12/03 12:45:34.02 9zFEGBoU0
私が>>409を書いた理由も>>408が原因だぞ。充分に反省するように。

とりあえず、条件式を1行にまとめたからって全てが同時に判定されるわけじゃなく
優先度の順にビット演算されていくだけなので、IFを多重にした方が高速な場合が多い。

そして実はあるシンプルな回答
if peekcolor(446,182)=$FFFF xor test_flag then ~
たぶんこの1行で行けるんじゃないかな

419:名無しさん@お腹いっぱい。
11/12/03 12:51:03.91 ohnwLlPk0
スケジュール設定で12:00~15:00まで3分毎ってどういう式にすればいいんですか?

420:名無しさん@お腹いっぱい。
11/12/03 12:51:56.72 1rpOnUv/0
>>418
求めるものはそういう回答なのでしょう。

ずれた話しててごめんね。

421:名無しさん@お腹いっぱい。
11/12/03 13:29:11.91 mXU25fWD0
>>417
わざわざ試して頂いてありがとうございます
ちょっと自分なりに条件を考えてみたのですが
IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1))
のフラグが最初と最後で書き換えられていない場合でPEEKCOLOR(446,182)が$FFFFを返す場合

フラグ1の時
1 xor $FFFF=$FFFE or (1 xor 1)これが判定式に入るので
if $FFFE=$FFFE then~ の式になる

フラグ0の時
0 xor $FFFF=$FFFE or (0 xor 1)
if $FFFF=$FFFF then~ の式になる

これは思った通りの動作です

改行が多いと怒られたので

422:名無しさん@お腹いっぱい。
11/12/03 13:29:31.63 mXU25fWD0
途中で切り替わってしまった場合は
フラグ1の時
1 xor $FFFF=$FFFE or (0 xor 1)これが判定式に入るので(もしくはその逆で0 xor $FFFF=$FFFE or (1 xor 1)かもしれない)
if $FFFE=$FFFF then~ の式になる

フラグ0の時
0 xor $FFFF=$FFFE or (1 xor 1)同上
if $FFFF=$FFFE then~ の式になる
IFの判定の瞬間に切り替わっちゃうとどうしようもないけど、頑張って考えたて
安全性を求めるなら、この条件を数回実行するって言うのしか方法はなさそうなんですよね

>>418
はい、ほんとうにごめんなさい。反省してます
自分でも必死に考えて試行錯誤の結果なのできっちり理解できてませんでした
if peekcolor(446,182)=$FFFF xor test_flag then ~
なんですけど試したらちゃんと動きました。ありがとうございます
ビット演算が実は逆に時間がかかる場合もあると聞いてビックリです
>>420
いえ、ありがとうございます。勉強になりました
>>418で答えていただいたのを理解してました。遅レスですが皆さん本当にありがとうございます

423:名無しさん@お腹いっぱい。
11/12/03 13:33:29.83 mXU25fWD0
あと、事後報告なんですが、>>418で回答頂いたのをコードに組み込んで
printで確認したら、やっぱり何回かに1回の割合で誤判定してるみたいです
3、4回走らせると、誤作動はしてないみたいなので、本当にthen以降を実行するかはループを回してチェックする事にしました
ありがとうございました

424:名無しさん@お腹いっぱい。
11/12/03 14:55:45.80 9zFEGBoU0
>>422
>ビット演算が実は逆に時間がかかる場合もあると聞いてビックリです

そういう意味じゃなくて、条件式というのは全てビット演算なのですよ。
マッチしたら1 しなかったら0 という1ビットの値として扱われるものなので
ビット演算子で条件を繋いだりできるわけです。

そしてたとえば
if 超重い関数() and クソ重い関数() and 死ぬほど重い関数() then ~
このような条件式があった場合、andなので一つが0ならそれで確定するのに
ビット演算を全部終わらせようとして常に関数3つとも実行されてしまうので
一つの長い条件式にするよりは多段IFの方が無難なのです。
でも今回の場合は関係なかったかも。

425:名無しさん@お腹いっぱい。
11/12/03 16:28:49.35 mXU25fWD0
>>424
そうなんですか
最終的にはif ビットが立ってるか? thenって言う判断なんですね
凄く参考になったので今if文全部見直してます

426:名無しさん@お腹いっぱい。
11/12/03 20:26:44.32 9zFEGBoU0
ところで、>>407の1行目ってやっぱり
test_flagがどっちであっても同じ動作をするように見えるんだけど・・・
つまり>>409に書いた通り
if peekcolor(446,182)=$FFFF then ~
これと全く同じ動作になってるような?

427:名無しさん@お腹いっぱい。
11/12/03 21:58:02.73 1rpOnUv/0
>>426
>>407 の一行目は完全にフラグ無視の動作だねw
動いていたのは彼の勘違いか、コードの別の部分が変にフラグ書き換えてバグってるんだよ。

別の部分の原因を把握してないから>>423 みたいな事を言ってるんだと思うわ。

428:名無しさん@お腹いっぱい。
11/12/04 15:19:27.08 /9Bgp8pL0
>>426
if peekcolor(446,182)=$FFFF then ~ だと複数回チェックする時に状態反転してるのに同じ物を検出条件にしてますよね?
その間に状態が変わって反転してるかもしれないのでこれだと誤作動です
フラグが反転すると今度は$FFFFを検出しない状態でthen~を実行して欲しいんです
フラグの状態を無視してると言うのが力不足で理解出来ません。良ければその理由を指摘いただけませんか?

>>427
画面の更新タイミングがずれる時(他アプリの起動や描画時間がかかるアプリ、windowsの画面更新そのものが止まる状況、画面上に別アプリを起動した時にそのウインドウが(446,182)の座標に被った場合など)
描画が止まったりすると1回の判定だと当然誤作動するんです。誤動作のタイミングがそれ以外にも色々あるので不定です
then~はエラー復帰と考えていただければ分かりやすいと思います
その判定の為に何回かPEEKCOLOR(446,182)を繰り返してます

429:名無しさん@お腹いっぱい。
11/12/04 15:44:59.59 oaCfJ4/G0
>>428
いい加減に自分でテストコードぐらい書いて確認しろよ。
以下の4パターンで、この二つの判定式はまったく同じboolを返す
今までこれで正しく動いていたと思うなら、ほかの部分がおかしいままだ。

flag = true; pc = $FFFF; print _a(flag, pc) +":"+ _b(flag, pc)
flag = false; pc = $FFFF; print _a(flag, pc) +":"+ _b(flag, pc)
flag = true; pc = $1111; print _a(flag, pc) +":"+ _b(flag, pc)
flag = false; pc = $1111; print _a(flag, pc) +":"+ _b(flag, pc)

function _a(test_flag, pc)
 ifb (test_flag xor pc)=($FFFE or (test_flag xor 1))
  result = true
 else
  result = false
 endif
fend
function _b(test_flag, pc)
 ifb pc = $FFFF
  result = true
 else
  result = false
 endif
fend


430:名無しさん@お腹いっぱい。
11/12/04 16:37:31.86 /9Bgp8pL0
>>429
thread処理じゃないのでこのコードが同じになるのは分かります
実際に動かしました。仰るようにthread処理でフラグが変えられた場合のテストコード書いてみます

431:名無しさん@お腹いっぱい。
11/12/04 16:45:45.24 oaCfJ4/G0
>>430
根本的に勘違いをしてそうだな…

432:名無しさん@お腹いっぱい。
11/12/04 17:12:51.75 NfC3QC8T0
っていうか>>421に自分で書いてるだろう
色が$FFFFの場合に
>フラグ1の時
>if $FFFE=$FFFE then~ の式になる
>フラグ0の時
>if $FFFF=$FFFF then~ の式になる
つまりフラグがどっちでもIF条件を満たして同じ動作をしてる

>IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1)) then その後の処理

>if peekcolor(446,182)=$FFFF then ~
と全く同じ動作しかしてない。

433:名無しさん@お腹いっぱい。
11/12/04 17:30:39.85 /9Bgp8pL0
今必死に理解に勤めてます
threadであろうがやっぱり同じになると思います。でも何故そうなるか分かりません
数学の証明問題を解いてる気分です
もうちょっと頑張りたいと思います。皆さん本当にありがとうございます

434:名無しさん@お腹いっぱい。
11/12/04 18:04:04.92 /9Bgp8pL0
ごめんなさい。やっと理解できました。根本的に間違ってたようです
IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1)) then その後の処理
は単に
IF peekcolor(446,182)=$FFFF then
を分かりにくくしただけで、式そのものが間違いと言う事に気付きました
ちゃんと動いた事があるのはうまい具合に(意図したように)誤作動してたんだと思います
本来チェックしたい条件とは逆の判定をflagによって行ってた
threadだろうが、そうでなかろうが結果が同じになるということがやっと分かりました
IF peekcolor(446,182)=$FFFF thenを因数分解した様な式で分かりにくくなっただけでflagの値が何であれ判定条件は同じ
if peekcolor(446,182)=$FFFF xor test_flag then ~
じゃないとまともに動かない。何故間違ってるのかに気付くまで時間かかりましたがご指摘、本当にありがとうございました

435:名無しさん@お腹いっぱい。
11/12/04 18:17:37.85 /9Bgp8pL0
連投失礼します
今回、if文は本来チェックしたいものをチェックして、フラグで条件が違うならそれでテストする
if 真xor真 これは偽
if 真xor偽 これは真
と言う事を改めて学ばせていただきました。本当にありがとうございます。上みたいにもっとシンプルに考えればよかったんですね
基本に立ち帰りました
理解に協力していただいた皆様に本当に感謝いたします。ありがとうございます
嬉しい事があると話が長くなるタイプなので長文失礼致しました

436:名無しさん@お腹いっぱい。
11/12/04 22:26:58.00 p5fpQ4yg0
ファイル(主にmp4,flv)が壊れているかいないかを判断するのにバイナリの先頭部分を少しみてチェックしたいんだけど、
何か良いwshかAPIあったら誰か教えて下さい。GetDetailsOfでやってみたら駄目だったのでがっくりきた。

437:名無しさん@お腹いっぱい。
11/12/05 23:52:25.98 EZJzSyhp0
APIのReadFileとかCOMのADODB.Streamとかで読み込むことはできるかも知れないけど
そもそもuwscはバイナリを扱えるようにできてないからかなり大変なのでは

438:名無しさん@お腹いっぱい。
11/12/06 00:08:45.77 lh46L2lh0
というか、壊れているかがヘッダーだけで判別できないだろ…
後ろ全部のバイナリチェックが「壊れている」かの本分だと思うけど。

439:名無しさん@お腹いっぱい。
11/12/06 00:22:08.13 Wp/yAHHF0
動画のバイナリチェックなんて事前にハッシュでもとってない限り
実際に見てみるしかないと思うが。

440:名無しさん@お腹いっぱい。
11/12/06 05:16:59.55 Xn7p9Gq+0
uwscで直接チェックするなんて、どこにも書いてないと思うが・・?

441:名無しさん@お腹いっぱい。
11/12/06 12:51:32.12 SfWAQh+f0
そうだね。UWSCとは一言も書いてないからただの誤爆かも知れないね。
いずれにせよ先頭を見ただけでは壊れてるかどうかの判別はできないだろうけど。

442:名無しさん@お腹いっぱい。
11/12/06 16:35:29.26 lJ3EajKr0
ckfol="D:\hoge"
dim filetype[]="*.mp4","*.flv"

for y=0 to RESIZE(filetype)
count=Getdir(ckfol,filetype[y])
for z=0 to count-1
file=GETDIR_FILES[z]

ifb POS("(sm",file)>0 AND POS("[nico]",file)=0 AND POS("%%エラー",file)=0
DIM objStream = CREATEOLEOBJ("ADODB.Stream")
objStream.Open()
objStream.Type = 1
objStream.LoadFromFile(ckfol+"\"+file)

str=""
for i=0 to 30
str = str + objStream.Read(1)
next
objStream.Close()

ck=POS("FLV",str)+POS("ftypi",str)
ifb ck=0
doscmd("REN <#dbl>" + ckfol +"\" + file + "<#dbl> <#dbl>%%エラー "+ file +"<#dbl>")
else
doscmd("REN <#dbl>" + ckfol +"\" + file + "<#dbl> <#dbl>[nico] "+ file +"<#dbl>")
endif
endif
next
next


443:名無しさん@お腹いっぱい。
11/12/06 16:36:33.34 lJ3EajKr0
>>437-441
先頭部分にFLV or ftypi がなければ破損と考えてるだけで、そこまで複雑にチェックしようとしているわけでないです。
PCがしょぼいせいで、ニコニコ動画で作業用BGMとかのファイルをirvineで落としてから聞いてるのですが
たまに開けないのが先頭部分がおかしかったりします。
厳密には修復可能かもしれないですけど、落とし直した方がはやいですし、簡易なチェックでいいと思ってます。


適当に作ったのが↑ですがファイル全部をロードしてしまうので30-100Mあるので動作がもっさりしてます。
ロードするバイトを指定できるCOMかAPIを教えて下さい。書かれてたReadFile関数がそれっぽいのですが、
記述方法がよくわかりませんでした(引数の型の辺り)ので、できればソース御願いします。


444:名無しさん@お腹いっぱい。
11/12/06 16:58:29.07 lh46L2lh0
>>443
URLリンク(www.google.com)

445:名無しさん@お腹いっぱい。
11/12/06 17:13:33.77 SfWAQh+f0
COMはよくわかんないのでReadFileの方をかなり適当に。
読めなかった場合の対策とか何もしてない。


def_dll CreateFileA(string,dword,int,int,int,int,int):hwnd:kernel32.dll
def_dll CloseHandle(hwnd):kernel32.dll
def_dll ReadFile(hwnd,var int,int,var int,{int,int,int,int,int}):kernel32.dll

ファイルのパス="C:\いかがわしい動画.mp4"
読むバイト数=4
読み開始位置=0
dim 内容[読むバイト数-1] //この配列に1バイトづつ入る

buffer=0
hFile = CreateFileA(ファイルのパス,$80000000,0,0,3,0,0)
for i=0 to 読むバイト数-1
ReadFile(hFile,buffer,1,0,0,0,読み開始位置+i,0,0)
内容[i] = buffer
next
CloseHandle(hFile)

446:名無しさん@お腹いっぱい。
11/12/06 17:22:05.35 lh46L2lh0
あー、すまねぇ。

447:名無しさん@お腹いっぱい。
11/12/06 18:51:34.72 Lhc7BvL10
>>445
早い回答ありがとです。問題なくできました。これからAPI使うときの参考にさせてもらいます。

448:名無し@カレイライス
11/12/06 19:57:13.13 3iAYuHHz0
uwsc4.7bって4.2のkeygen使えない・・・・
使うとEROOR2ってでちゃう
どうしてる?


449:まぁRGBってなに?だと躓くだろうから
11/12/06 20:37:33.71 AJr0eoco0
keygenって何? 不正利用の奴?

450:名無しさん@お腹いっぱい。
11/12/06 20:55:02.91 WHgW2JxR0
キーゲンっていう人の名前

451:名無しさん@お腹いっぱい。
11/12/06 22:05:12.83 FwrdrbV80
>>448
一つ前のバージョンを使う

452:名無しさん@お腹いっぱい。
11/12/06 23:18:50.42 stD1RjnF0
きっと機ー嫌がよくなかったんだろう

453:名無しさん@お腹いっぱい。
11/12/07 21:43:43.16 4DJo4FXi0
>>448 買う

454:名無しさん@お腹いっぱい。
11/12/09 01:40:33.04 2M+DX9BjO
A、B、C、3つの画像のいずれかが表示されたら(複数同時には表示されない)クリックするというのを作りたいのですが
いずれかというところはどういう命令文を使えばいいのでしょうか

画像を認識したらクリックするサンプルをいじって作ろうと思うのですが
ヒントをもらえないでしょうか

455:名無しさん@お腹いっぱい。
11/12/09 01:55:05.09 Er3abYKP0
fib 画像
あたりでググる

456:名無しさん@お腹いっぱい。
11/12/09 08:47:52.58 x34wE5u90
ふぃ・・ fib・・・。

457:名無しさん@お腹いっぱい。
11/12/09 09:01:27.94 2M+DX9BjO
ありがとうございます
後で調べてみます

458:名無しさん@お腹いっぱい。
11/12/09 14:03:10.70 ZN2u4Le30
ifb chkimg("画像")
  btn(left, 0, g_img_x, g_img_y)
endif

いずれかっていう条件には当てはまらないけど
こんな感じのを画像ごとに3つ並べて外側をループで囲むってのはだめ?

459:名無しさん@お腹いっぱい。
11/12/09 16:16:35.81 2M+DX9BjO
ありがとうございます
帰ったら頑張ってみます!


460:名無しさん@お腹いっぱい。
11/12/09 19:48:48.34 aqF2OxRBi
fibとか恥ずかしすぎるミスしてたのかw

ifib 画像1
btn
else
ifb 画像2
btn
else
ifb 画像3
btn
endif

みたいな形でもいける
外出中なもんで、スペルは忘れた

461:名無しさん@お腹いっぱい。
11/12/09 20:47:35.57 7jOegEp80
素直にelseif
ifb chkimg(画像1)
btn
elseif chkimg(画像2)
btn
elseif chkimg(画像3)
btn
endif

それとも1行で
if chkimg(画像1) or chkimg(画像2) or chkimg(画像3) then btn

if使わずにやるとか
repeat
until chkimg(画像1) or chkimg(画像2) or chkimg(画像3)
btn

462:名無しさん@お腹いっぱい。
11/12/09 21:20:12.57 23JtmXTV0
orで繋ぐのは無用に重くなるんであんまりよくない。

見た目はいいけどね。

463:名無しさん@お腹いっぱい。
11/12/09 22:44:07.82 rc66RbfO0
>>462
先頭からどれか一つ真になった段階で残りは打ち切らなかったっけ

464:名無しさん@お腹いっぱい。
11/12/09 23:28:22.54 VPRYh0W+0
>>463
dim i = 1
print "start"
ifb i=1 or test1() or test2() = 1 or 1 or test3()
print "ifb実行"
elseif test4()
print "elseif実行"
endif

FUNCTION test1()
print "test1開始";sleep(5)
RESULT=1
print "test1終了"
fend
FUNCTION test2()
print "test2開始";sleep(5)
RESULT=1
print "test2終了"
fend
FUNCTION test3()
print "test3開始";sleep(5)
RESULT=1
print "test3終了"
fend
FUNCTION test4()
print "test4開始";sleep(5)
RESULT=1
print "test4終了"
fend

465:459
11/12/10 02:36:04.03 GmQNgHM/O
皆さんありがとうございます
たぶん思ってたものが出来たと思います(まだちゃんと動作検証してない)
PCが規制で書き込めないので書いたスクリプトは張れませんが
大変助かりました
ありがとうございました

466:名無しさん@お腹いっぱい。
11/12/10 15:04:07.85 U+5trVSR0
どこで聞けばいいのか分からず質問させていただきます

数ヶ月前より今まで使えてたUWSCマクロが動かなくなりました
原因を調べてみるためマクロが動かなくなったソフト(MMO)で「記録」をしてみると
クリック、キータイプ、マウス移動もすべて無視されます
唯一ウィンドウ(ウィンドウ表示状態)だけはアクティブにしてくれるのですが…

これはソフト側が対策をした、という事なのでしょうか?

以前もこのソフトに関しては何度か動かないときがあったのですが(アプ
デ後など)しばらくすると問題なく動いていたのでスルーしていたのですが
今回は長く、困っております

いくら調べても同じ症状の記事を見つけられず質問させていただきました
誘導、もしくは対策方法をご存知の方お願いします

467:名無しさん@お腹いっぱい。
11/12/10 15:05:49.95 U+5trVSR0
追記…
記録するとマウス移動のみ記録されます
それを実行するとマウス移動も無視されます

468:名無しさん@お腹いっぱい。
11/12/10 15:11:39.37 uLuBvpem0
>>466
対策です。無理です。
ゲームバランスを著しく崩す行為ですので。

469:名無しさん@お腹いっぱい。
11/12/10 15:36:21.80 gk5IrJE70
将棋のようなシミュレーションゲームができないか考えてるんだけど、
コマの画像を表示するソフトってない?
MSペイントだとタイトルバーなんかが表示されちゃうんで具合がよくない。
画像のみを出せる方法ないかなあ

470:463
11/12/10 18:25:26.87 nbVIkp880
>>464THX
あれま!全部展開しちゃうのね

471:名無しさん@お腹いっぱい。
11/12/11 21:43:50.57 WnzszzJo0
ちょっとスレ違い気味かもしれませんが有識者がいるかもしれないので質問です
ネトゲにてUWSCで解像度を変更したい&しています
別ゲと同時起動して放置してるのですが、その別ゲではUWSCに反応して蔵落ちしてしまう為
途中で何度も解像度を上げ下げする事ができません
UWSC以外でこのようなソフトの解像度を強制的に変更できるようなソフトに心当たりないでしょうか?
調べても大抵がデスクトップの解像度をソフト起動に合わせて変更する、といったものしか見つかりません
もしご存知の方いたら教えて頂ければと思います

472:名無しさん@お腹いっぱい。
11/12/11 21:59:18.37 WnzszzJo0
すいません、総合質問スレがあったようなのでそちらにします
お騒がせしました

473:名無しさん@お腹いっぱい。
11/12/11 22:00:14.63 H1OHK6kK0
>>471
完全にスレチじゃねえか
どういう調べ方したかしらんが
某ソフトウェア配布サイトで簡単に見つかったぞ

これだからネトゲ厨は嫌われるんだよ

474:名無しさん@お腹いっぱい。
11/12/12 11:49:24.79 LLfHzM0m0
という、どーでもいいレスはいらない。

475:名無しさん@お腹いっぱい。
11/12/12 11:52:22.05 0Qh5xo870
あと。基礎も分からないミジンコ消えろとかいう自称上級者の煽り

ホントどうでもいい

476:名無しさん@お腹いっぱい。
11/12/12 14:39:42.44 QSkZKBfS0
単純に基礎からやってる奴には文句は言わんが
身の丈に合わんことやろうとしてる奴は帰れと言うしかないな。

基礎も知らずに他人のスクリプト弄ろうとしてる奴とか。

477:名無しさん@お腹いっぱい。
11/12/12 15:23:07.76 qh83xYfTi
>>476
まぁ、他人の書いたものを弄り倒す事こそ基礎だがな。
…諦めが早くて、弄る事すら碌にやってないと嫌な感じがするけど。

478:名無しさん@お腹いっぱい。
11/12/12 17:09:25.82 iqcxK7k90
基礎ってのはヘルプを読むことだよ。
ヘルプを読むという手段を知らないかのような質問が多いでしょ?

479:名無しさん@お腹いっぱい。
11/12/13 13:06:06.94 sE7+c6RB0
ちょっと教えて
exe化させるときにアイコンつけたいんですが
iconのフォーマットは何にすればいい?

32x32で24bit 256色 16色のbitmapやったらどれもアイコン無しになりました

480:名無しさん@お腹いっぱい。
11/12/13 13:46:38.73 sE7+c6RB0
ちょっと教えて
exe化させるときにアイコンつけたいんですが
iconのフォーマットは何にすればいい?

32x32で24bit 256色 16色のbitmapやったらどれもアイコン無しになりました

481:名無しさん@お腹いっぱい。
11/12/13 14:30:48.47 q6rbmKTK0
当然 .ico だと思うが…
しかもそんなに人いるスレとは思えないから、そんなに催促しても…

482:名無しさん@お腹いっぱい。
11/12/14 00:25:47.32 4KmcA0Gj0
てs

483:名無しさん@お腹いっぱい。
11/12/14 00:26:08.69 4KmcA0Gj0
てs

484:名無しさん@お腹いっぱい。
11/12/14 00:27:58.64 4KmcA0Gj0
ごめん、>>479-483まで大連投になってた
うちの専ブラちゃんがごきげんななめで

485:名無しさん@お腹いっぱい。
11/12/14 21:18:02.96 DWtKm/tg0
スレチすみません。
Rocketmouseの試用版をインストしたんですが、
ブラウザとかアプリでは使用できないんですか?なにも記録されないんですが・・
デスクトップとかでは記録されます。

486:名無しさん@お腹いっぱい。
11/12/14 22:50:47.50 m7BSWjf60
>>485
死ね

487:名無しさん@お腹いっぱい。
11/12/16 02:30:50.74 Tapsec3+0
OSがWindows7 Home Premiumなんだが、Windows Update来てたのでUpしたら、
Up前に問題なく動作していたスクリプトに不具合が出てしまった。
CHKIMGで認識しなくなったbmpが幾つか出るようになってしまった。
しかし認識してるのもある。

同じような現象になった人、いないかい?

488:名無しさん@お腹いっぱい。
11/12/16 19:36:03.31 ri1vScOh0
だれか uwscでネットから日付取得する
サンプルを貼ってくれないか?

既にどこかで公開されてるならURL頼みます
探してもみつからん・・・

489:名無しさん@お腹いっぱい。
11/12/16 20:24:54.36 xuIXTQf10
実際探してないのに探したといってクレクレする落ち

490:名無しさん@お腹いっぱい。
11/12/16 20:26:51.58 sQzoSKAq0
>>488
そりゃ普通に誰も必要ないからだろう
NTPで定期的に同期させたPCの時計から取得すればいいだけ

491:名無しさん@お腹いっぱい。
11/12/16 20:46:38.25 Fc1rMtya0
>>488
w32tm /resync


492:名無しさん@お腹いっぱい。
11/12/16 21:24:44.62 9c+dE5Hn0
ネットから正確な日時取得したところでUWSC内部で誤差出まくり

493:名無しさん@お腹いっぱい。
11/12/16 22:41:13.40 /M9h7KE90
サンプルってなんだよ。
誤魔化すな

494:名無しさん@お腹いっぱい。
11/12/16 23:48:10.13 ri1vScOh0
>>491
ありがとう できました

>>490
必要か必要でないかは作成者が決める訳で
>>490ではないと思うよ

俺が頭悪いから >>490に教えて欲しいんだが
uwscでexe作って それを知り合いに配布し
たとえば2011/12/20になったら起動不可に
したい場合どうすればいい?

PCから取得する方法だと時刻を過去に設定すれば
すり抜けられるし、設定ファイルやRegに書き込んでも
変更されたら終わる

>>NTPで定期的に同期させたPCの時計から取得すればいいだけ
この方法で 解決策を教えてくれ


495:名無しさん@お腹いっぱい。
11/12/17 00:00:48.17 nqYwVW070
知り合いなら単に使うなって言えばいいじゃん。

PC時計をずらしてまで使うようなある意味敵対的な奴が
要ネット接続な怪しいアプリ使うのか?

そういうのは知り合いって言うのか?

496:名無しさん@お腹いっぱい。
11/12/17 00:27:07.77 4KHeaRRE0
もう子供ばっかりで話にならんわ

問題定義のすり替えばかりで
俺の質問の意味わかってるのか?

使うなっていって終わりってw
プログラムじゃないだろうよ

いちいち人にプログラム渡すときに
このボタンは押さないでくれ 数字は10以上入力しないでくれって
いうのか?
そんなPG会社でようくばらんわ
PC系の処理と人間系の処理の意味を間違えてるぞ
もういいわ

教えてくれた人ありがと

497:名無しさん@お腹いっぱい。
11/12/17 01:04:06.76 PM1mb5GZ0
時刻設定を変えてまですり抜けようとする人が
ネットからの取得だとすり抜けようとしない前提なの?

498:名無しさん@お腹いっぱい。
11/12/17 03:59:37.24 jHIgOVaa0
教えてくれないからって癇癪起こすお子様が現れたと聞いて
ああ、もう冬休みはじまったんだな

499:名無しさん@お腹いっぱい。
11/12/17 04:03:02.55 nqYwVW070
会社でシステム時間を変えて使うとかそっちの方があり得ないだろ…

それにw32tmはシステム時間を変更するってことだぞ。
変更されたものを戻すという事だが
勝手に変更するという意味ではこっちも正直あり得ない。

嘘ばかり言ってないで正直にアングラスクリプトだと言えよw

500:名無しさん@お腹いっぱい。
11/12/17 17:29:04.00 Ai4+vIJ/0
起動時に毎回現在時刻を取得とか発想が馬鹿なんだよ
発想の転換をしたほうがいいね

501:名無しさん@お腹いっぱい。
11/12/18 05:09:29.05 Fplu3OFa0
>>494がやりたいのはサンプル渡して金もらって制限解除だろ。
それも割りと少人数で。
しかもそれがUWSCのスクリプト。

ゲームマクロでは取り込み詐欺が横行してるからそれくらいは基本だろう。

>>495
知り合いっていうのはコミュニティの仲間ってことだろ。
で、マクロとかチートとかを普通にやってて、
マルチ起動のために改造したり仮想マシン使ってたりするので
時刻操作は回避の基本。
そういう相手だからネットでの確認したいわけだろう。

ただ、チートやってるやつは鯖の偽装とかもすぐにできるわけで、
確実に防げるわけではない。


502:名無しさん@お腹いっぱい。
11/12/18 05:17:49.71 Utw2rQbj0
要約するとゲームマクロ用なので教える必要はない

503:名無しさん@お腹いっぱい。
11/12/18 23:01:17.29 9PP8Icls0
たとえゲームマクロに使うんだろうなと思えるものであっても
まともな姿勢での質問であれば普通に対応するけどね。

手法の相談とかならともかく、最初から「サンプル貼ってくれ」で始まって
欲しいものがもらえないと大暴れするなどという態度では
むしろこちらが批判以外の反応を封じられた気分だ。

504:名無しさん@お腹いっぱい。
11/12/19 00:00:44.20 NugiaTsc0
上のほう見るとまともな態度での質問も普通に対応されてないけどな
口だけ達者な自称上級者はこれだから困る

505:名無しさん@お腹いっぱい。
11/12/19 01:10:49.75 BPS3o4Nh0
>>504
上のほうの対応は別人なんだろ

506:名無しさん@お腹いっぱい。
11/12/19 01:13:52.96 RKJ+Ra9m0
>>504
たとえばどれ? 別に返事する義務があるわけじゃないんだから
まともな姿勢なら批判しないってだけで興味が持てなければスルーするよ。
それに上級者を自称してる人なんて見当たらないような。
あと態度じゃなくて姿勢ね。丁寧で礼儀正しくてもスレ違いとかは相手したくない。

507:名無しさん@お腹いっぱい。
11/12/19 04:00:36.28 C9RAxiSh0
threadで動かしている関数から全体の動作を一時的に停止させることって出来ますか?
msgbox等を出せばメインの動作は止まるようなのですが
別のthreadで動かしている物は動作を続けてしまうのです。

508:名無しさん@お腹いっぱい。
11/12/19 10:45:52.90 klJAM/PD0
>>507
公式でtread間はpublic変数でフラグ建ててやるしかないとの回答だった気がス

509:名無しさん@お腹いっぱい。
11/12/19 12:05:07.57 PcTGdR3Q0
>>504
口調だけを繕って内容が伴っていない慇懃無礼な質問ばかりだろ。

口調はどうでもいいんだよ。馴れ馴れしくったって別にいい。

いくら礼儀正しくてもヘルプの目次すら読んでないのが明白な質問は論外だ。

510:名無しさん@お腹いっぱい。
11/12/19 12:17:51.25 Sk7crL9/0
>>506
スルーなんてしないでケチばっかつけてるよ
スルーするのならまだいいよ

511:名無しさん@お腹いっぱい。
11/12/19 12:41:04.90 RKJ+Ra9m0
>>510
だからその、まともな質問なのに答えてもらえず批判だけ浴びたってのはどれ?

512:名無しさん@お腹いっぱい。
11/12/19 14:08:39.22 hBy+rubn0
どれも何も大半じゃねーかよ
読み返せば分かることを何故聞く訳?

513:名無しさん@お腹いっぱい。
11/12/19 14:25:42.45 PcTGdR3Q0
具体的に挙げろって言われてるんだからその大半とやらを全部挙げればいいだろ。

ただしその大半が内容の伴ってない上辺を取り繕った質問ばかりと思うがな。

514:名無しさん@お腹いっぱい。
11/12/19 15:26:08.08 C9RAxiSh0
>>508
そうですか、ゴリ推し気味にやるしかないんですね。
少し試してみます。ありがとうございました

515:名無しさん@お腹いっぱい。
11/12/19 15:57:41.38 RKJ+Ra9m0
>>512
読み返した上で訊いたんだけど・・・
このスレには見当たらないような気がするけど
もしかしてネットゲーム系の板での話とか?

516:名無しさん@お腹いっぱい。
11/12/19 16:07:24.84 PcTGdR3Q0
大半とか言ってる奴はヘルプ見ないのが当然とか思ってる奴だろうよ。

517:名無しさん@お腹いっぱい。
11/12/20 11:17:50.46 I1z01qMJ0
質問なんですが最近PC買い換えて7のhomepremiumにしたんですが
とあるゲームでクリックやボタンを押すなどがちゃんと記憶できないんですがどうすれば直りますか?
動きを保存して内容みてもクリックやボタンの記憶がまったくされず直接かいてもちゃんと働いてくれません


518:名無しさん@お腹いっぱい。
11/12/20 14:17:50.80 9BdOu7Tu0
それだけで答えられたらエスパー

519:名無しさん@お腹いっぱい。
11/12/20 16:10:59.02 T/BCmLqV0
>>517
winXPでは適用されてなかったゲームガードの機能が
win7で100%発揮されるようになっただけ。
XPのCD無いなら諦めろ
アルならほかで聞け

520:名無しさん@お腹いっぱい。
11/12/20 19:46:41.73 H5HZ6kUT0
>>517
エスパーじゃなくてもわかるわこんなの
どうせ、C:\Program Filesとかセキュリティが固い場所に置いたんだろ
Cドライブ直下などにuwscが入ったフォルダを丸ごと移動して使え

521:名無しさん@お腹いっぱい。
11/12/21 03:15:05.27 LO2wcSaY0
>>519>>520
ありがとうございます
>>518
エスパーいっぱいいましたね^^

522:名無しさん@お腹いっぱい。
11/12/21 05:51:42.80 NbTFmBvw0
>>521
いっぱいいましたね^^ じゃねえよ 死ね


って言われる、に1票

523:名無しさん@お腹いっぱい。
11/12/21 06:40:55.92 Cgjt+c0r0
必死だな

524:名無しさん@お腹いっぱい。
11/12/21 10:13:41.81 S1DG2PXK0
お礼だけ言えばいいのになんで無駄に煽るのか

525:名無しさん@お腹いっぱい。
11/12/21 10:25:39.40 m0guMmLf0
CHKIMGで画像Aが見つかったならばAを押しさらにBを探してBを押す
もし見つからなければCを探してCを押すというのを作りたいのですが
どうやったらいいのでしょうか

今は
ifb chkimg A
btn A
else chkimg C
endif

ifb chkimg B
btn B

とやっていますが出来れば↓のようにしたいのです

ifb chkimg A
btn A
(ここでBのチェックして押す)
else chkimg C
endif

ご教授いただければ幸いです

526:名無しさん@お腹いっぱい。
11/12/21 11:36:34.51 S1DG2PXK0
ifb chkimg A
  btn A

  ifb chkimg B
    btn B
  endif

elseif chkimg C
  btn C
endif

527:名無しさん@お腹いっぱい。
11/12/21 12:43:54.12 NbTFmBvw0
説明がわかりにくい。
「もし見つからなければ」というのは、何が見つからなければ、なの?
「Aが見つかって、Bが見つからない場合」なのか、
「Aが見つからない場合」なのか。

528:名無しさん@お腹いっぱい。
11/12/21 13:02:01.61 NbTFmBvw0
ってもう答出てたか。

529:名無しさん@お腹いっぱい。
11/12/21 16:48:52.24 m0guMmLf0
>>526
なるほど
ifbは多重構造にしてよかったんですね
ありがとうございます

530:名無しさん@お腹いっぱい。
11/12/22 02:46:07.38 oB/5ab+H0
>>529
ifbに限らずブロック構文はどれも入れ子にできるよ

531:名無しさん@お腹いっぱい。
11/12/23 15:34:17.66 1OKZjyw+0
これってオブジェクト指向なコードは書けますか?

532:名無しさん@お腹いっぱい。
11/12/23 16:03:58.96 dSurOrrj0
>>531
継承が出来ない、インスタンスが作れない
メソッドっぽくは書ける

オブジェクト指向とは言えないだろう

533:名無しさん@お腹いっぱい。
11/12/24 12:42:20.87 gANYDDcZ0
アプリケーションの制御を行う際に、アイテム名が分からない場合には、
どのような方法で調べれば良いのでしょうか?
UWSCの誘惑さんのところにあった、UWSCコードの断片生成器は
使用させていただいたのですが、他の方法はありますでしょうか?

UWSCコードの断片生成器の結果では、アクセシビリティ用
インターフェース経由のクリック対象に出てくるのですが、
残念ながらクリックできず・・・
→クリック出来るものとできないものがあった

よろしくお願いします。

534:名無しさん@お腹いっぱい。
11/12/24 12:53:56.47 hLnvb5FH0
>>533
getitemで出てくるものしか触れません。
getitemで総当りして、さらに総当りでクリックしてみる等の試行錯誤が必要です。

また、クリックできないものも当然ありますので、諦めることも必要です。

535:名無しさん@お腹いっぱい。
11/12/24 13:22:26.12 01nBE9J50
ここでこれを出すのもなんだが、AutoItのWindow Spyを使ってみるのも。

536:名無しさん@お腹いっぱい。
11/12/24 13:56:06.30 gANYDDcZ0
>>534
やはりそうですよね。getitemのmenuは何も出ずに、全てACCのようで・・・
諦めも重要ですね。ショートカットキーで対応できるのでそちらを検討します。

>>535
使ったことがありませんが、調べてみます。

537:名無しさん@お腹いっぱい。
11/12/24 19:11:13.99 AG3yzZVv0
最近覚え始めた初心者なので分からないことがあるんですが
peekcolorを使ってx,y座標にある色が黄っぽい色のとき○○をしてそれ以外なら何もしないというのを
作ろうとしているのですが、書き方が分かりません。
黄色っぽい色の範囲のもたせかたと書き方を教えてもらえるとうれしいです。

538:名無しさん@お腹いっぱい。
11/12/24 20:34:19.56 01nBE9J50
あいまいさを表現するのはかなり難しい

539:名無しさん@お腹いっぱい。
11/12/24 21:11:59.55 VzVtDYcp0
そもそも「黄色っぽい」ってのを数値化出来ないと難しいと思う

540:名無しさん@お腹いっぱい。
11/12/24 21:16:02.16 CitwLENG0
>>537
RGBで、
RとGが一定以上
Bが一定以下

これでいけないかな

541:名無しさん@お腹いっぱい。
11/12/24 21:41:29.85 Ps1enNt30
これ画像認識ってどうやってるんですかね
理屈分からず使ってますけど
空きスペースに動画いくつか開いてても
一瞬で見つけて処理するのが凄いと思いました

542:名無しさん@お腹いっぱい。
11/12/24 23:16:30.33 AG3yzZVv0
>>540
ありがとうございます
頑張ってみます

543:名無しさん@お腹いっぱい。
11/12/25 17:04:38.72 1fGjbCou0
よくあるクリックしてチェックを入れるタイプのアンケートに使いたいのですが、「○」みたいなチェック欄がitmとして認識できず困っています
チェック欄の横に文章を用意し、chkimgで検索しクリックしようとしたのですがうまくいかず…

検索した画像の特定部分をクリックさせることって可能でしょうか

544:名無しさん@お腹いっぱい。
11/12/25 17:33:41.81 J3zF71cl0
可能ですよ

545:名無しさん@お腹いっぱい。
11/12/25 17:46:08.25 1fGjbCou0
>>544
ありがとうございます
もっと探して試してみます

546:名無しさん@お腹いっぱい。
11/12/25 18:05:17.94 xl8mpuTT0
>>543
向こう側としてはまず歓迎できないと思うけど

どっかに自動ツール使用は発見次第ポイント没収とか書いてあるんじゃ無いの?

547:名無しさん@お腹いっぱい。
11/12/25 18:12:21.27 1fGjbCou0
>>546
アンケート設置者も私です
紙媒体で行った分をまとめるのに、また今後のために可能であればつくってみようと取り掛かっている次第です
手入力ですとミスの可能性が捨てきれないので


548:名無しさん@お腹いっぱい。
11/12/25 23:44:36.89 av9xjben0
>>547
アンケート側でもうちょっと上手い実装しろよw

549:名無しさん@お腹いっぱい。
11/12/26 13:19:59.80 y2k2lsFM0
このスレって本当にちゃんとした態度ならアドバイスくれる人と単に茶化すだけの人が分かれるね
>>548もそうだけど単に言うだけなら誰でも出来る。そう思うならちゃんと例を示して指摘してみろと言いたい
仮に設置するアンケートがパソコン使えない高齢者だったり障害持ってる人だったらどうするんだと
まぁ色んな可能性を考慮できないから例も示せないんだろうけどね

550:名無しさん@お腹いっぱい。
11/12/26 14:50:34.64 6fGFBX1+0
年賀状の印刷しようとEP901Aを起動したらガタガタいってハガキを吸い込まなくなった
よりによってこの時期にストライキかてめえコノヤロウ
手書き年賀状なんてやってられねーんだよ

551:名無しさん@お腹いっぱい。
11/12/26 14:51:16.39 6fGFBX1+0
あぁスマン誤爆した

552:名無しさん@お腹いっぱい。
11/12/26 16:41:49.59 sFw9d3YC0
>>550
誤爆なんだろうが、俺もちょっと不安になってきた。
去年はインクが固化して印刷できなかったんだよね…ちょっとチェックするか

553:名無しさん@お腹いっぱい。
11/12/29 09:50:57.63 Mj80iSIF0
どんなにググっても原因が見つからなかったので、ここで質問させて下さい
whileを入れ子にすると、ループ処理が上手く行かないんです

dim g = 0

while true
 処理 1
  ifb a = 50
   Sound("beep")
   g = 1
  endif

  while g = 1
   処理2
   If GetKeyState(Vk_C) then g = 0
  wend

wend

というスクリプトなのですが、while g = 1がループする時としない時があります

・ループする時は、処理2の実行を繰り返す
・ループしない時は、処理2の実行を1回だけ実行して、Cキーを押していないのにループを抜けて処理1を繰り返す

スクリプトの内容はまったく変えていません
原因をご存知の方が居ましたら、対策方法を教えて頂けないでしょうか

554:名無しさん@お腹いっぱい。
11/12/29 10:19:13.33 EVCP5Wph0
>>553
GetKeyState のループは、ループを抜けた直後にテストすると前回の結果が残ってる場合がある。
GetKeyStateが繰り返される場合は、処理を分岐する前にSleepを入れる必要がある。

If GetKeyState(Vk_C) then g = 0
ifb a = 50
g = 1
while g = 1
If GetKeyState(Vk_C) then g = 0

↑の順番で実行されるときに前回の結果が残ってて抜けちゃう。
GetKeyState~GetKeyStateの間のどこかで、0.5秒~1秒くらいの休みが必要。
ただし、キーを長く押すとSleepを入れても引っかかる。
それをキャンセルしたかったら自分でKBDを送信して上書きするとかが必要。


もっとスマートに解決するなら、キー入力イベントを使うといいよ。
そしたら長く押すとかSleepとか関係なくなる。


555:名無しさん@お腹いっぱい。
11/12/29 13:20:13.80 Mj80iSIF0
>>554
目から鱗です!
確かにキー入力を使った時に現象が多発していました。
早速キー入力イベントを使ってみます。
本当にありがとうございます!

556:名無しさん@お腹いっぱい。
11/12/30 00:47:23.05 L6jbcesv0
横から聞くけどキー入力イベントってなんぞ?
GetKeyState以外でキー感知できるのか
WinAPIかなにかなのかな

557:名無しさん@お腹いっぱい。
12/01/03 07:34:35.82 PHgd+EtO0
将棋板の升目のように配置された図形がありそのすべてを中クリックし、
次のページがあれば次のページへ移り、次へがなければ終了というものを作成途中です。
以下のマクロですと横一列をクリックして、たて一列をクリックして次のページに行ってしまうのですが、
どこを改良すればよいかアドバイスお願いします。


sleep(5)

//続ける
if GETKEYSTATE(VK_ESC) then exit // ESCキーを押すと終了させる

while true

//座標(0,X)から右(3840,3200)の範囲
X=0
while CHKIMG("枠_01.bmp",-1,X,0,3840,3200)//画像があればループ
//画像の左上端から30px右、30px下の座標をクリックする
BTN(MIDDLE,CLICK,G_IMG_X+30,G_IMG_Y+30,3)
X = G_IMG_X+1
sleep(1)
wend

Y=0
while CHKIMG("枠_01.bmp",-1,0,Y,3840,3200)//画像があればループ
//画像の左上端から30px右、30px下の座標をクリックする
BTN(MIDDLE,CLICK,G_IMG_X+30,G_IMG_Y+30,3)
Y = G_IMG_Y+1
sleep(1)
wend


558:名無しさん@お腹いっぱい。
12/01/03 07:35:23.52 PHgd+EtO0
KBD(VK_BACK,CLICK,100) //BS
sleep(1)

KBD(VK_BACK,CLICK,100) //BS
sleep(1)

//次へがなければページ送り
ifb CHKIMG("枠_01.bmp",-1,0,Y,3840,3200) = false then
KBD(VK_NEXT,CLICK,100) //PAGEDOWN
sleep(1)
Y=0
endif

ifb CHKIMG("次へ_01.bmp",-1,0,Y,3840,3200) = false then//範囲内に次へ_01.bmpが無ければ
//次へがあったらクリックする
ifb CHKIMG("枠_01.bmp",-1,0,Y,3840,3200) then
//画像の左上端から30px右、30px下の座標をクリックする
BTN(MIDDLE,CLICK,G_IMG_X+30,G_IMG_Y+30,3)
sleep(2)
else
//次へがなければ終了する
exit//終了
exit//終了
endif
endif

wend

559:名無しさん@お腹いっぱい。
12/01/03 10:04:53.44 skFAmUgc0
>>557
XとYをまとめてこんな感じにするとか
if条件の3840は画像の幅の分減らさないとだめだろうけど

X=0
Y=0
while CHKIMG("枠_01.bmp",-1,X,Y,3840,3200)//画像があればループ
//画像の左上端から30px右、30px下の座標をクリックする
BTN(MIDDLE,CLICK,G_IMG_X+30,G_IMG_Y+30,3)
X = G_IMG_X+1
ifb X > 3840
X = 0
Y = G_IMG_Y+1
endif
sleep(1)
wend

560:名無しさん@お腹いっぱい。
12/01/03 10:25:48.10 0XuzNx4L0
>>559 でいいと思うけど普通に二重forループにすればもっと簡潔に書けるな。

561:名無しさん@お腹いっぱい。
12/01/03 10:51:43.21 skFAmUgc0
っていうかこれでいいのでは

n = CHKIMG("枠_01.bmp",-1,0,0,3840,3200,-1)
for i = 0 to n-1
BTN(MIDDLE,CLICK,ALL_IMG_X[i]+30,ALL_IMG_Y[i]+30,3)
sleep(1)
next

562:名無しさん@お腹いっぱい。
12/01/03 11:25:10.87 0XuzNx4L0
>>561
ALL_IMG_XとALL_IMG_Yはどこから出てきたんだ

563:名無しさん@お腹いっぱい。
12/01/03 11:28:27.58 bXuTehsY0
>>562
とりあえず最新版のヘルプ位嫁と。

昔はこんなの無かった気がするがな。
chkimgなんか使わんから俺も知らんかった。

564:名無しさん@お腹いっぱい。
12/01/03 12:28:06.64 0XuzNx4L0
>>563
ああなるほど。理解した。ありがとう。
でもall_img_xとall_img_yでうまくいくような画面構成なのかな。
いやよくわからんが。

565:名無しさん@お腹いっぱい。
12/01/06 12:31:16.18 VuDmH/f50
どうにも解決しないので質問させてください。

当たりと外れのリンクが並んでおり、
(1)当たりのリンクを画像で判別
(2)別タブで開く
(3)表示されている当たりリンクをクリックし終えたらスクロール
(4)1から繰り返す
(5)ページ内の当たりリンクを一度ずつクリックし終えたら終了

3と5の処理が解決せず、現状2までの段階でつまづいています。
以下が2までのスクリプトです。

While true
SLEEP(1)
 IFB CHKIMG("atari.bmp") //atari.bmpを検索
  KBD(VK_CTRL,DOWN,10) //別タブで開く
  BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,3)
  KBD(VK_CTRL,UP,10)
 Else
  KBD(VK_NEXT,CLICK,40) //atari.bmpが無ければスクロール
 ENDIF
Wend

どうかアドバイスをお願いいたします。

566:名無しさん@お腹いっぱい。
12/01/06 13:12:51.79 HgkIipKY0
IE叩けばもっときれいにできそうな気がする

567:名無しさん@お腹いっぱい。
12/01/06 18:43:50.67 jkZMFLuo0
0時 1.UWS
3時 2.UWS
6時 3.UWS

翌日
3時 1.UWS
6時 2.UWS
9時 3.UWS

時間をずらしてループさせていく方法教えてください

568:名無しさん@お腹いっぱい。
12/01/06 19:28:28.38 hqV782Fu0
ループ部分だけ、やっつけ回答(検証もしてない)ww

dim interval[2]=10800, 10800, 75600
Time1=gettime()
While true
  for i= 0 to 2
    repeat
      sleep(60)
      Time2=gettime()
    until Time2 - Time1 >= interval[i]
    Time2= Time1
    exec("フルパスuwsc.exe "+i+1+".uws")
  next
wend

569:名無しさん@お腹いっぱい。
12/01/07 12:16:14.80 86C9Ij5x0
ファイルの中身を全消去したいと思っています。
下記のように書きましたが、動きません・・・
どこがおかしいでしょうか?
よろしくお願いします。

fid = FOPEN("C:\log.txt", F_READ or F_WRITE)
For line = 1 to FGET(fid,-1)
FDELLINE(fid,line)
Next
FCLOSE(fid)
EXITEXIT

570:名無しさん@お腹いっぱい。
12/01/07 12:26:01.76 OMSuV0AE0
>>569
ヘルプによると
>F_WRITE      // 書き専用モード(既にファイルがあれば前の情報は消去)

モードにF_READいらないんじゃない?
開いて閉じるだけ。

571:名無しさん@お腹いっぱい。
12/01/07 13:07:06.89 86C9Ij5x0
>>570
F_READを消したらうまくいきました!
ありがとうございます!!

572:名無しさん@お腹いっぱい。
12/01/08 10:50:37.63 Rn7jJzWy0
ブラウザ開いて画面をスクロールしたいと考えていますが
最後のスクロールだけできません。
間違いを教えていただけないでしょうか?

Dim ObjIE = CreateOleObj("InternetExplorer.Application")
ObjIE.Visible = True
ObjIE.Navigate("URLリンク(www.yahoo.co.jp)")
Repeat
  Sleep(0.2)
Until !ObjIE.Busy and ObjIE.ReadyState = 4 // IEの表示待ち
 
TITLE = GETID("yahoo")
CTRLWIN(TITLE, ACTIVATE)
CTRLWIN(TITLE, MAX)

Sleep(0.2)

KBD(VK_NEXT,CLICK,3) //PAGEDOWN

573:名無しさん@お腹いっぱい。
12/01/08 14:08:57.12 pCt01lqC0
>>572
書いてある操作を実際に自分の手作業でやってみろよ。
なぜだかわかる。

574:572
12/01/08 16:33:48.81 Rn7jJzWy0
>>573
レスサンクス。
手作業でも同じ事象になるのは理解しました。
ページクリックすればPAGEDOWNする。
ページクリック=アクティブにするって事・・・じゃなくて?

575:名無しさん@お腹いっぱい。
12/01/08 16:58:41.85 479QIulh0
わからない事がわからない…
そんな時代もありました。

576:名無しさん@お腹いっぱい。
12/01/08 20:34:18.47 aKLGGiFU0
>>572
PageDown キー押下をクライアント領域一つ分下にスクロールさせる事と解釈した場合

OPTION EXPLICIT
OPTION SHORTCIRCUIT

DIM ie = CREATEOLEOBJ("InternetExplorer.Application")
ie.Visible = TRUE
ie.Navigate("URLリンク(www.yahoo.co.jp)")

REPEAT
  SLEEP(0.2)
UNTIL !ie.Busy AND ie.ReadyState = 4

DIM document = ie.Document
DIM h = document.documentElement.clientHeight

document.parentWindow.scrollBy(0, h * 3)


scrollBy メソッドの詳細は以下
URLリンク(msdn.microsoft.com)

577:名無しさん@お腹いっぱい。
12/01/08 20:42:08.41 aKLGGiFU0
>>576 訂正します
クライアント領域一つ分下に
  => クライアント領域の高さ一つ分下に

また KBD 関数の第三引数を回数と勘違いしていましたので
document.parentWindow.scrollBy(0, h * 3)
  => document.parentWindow.scrollBy(0, h)
として下さい

まことに申し訳ありませんでした

578:572
12/01/09 05:43:50.93 f0eW8W0qP
>>576-577
ご指導ありがとうございました。
早速、試してみたいと思います。
ありがとうございました!

579:名無しさん@お腹いっぱい。
12/01/10 08:08:39.83 rHvUg0XiO
uwscで現在開いているページのhtmlソースを取得することは出来ますか?
キャッシュの保存場所からの取得を試みたんですがうまくいかなくて。(fgetで1行しか取得出来ない)
なおブラウザはchromeです。何かよい方法はありませんか?


580:名無しさん@お腹いっぱい。
12/01/10 09:00:38.88 oumgSqx8i
>>579
右クリック、ソース表示

uwscはIEのみ割合融通が効く
あとは道が用意されているかで、大半はベタに手作業をやるしかない

581:名無しさん@お腹いっぱい。
12/01/11 03:46:28.70 g75gj0wE0
>>568
さっぱりわからんかったからあきらめた(´・ω・`)

582:名無しさん@お腹いっぱい。
12/01/11 15:24:44.02 m+JsXwWX0
メイン関数内でsleepしてると別スレッドでGETIDした時にやたら時間がかかるんだけど、これは仕様?
メインとスレッドの関係を入れ替えれば問題ないんだけどそれ以外に回避方法ないかな

583:名無しさん@お腹いっぱい。
12/01/11 15:28:03.88 aWCCUq4y0
UWSC初心者なのでサンプルを見ながら応用しているのですが、
伺いたいことがありカキコします。

エクセルのセルA1のURLをIEで開き、ある時間が経ったらA2のURLをIEで開く・・・
そんなプログラムを検討しているのですが、当方エクセルがありません。
そこで、Open Officeで製作したxlsファイルで同様の事ができないかググッているのですが、
なかなか見つかりません。

下記のプログラムを応用したいのですが、Open Officeへ変更できないものでしょうか・・・


EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
Excel.WorkBooks.Open(FileName :="C:\abc.xls")

Excel.Range("A1").select
URL = EXCEL.selection.value

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate(URL)

584:名無しさん@お腹いっぱい。
12/01/11 15:38:50.15 7jlzSH1ui
>>583
エクセルに拘らないなら
テキストファイルの読み出しで良いんじゃない?

585:名無しさん@お腹いっぱい。
12/01/11 16:04:40.34 aWCCUq4y0
>>584
そうですね、その手もあるのですが最終手段で・・・

586:名無しさん@お腹いっぱい。
12/01/11 16:12:21.80 aWCCUq4y0
おそらくOpen Officeのxlsファイルはexecで開くだろうと目星付いているのですが、
そのxlsファイルのA1セルを選択してURLとする関数が分からないんです。
エクセルのサンプルはよく見かけるんですが・・・

587:名無しさん@お腹いっぱい。
12/01/11 16:50:42.40 HGqIT2Nx0
Open OfficeってCOMインターフェイスあるの?
あるなら>>583


588:名無しさん@お腹いっぱい。
12/01/11 16:55:32.60 HGqIT2Nx0
途中で送信しちゃった
COMインターフェイスないなら>>583みたいなCOM経由の操作はできないよ
uwscのgetstrとかで取得してかなきゃダメだとおもう

589:名無しさん@お腹いっぱい。
12/01/11 17:37:55.28 HGqIT2Nx0
ああ
URLリンク(www3.bigcosmic.com)
COM使えるみたい

590:名無しさん@お腹いっぱい。
12/01/12 00:03:51.07 9Jj396OZ0
スクリプトで株の自動注文とか恐ろしい事考える奴いるんだな・・・

591:名無しさん@お腹いっぱい。
12/01/12 10:54:31.82 xBAC4oJN0
>>590
やるなら、API直接叩けるならまだ理解出来る
ブラウザやエクセルの人間的動作を通してなら、不確実過ぎて泣ける

592:名無しさん@お腹いっぱい。
12/01/12 12:46:33.62 nZDoSlf20
>>581
ちょっと見直してみたら間違い発見 スマン
9行目 ×Time2= Time1 -> ○Time1= Time2

というか、このループだと24時間365日PCシャットダウンNGだから実用的でないよw
テキストファイル等にlog落としてやらないと無理だと思う
(UWSCのイニシャルファイルを毎日書き換えるスクリプト書くとか…)


593:名無しさん@お腹いっぱい。
12/01/12 14:26:47.70 BKa5D+cQ0
>>587-589
なるほどですね、ココらへん少し調べてみます。
情報有り難うございます!

594:名無しさん@お腹いっぱい。
12/01/12 23:11:29.95 r8P1bghB0
最新版でもSLIDER関数こわれてない?

595:名無しさん@お腹いっぱい。
12/01/13 07:35:49.49 e/JEGIOK0
>>567
3時間ごとに起動して1日に3時間ずらすなら24時間+3時間の27時間後に再度起動すれば良いよ
スクリプトは適当に組めばいい

596:名無しさん@お腹いっぱい。
12/01/14 02:17:33.07 7l9tSFEA0
ADOを使ってuwscからDBにインサートをかけましたが、
エラーになります。in1を'bbb'など、文字列にすると
DBにインサートをかけることができます。
in1が変数だとエラーになってしまうみたいですが、
何が原因でしょうか?

Dim in1 = "abc"
cn.OPEN()
cn.Execute("INSERT INTO test (test1,test2) values(in1,'aaa');")

597:名無しさん@お腹いっぱい。
12/01/14 09:35:09.72 eeJFKUsa0
文字列の中に変数名を書いてるから

598:名無しさん@お腹いっぱい。
12/01/14 09:41:37.98 7l9tSFEA0
>>597
ご回答ありがとうございます。
cn.Execute("INSERT INTO test (test1,test2) values(in1,'aaa');")を実行
させるには、
cn.Execute("INSERT INTO test (test1,test2) values(" + in1 + ",'aaa');")
とやるしかないでしょうか?

599:名無しさん@お腹いっぱい。
12/01/14 09:42:40.94 eeJFKUsa0
ADOなんてさわったことないからわかんないけど
こうすれば動くのでは?
cn.Execute("INSERT INTO test (test1,test2) values("+in1+",'aaa');")

600:名無しさん@お腹いっぱい。
12/01/14 15:23:08.09 6TClJCPA0
uwscでIEを複数開くとき、一つ一つを新規セッションで開く方法があれば教えてください

601:名無しさん@お腹いっぱい。
12/01/14 15:24:00.25 6TClJCPA0
uwscでIEを複数開くとき、一つ一つを新規セッションで開く方法があれば教えてください

602:名無しさん@お腹いっぱい。
12/01/15 00:41:45.74 nE9VgamT0
comインスタンスをその度生成しろ

603:名無しさん@お腹いっぱい。
12/01/15 01:16:20.39 V/SNJG5u0
>>596
発想がPHPer

604:名無しさん@お腹いっぱい。
12/01/15 10:29:49.46 eKAKYI5K0
ラダーの歩進回路のような
入力Aなら処理1
続いて入力notAなら処理2
続いて入力Bなら処理3
続いて入力notBなら次へ

という感じのを作るのに
各処理をwhile~ if ~elseCONTINUE~endif~wendでやると
すごく長たらしいのですがスッキリできませんか?

605:名無しさん@お腹いっぱい。
12/01/15 12:31:56.88 QrGo7/5p0

「指定した文字の10ピクセル上を左クリック」
うまい方法を教えていただけないでしょうか?

606:605
12/01/15 13:30:10.86 QrGo7/5p0
すいません自己解決しました

607:名無しさん@お腹いっぱい。
12/01/15 16:26:16.85 iv4Sgz2W0
ここ数日マクロ作りにハマって、割と長いのを作ったんだけど、
画像認証が多すぎて、uwscの窓がずっと点滅してる状態なんだけど、長時間ループさせてても大丈夫ですか?

極力sleepを多く入れたんだけど。pcに負担になってるような気がしてちょっと怖い。暴走しそうなオーラが漂っている。


608:名無しさん@お腹いっぱい。
12/01/15 16:36:13.88 vCx4hJnj0
>>607
それぞれの環境・スクリプト・実行時間があるので、実際に試す以外は無いだろう。
制御できる暴走は例外処理と呼ばれるからな。ちゃんとエラーをチェックして対処できるようにしておけよ。

609:名無しさん@お腹いっぱい。
12/01/15 16:59:27.23 kFD794I50
保存押しても保存すべき有効なデータがありませんって表示されるのですがなんででしょうか?


610:名無しさん@お腹いっぱい。
12/01/15 17:41:29.40 xbYnzYrY0
>>609
保存すべき有効なデータがないからじゃね?

611:名無しさん@お腹いっぱい。
12/01/15 20:35:48.49 hkfzc5TE0
>>608
あり^^

いやープログラム作るの楽しいわw

間違いをみつけるのも楽しいし思った通りに動いたときの快感は凄いね。

プログラムって、最初不可能に思えたことでも、粘り強く考えて調べてやってれば、必ず正解に辿り着けるね。

ちょっとでも間違ってたら動いてくれないけどバッチリ作ればその通り動いてくれるところが好き。やりがいがある。

612:名無しさん@お腹いっぱい。
12/01/15 21:54:09.75 GGn+/cHQ0
すげーな。俺なんて

「間違ってる筈無いのに!」←確実に間違ってる

と言う事を悟って尚同じ言葉を繰り返してるぞ

613:名無しさん@お腹いっぱい。
12/01/15 23:55:51.29 MxRh+cwy0
最初は間違ってるか合ってるかわかりやすいんだけど
しばらくやってると合ってるんだけど思い通りには動かないって箇所が出てくるんだよな…

sendstrとかボタンのクリックとか、書いた通りに確実に動くとは限らないってのが
出てくると困る。sendstrの検証とか余計な動作書かなきゃならなくなるのがなんとも。

614:名無しさん@お腹いっぱい。
12/01/16 00:54:02.47 LIA/j70U0
マクロ作り出したばっかりとかプログラムやった事が無い人のために1つ助言をしておいてやろう
「あれ?バグ?」っていう風なおかしな動作を見つけたなら、まずその処理がどんな所にありそうか見当をつける
そして式や処理内容自体を自分が勘違いしてないか確認する
もちろん変数のウォッチはprint文などでチェック
言うまでも無くトレース実行出来る機能があるならそれを使う
そして変数の代入や処理の勘違いも無く全部正常に書き直す作業をする
これだけで驚くほど他のバグが見つかる

615:名無しさん@お腹いっぱい。
12/01/16 01:04:53.01 68a88Ysp0
IEでclkitem関数が同じボタンでも機能する時としない時があるのはなんでなんでしょう
文法は

clkflg = ClkItem(IEid, btn_name, CLK_ACC or CLK_BACK)  //btn_nameのボタンをクリック

であってますよね?同じボタンでもクリックできる時とできない時があります
CLK_BACKを指定すると不安定になるのかしら

616:名無しさん@お腹いっぱい。
12/01/16 02:09:49.92 i+BqAMX70
>>615
ieでなぜにckitem使うのかいな?素朴な疑問…

617:名無しさん@お腹いっぱい。
12/01/16 04:16:02.96 68a88Ysp0
comをほぼ全く把握してないから&別のやつ用のスクリプト流用してるからです^q^
その回答だとcom使ってボタン叩けるってことですよね、面倒だけどMSドキュメント漁ってきます

618:名無しさん@お腹いっぱい。
12/01/16 09:26:47.08 nMIpHxy10
>>567
3時間毎に起動はするけど、
対象外の時間の起動を無効にする処理を入れるとか。

619:名無しさん@お腹いっぱい。
12/01/16 09:38:33.37 OG4ZTORv0
(3時間ごとの時刻生成)+日数×3 mod 24
これでいける。


620:名無しさん@お腹いっぱい。
12/01/17 08:49:01.57 K3OlpIBQ0
>>614に大体賛同だな
あと付け加えるなら処理を行いたいウィンドウがアクティヴになってるか常にチェックを入れておくことかな

621:名無しさん@お腹いっぱい。
12/01/17 17:21:11.31 3FCYgKhU0
>>66
>CTRLWIN(GETID("ウィンドウタイトル"),max,activate)
>とすることで一行で済みました。

こんな書き方って出来るっけ?最初の命令、カンマ以降は利かないようだけど

622:名無しさん@お腹いっぱい。
12/01/18 00:46:22.03 R0g/Jmmn0
ifbに対しendifが無い って今日1日で70回くらい言われた

623:名無しさん@お腹いっぱい。
12/01/18 09:26:32.75 ISISf7Vj0
多分>>66を書いた人は
RestoreかMinimizeかhideのウィンドウがmaxでMaximizeされて同時にアクティブになったのをactivateが利いたんだと勘違いしたんだと思う
元々Maximizeのウィンドウはmaxでアクティブにはならない
そこで作者様に要望、max命令ひとつであらゆるウィンドウをVisibleでアクティブにしてほしいです

624:名無しさん@お腹いっぱい。
12/01/18 12:25:33.22 R0g/Jmmn0
endifが抜けてたのにエラーにならず教えてもらえなかったんだけどこんなことってあるんですか?
そのスクリプトを別のメモ帳にコピペしてやってみたらエラーになって気付いた。
一体なんだったんだ

625:名無しさん@お腹いっぱい。
12/01/18 13:28:59.94 +3/B93vW0
>>624
ツンデレだな

626:名無しさん@お腹いっぱい。
12/01/19 08:05:37.69 /5HHXckmO
uwscってもしかしてノートPC上じゃ動かない?


627:名無しさん@お腹いっぱい。
12/01/19 08:38:02.64 vNYY2dx20
動くが?

628:名無しさん@お腹いっぱい。
12/01/19 11:38:20.48 ApNHow2lP
動かないと思う理由が理解出来ない。
まぁ画面サイズが違うとか、その辺が現実的か。

629:626
12/01/20 07:48:15.93 PlIm9VKvO
すまない
Windows7のノートPC上でマウスの動きを記録してくれないんだ
どうなっているんだろう?


630:名無しさん@お腹いっぱい。
12/01/20 08:02:33.24 jqXYohw30
Windows7のノートPC上で、ネトゲマクロ作ろうとしてるんだけど
マウス操作記録できないわけですね。わかります

631:名無しさん@お腹いっぱい。
12/01/22 17:32:28.60 wwwfNGh70
INPUTBOXをproを購入する前にhtmlで複数窓でFORMを出したい。
↓html
<Form Method='Post'>
入力1:<input type="text" name="aaa" size=50 maxlength=30">

入力2:<input type="text" name="bbb" size=50 maxlength=30">

<input type="button" name="okbtn" value=" OK " onClick=" value='OK終了'">
<input type="button" name="cancelbtn" value="CANCEL" onClick="value='CANCEL終了'">


632:名無しさん@お腹いっぱい。
12/01/22 17:33:57.62 wwwfNGh70
続き
// 以下は実行用スクリプト
IE = CreateOLEObj("InternetExplorer.Application")
IE.Width=600; IE.Height=400; IE.Visible=True
IE.Navigate(GET_CUR_DIR+"\test.html")
while True
  sleep(1)
  ifb IE.document.all["okbtn"].value = "OK終了"
    print "OK"
    print IE.document.all["aaa"].value
    print IE.document.all["bbb"].value
    break
  elseif IE.document.all["cancelbtn"].value = "CANCEL終了"
    print "CANCEL"
    break
  endif
wend
IE.Quit

でCOMエラーがでるんだけど何でだろ?TextBlockでくるんでも同じ。

633:名無しさん@お腹いっぱい。
12/01/22 21:01:59.73 XlS52BHO0
>>632
httpのステータスコードかとおもったが…

>IE.Navigate(GET_CUR_DIR+"\test.html")
これはなんだw ローカルサーバでも立ち上げてるのか
直接ローカルファイル指定するのにしても、プロトコルが違うだろw


634:名無しさん@お腹いっぱい。
12/01/22 21:30:23.45 ZQaDwkbX0
>>631,632
そのままで問題なく動いたよ?

>>633
ローカルファイルを開くだけなのに?

635:名無しさん@お腹いっぱい。
12/01/22 23:29:31.15 x467cUIP0
>>633
プロトコルとか関係なくね?
そのままローカル開くようにIEが操作するだろ
インターネットもファイルの1つだし

636:名無しさん@お腹いっぱい。
12/01/23 08:21:16.46 jRcgnCgt0
textblockってどういう時に役立ちますか?

マニュアルには
複数行にわたる文字列を変数として定義します

とありますが、どういった時に使うんだろう?

637:名無しさん@お腹いっぱい。
12/01/23 12:11:17.97 P0ppPqWG0
num1 = "123<#CR>456<#CR>789"
こういう表記が

TextBlock num1
123
456
789
EndTextBlock
これで済むってことじゃね?

638:名無しさん@お腹いっぱい。
12/01/23 12:25:01.86 Ap6Rkw4u0
ファイルにテキストを書き込む時に
一行毎にFPUTとかで書くんじゃなくて
変数に全部突っ込んだ後に一気に書き込む方が便利。

639:名無しさん@お腹いっぱい。
12/01/23 14:35:37.99 cOA0Xe6m0
631だがまだわかんね・・・・
ifb IE.document.all["okbtn"].value = "OK終了"
でCOMエラー。なんかDOM指定が間違ってんじゃないか。わからん
>>634 UWSCのバージョン何
>>633 URLリンク(nem.symphonic-net.com) 眠たい詩人の説明
   URLリンク(iriyak.adam.ne.jp)
    入谷さんの説明↑わかりやすい
VBSとかINPUT複数までのできなくて人に使わすアプリにできないでしょ。
ここどうしてもクリアしたい。負けたらPRO買う。

640:名無しさん@お腹いっぱい。
12/01/23 18:33:37.73 SDeLihIt0
textblockってコメントアウトのことだと思ってた

641:名無しさん@お腹いっぱい。
12/01/23 18:48:16.87 jRcgnCgt0
>637 >638
ご回答ありがとうございます。理解できました。

642:名無しさん@お腹いっぱい。
12/01/23 23:59:46.34 jRcgnCgt0
random関数で、30以上60未満の間の数をランダムで返す
といったような事はできるんでしょうか?

643:名無しさん@お腹いっぱい。
12/01/24 00:01:52.57 7ZsaPXOq0
>>642
30足せよ

644:名無しさん@お腹いっぱい。
12/01/25 03:52:47.74 9Yzwhwbv0
例も無しか

645:名無しさん@お腹いっぱい。
12/01/25 11:43:56.31 TIuVKniE0
初心者な質問で申し訳無いですが、

1) 手動でカーソルを画面任意の位置へ移動
2) マクロスタート
3) クリック
4) 3)でクリックしたところから、20pix右もクリックする。

こんなマクロを製作したいのですが、

3)クリック+座標を取得
4)取得位置から20pix右をクリック

のような方法しかないのか?もしくは
座標取得せず、3)のクリックした位置から相対的な移動で20pix右をクリック
なんて関数はあるのでしょうか?

説明ベタでスイマセン・・・

646:名無しさん@お腹いっぱい。
12/01/25 17:59:06.69 WBVfYz9r0
ヘルプ見てないなら無い。

647:名無しさん@お腹いっぱい。
12/01/25 18:33:07.06 tYtUBWmf0
既にわかってる座標を取得って意味不明

648:名無しさん@お腹いっぱい。
12/01/25 18:45:20.06 7Vqkyg300
まあ、関数が欲しいというのなら関数にすればいいw

procedure 20ピクセル右をクリック()
btn(left,click,g_mouse_x+20,g_mouse_y)
fend

649:名無しさん@お腹いっぱい。
12/01/26 00:14:42.56 thgzPnCC0
SLCTBOXでSLCT_RDOの項目の3番目以降を選択すると
戻り値が倍倍になります
1番目=1
2番目=2
3番目=4
4番目=8
なんでなん
ret=slctbox(slct_rdo,0,"めっせじ","項目1","項目2","項目3")
msgbox(ret)

650:名無しさん@お腹いっぱい。
12/01/26 00:21:50.90 thgzPnCC0
事故解決

651:名無しさん@お腹いっぱい。
12/01/26 01:08:45.43 JvkQNEuO0
ドラッグ&ドロップでuwscスクリプトに引数としてファイルのパスを渡す方法はありませんか?
batファイルを経由したりすればできるのかな

652:名無しさん@お腹いっぱい。
12/01/26 09:43:19.21 P97r1rGmi
>>651
Drop on Script

653:名無しさん@お腹いっぱい。
12/01/26 10:26:30.83 D3gpwtFS0
>>651
exe化すればできると思う

654:名無しさん@お腹いっぱい。
12/01/26 20:23:04.51 f1OKoD1c0
初心者も初心者なんですが

Repeat
gettime()
    Dim 分 = G_TIME_NN2
    Fukidasi(分)
  Until 分 = 数字

一時間の(数字)分時になったら実行させたいのですが、0~9分の間だけ上手く動きません
数字の前に0を付けるのかな、と思っても無理でした。お願いします。

655:名無しさん@お腹いっぱい。
12/01/26 20:46:51.57 Gj25WtS70
G_TIME_NN2 だと数値じゃなくて数字の文字列になるから
数値が入る G_TIME_NN の方を使うか
NN2を使うなら比較対象側を 分="05"のように文字列にする

656:名無しさん@お腹いっぱい。
12/01/26 21:01:52.59 f1OKoD1c0
>>655
お早いご返答ありがとうございます

657:名無しさん@お腹いっぱい。
12/01/26 21:23:58.67 JvkQNEuO0
>>652
残念ながらもう公開してないみたいでした
URLリンク(iriyak.adam.ne.jp)

>>653
フリー版でお願いします

658:名無しさん@お腹いっぱい。
12/01/26 21:38:30.07 RbLjJf570
uwscproのexe化についてですが
人に渡したとき使用期間に制限はあるのでしょうか
試用版では人に渡しても二週間しか使えなかったので聞きたいです

659:名無しさん@お腹いっぱい。
12/01/26 21:45:10.76 LCGwKAJV0
>>658
死ね低能

660:名無しさん@お腹いっぱい。
12/01/26 21:51:12.53 r8kbvlrQ0
>>657
こいつはそのままググル事も出来ないのか

661:名無しさん@お腹いっぱい。
12/01/26 21:56:18.55 Sqwrmo8K0
人の手を借りなきゃ指一本動かす事の出来ない脳死患者なのさ

662:名無しさん@お腹いっぱい。
12/01/26 21:58:53.32 JvkQNEuO0
>>660
UWSC用の解説ページが消えてるんでどうしようもないです本当

663:名無しさん@お腹いっぱい。
12/01/26 22:05:09.13 r8kbvlrQ0
>>662
解説が無いwwww

紹介されたソフトのヘルプも読まないのかw
引数の説明はUWSCのヘルプに書いてあるし…なんだそれw やばいぞw

664:名無しさん@お腹いっぱい。
12/01/26 22:06:02.90 Sqwrmo8K0
脳が動作停止してる奴にかまうなって

665:名無しさん@お腹いっぱい。
12/01/26 22:31:47.69 ZIpAEbFP0
テキストファイルに、

今日は本屋行った。
明日も本屋に行く。
本は面白い。

といった文章があったとします。
「本屋」を「ほんや」に置換して、テキストファイルに
保存したいと思います。ただし、本屋の前が「も」、本屋の後が「に」
の本屋のみ置換して保存したいと思います。

ファイルを開いて、betweenstr関数とreplace関数で置換
できるのはわかります。その後、「も」本屋「に」の本屋のみ
置換する方法がわかりません。fput、f_alltextだと全て置換を
してしまいますので・・・どのようにしたらよいでしょうか?

666:名無しさん@お腹いっぱい。
12/01/26 22:34:35.56 JvkQNEuO0
>>663
向こうのヘルプは読んだけどさっぱりわからんですたい
uwscのヘルプはキーワードでも検索でも引数の説明引っかからないけどどこにあります?


667:名無しさん@お腹いっぱい。
12/01/26 22:36:23.64 Gj25WtS70
>>665
「も本屋に」 を 「もほんやに」 に置換すればいいだけでは?

668:名無しさん@お腹いっぱい。
12/01/27 00:24:01.42 YK/t6/pR0
もしくはifでもがあるかどうか判定するとか。

669:名無しさん@お腹いっぱい。
12/01/27 10:41:12.21 MBU2weK90
>>666
ヘルプの起動時パラメーターの項目。
バッチファイルで行けるよ。

670:名無しさん@お腹いっぱい。
12/01/27 11:30:01.01 crT0cLRd0
すみません、どなたか教えて下さい。

Windows XPで、複数のプロバイダを設定しています。
「ネットワーク接続」にいくつかの接続先が並んでいて、どれかひとつにだけ繋がっています。

今繋がっているところの通信継続時間を監視して、一定時間が経過したら切断を行うスクリプトを書きたいのです。

671:名無しさん@お腹いっぱい。
12/01/27 11:30:41.89 Ajhc/4650
>>670
書けばいいじゃん

672:670
12/01/27 11:32:07.49 crT0cLRd0
タスクバーにある接続中アイコンをクリックして「状態」ウインドウを出せばよいと思うのですが、困っています。
そのときによって接続中のプロバイダが異なるので、名前で指定することが出来ません。
IMGCHKで接続中アイコンを画像認識するしかないでしょうか。
とにかく現在の接続先の「状態」ウインドウを、ピンポイントで出したいのです。

673:670
12/01/27 11:34:45.17 crT0cLRd0
マウスの座標を用いることはしたくありませんが、例えばキー操作だけで何とかなりますでしょうか。
設定されている接続先の「状態」ウインドウを片っ端から全部開けてみるという総当たりも考えましたが、もっといい方法はありませんでしょうか。
それとも、もっと別の方法(DOSのコマンドを入れるとか)で通信時間の取得や切断の処理ができるものでしょうか。

よろしくお願いします。

674:名無しさん@お腹いっぱい。
12/01/27 12:08:54.08 Q/4Ac4m50
>>670
読みづらい。死ね。
文章力無いならせめて箇条書きにしろよ。死ね。
レスを分割するなうぜえ。死ね。
UWSCじゃないとだめなの?既存のツールじゃだめなの?
ここはコマンドプロンプトの使い方を教わるスレじゃないぞ。死ね。
ルーターのステータスで確認できない?

675:名無しさん@お腹いっぱい。
12/01/27 21:46:22.18 peaoQGhe0
悪態をつきながら教えてあげているところが泣ける

676:名無しさん@お腹いっぱい。
12/01/27 22:35:09.41 rO5ISawq0
>>669
ありがとうございますー さっそく読んできます

677:名無しさん@お腹いっぱい。
12/01/27 22:43:33.35 CnzmsFvv0
>>676
マジで読んでなかったのか。

678:670
12/01/28 12:06:25.78 AjtIKbzJ0
>>674
ありがとうございます。
UWSCで書いてるマクロのなかの一部で処理したいんです。
ルータのステータスって、どこから参照するんでしょうか。
すみません、もう少しだけヒントいただけませんか。

679:名無しさん@お腹いっぱい。
12/01/28 12:52:12.65 EczXygn20
>>678
その前にルーター使ってるの?
だらだら書いてる割にどういう環境かさっぱりわからん

680:670
12/01/28 13:11:57.92 AjtIKbzJ0
>>679
ルータを使っていて、そのパソコンもLANに入っていますが、インターネットへの接続はパソコンから直接PPPoEで繋いでいます。
(ルータはブリッヂしているだけです)

681:名無しさん@お腹いっぱい。
12/01/28 22:43:32.80 3t3gzIEx0
>>680
rasdial

682:名無しさん@お腹いっぱい。
12/01/29 09:41:34.71 BAdLDSUy0
>>651
uwsc.exeのショートカットにスクリプトファイルパスの引数でいける
URLリンク(www.nagomi-jp.net)
ググれよ

683:670
12/01/29 15:26:51.64 XFzSeAgf0
>>681
ありがとうございます。
色々とググってみてはいるのですが、rasdialでのdisconnentって、接続先の名前を指定しないといけないんじゃないでしょうか。

684:名無しさん@お腹いっぱい。
12/01/29 17:38:02.60 r9FFNRYN0
>>683
いい加減死ねって言われる理由を考えろよ・・・
ここはパソコン教室じゃないんだからさ

685:名無しさん@お腹いっぱい。
12/01/29 17:45:43.30 /xxd8yRo0
下手に教えると、
自分の欲求どおりに際限なく教えてもらえる事が当然のように振舞い始める、好例だな。

686:名無しさん@お腹いっぱい。
12/01/29 23:36:36.79 6XNs/Zhr0
callで呼び出したスクリプトで本体スクリプトのループをブレイクしたいんですけど
やっぱりcall の中身を直接本体にかいておくしか方法はないですか?

687:名無しさん@お腹いっぱい。
12/01/30 01:24:08.02 rjQY1lwU0
PosACCで取得した、「1,000件」という文字列を、
「1000」という数値にしたいのですが、どうすれば可能でしょうか?

688:687
12/01/30 01:49:44.09 rjQY1lwU0
申し訳ありません。自己解決しました。

689:名無しさん@お腹いっぱい。
12/01/30 01:57:51.82 nIHfWBua0
自己解決したら内容を書く、これ基本な

690:名無しさん@お腹いっぱい。
12/01/30 02:04:00.00 oHvdOeLi0
あまりに低レベルなのは書かんでもよろし。

691:名無しさん@お腹いっぱい。
12/02/01 08:48:24.21 dluWGahj0
>>688
書くべきだろ
でなきゃ一体何のために出て来たんだ?

692:名無しさん@お腹いっぱい。
12/02/01 13:27:02.52 xzhdyBRa0
低レベルだからいらんよ

693:名無しさん@お腹いっぱい。
12/02/01 13:48:52.85 JVeUUlL60
>>691
分かったから。他所の質問スレで「先ずスペック書けよ」って罵る作業に戻るんだ

694:名無しさん@お腹いっぱい。
12/02/01 15:05:35.18 lViZa0C00
チラ見だけで文字置換してvalなりで終わりだなってわかる低レベルなんて
書かれてもどうしようもないしな。

695:名無しさん@お腹いっぱい。
12/02/01 19:01:18.00 qzbmKX5C0
>>694
何だかんだで優しいな…

696:名無しさん@お腹いっぱい。
12/02/01 21:42:59.10 ueUW03zz0
regexpぐらいまで引き上げて…やらねーなww

697:名無しさん@お腹いっぱい。
12/02/02 15:59:16.84 cR7Jv6QW0
すんません質問なんですが、
記録ボタンを押して何もせずに終わらせたマクロを見てみたら、
KBD(255,CLICK,1000)
KBD(255,CLICK,1031)
KBD(255,CLICK,1000)
KBD(255,CLICK,1031)

というのが延々と記録されるんですが、このKBD(255,CLICK)って、なんのキーを押したことになってるんですか?
調べてもわかりませんでした。


698:名無しさん@お腹いっぱい。
12/02/02 16:24:24.64 dsXIaABN0
>>697
仮想KeyコードがたしかFF(255)までだった気がする
あまり自信ないけど、常駐物で割込みを常に行ってるようなソフト起動してないか?

699:名無しさん@お腹いっぱい。
12/02/05 08:06:49.78 6kAaxpno0
キーコードFFはつかちゃダメなコードだろ
いずれにしてもまともなプログラムじゃなさそう
ウイルスチェックして検知出来なければクリーンインストールオヌヌメ
インターネットに出た個人情報などは核戦争起きても延々と残りつづけるからな

700:名無しさん@お腹いっぱい。
12/02/06 00:12:02.18 4MVnMsDtP
すみません、質問です。
アルファベットが書かれた画像を認識して
そのアルファベットを入力するといった事は可能でしょうか?
アカウント作る時とかに入力するようなやつです。
やはり、別のソフトを経由して値を取得するような事をしない限り出来ないでしょうか?


701:名無しさん@お腹いっぱい。
12/02/06 00:48:53.49 6nOapDQD0
>>700
画像のサンプル作らないと厳しいんじゃない?

特にゲーム画面に定期的に出てくるbot規制用のパス入力とかは。

702:名無しさん@お腹いっぱい。
12/02/06 01:01:12.92 CKCbKd550
CAPTCHAはそーいう自動化スクリプトとの戦いの歴史だからな。
程度にもよるが、まず突破は無理。

703:名無しさん@お腹いっぱい。
12/02/06 01:06:38.02 4MVnMsDtP
>>701
>>702
ありがとうございます。
やはり厳しそうですね…
ちょっと別の方法を考えてみます。

704:名無しさん@お腹いっぱい。
12/02/07 01:49:18.45 mJ+WyPKv0
すみません、文字列の&ってどう処理したらいいのでしょうか?
<#dbl>で括ってみたり&&にしてみたりしてみましたが上手くいきませんでした

fn = "C:\test\a&b.txt"
DOSCMD(fn,TRUE)

705:名無しさん@お腹いっぱい。
12/02/07 02:52:41.71 rafW6JlU0
>>704
半角の & はコマンドプロンプトでは区切り文字だからファイル名には使わないほうがいいよ
どうしても使いたければ、&の前に ^ を入れればいけると思う

fn = "C:\test\a^&b.txt"
DOSCMD(fn,TRUE)

706:名無しさん@お腹いっぱい。
12/02/07 02:54:42.56 rafW6JlU0
連投ごめん
^ を入れるのは&を指定するときだけで実際のファイル名は a&b.txt ね

707:名無しさん@お腹いっぱい。
12/02/07 03:55:12.55 mJ+WyPKv0
>>705-706
なるほど!
ありがとうございました

708:まさる
12/02/07 13:04:59.49 oV3sxonH0
ネットで色々調べてgoogle chrome上に
特定の画像があったらクリックするというスクリプトを作りました。
が、画像を見付けられません。

他に以下アドレスのモグラ叩きのスクリプトも試しましたが、ゲームを開始してくれますが、
モグラを叩いてくれません。
URLリンク(jichan.blog91.fc2.com)
bmpのファイルは認識してくれるのですが、同じ画像を画面上から探せていないようです。

パソコンはXPと、Windows7 32ビット2台で試しましたが状況は同じです。
画像を探してくれない理由はパソコンの環境でしょうか?

どなかた教えてください!
お願いします。

709:名無しさん@お腹いっぱい。
12/02/07 13:39:14.30 e4J9P5kA0
今モグラ叩き試してみたけど、普通に動作してたなぁ

sleep(1) // 1秒待機
ifb CHKIMG("画像.bmp") // 画像.bmpをサーチ
 msgbox("発見") // 発見した場合のメッセージ
else
 msgbox("画像無し") // 発見できなかった場合のメッセージ
endif

適当に3x3位の画像用意して↑試してみては?

710:名無しさん@お腹いっぱい。
12/02/07 13:53:38.31 e4J9P5kA0
ついでに暇だったので簡易サーチ作った
URLリンク(www1.axfc.net)

URLリンク(www.yahoo.co.jp)
上のアドレスでChrome上にニュース.bmpという画像があれば左クリック

711:名無しさん@お腹いっぱい。
12/02/07 14:17:58.71 icMbyrEp0
>>708
そのスクリプトのwhileループの所

While Status(mog_id, ST_ACTIVE)
Ifb ChkImg("mogura.bmp", 0, px, py, sx, sy)

を以下に書き換えてみ。俺の環境じゃ1回大体33ms

t0s = gettime()
t0m = G_TIME_ZZ
While Status(mog_id, ST_ACTIVE)
Ifb ChkImg("mogura.bmp", 0, px, py, sx, sy)
t1s=gettime()
t1m=G_TIME_ZZ
print (t1s-t0s)*1000+(t1m-t0m)
t0s=t1s
t0m=t1m


712:名無しさん@お腹いっぱい。
12/02/07 18:50:56.73 oV3sxonH0
>>709さん
>>711さん
ありがとうございます!
もう一度試してみます。

713:712
12/02/07 19:43:38.09 oV3sxonH0
解像度を変えたり色々やっていたら動作しました!
ありがとうございました!

714:名無しさん@お腹いっぱい。
12/02/07 20:27:22.85 xWJyw+DS0
皆さんこれを何に使ってますか?
私は予約商品の為に使ってます。

715:名無しさん@お腹いっぱい。
12/02/07 20:56:03.79 Cdij1zST0
ブラゲのマクロ自作。
は、冗談として。毎日繰り返してる日課とかでウィンドウの操作とか諸々。
いつの間にかマウスの作業じゃなくてファイル操作に使い始めてたり。

716:名無しさん@お腹いっぱい。
12/02/07 20:59:06.44 Q4B5XCan0
スタートアップ制御なんかにも使えそう

717:名無しさん@お腹いっぱい。
12/02/07 21:34:32.59 X5pDJWF10
ブラゲって何ですか?

718:名無しさん@お腹いっぱい。
12/02/07 21:35:19.31 Q4B5XCan0
ブラゲ=ブラウザゲーム では?

719:名無しさん@お腹いっぱい。
12/02/07 21:36:50.87 X5pDJWF10
ありがとうございます。
ブラゲにこれ使ったらまずいの?

720:名無しさん@お腹いっぱい。
12/02/07 22:02:49.66 rafW6JlU0
ゲームによるけど一般的にオンラインゲームは規約でマクロの使用を禁止してるからね

721:名無しさん@お腹いっぱい。
12/02/07 23:17:11.16 X5pDJWF10
マクロ使ってるのってばれるものなの?

722:名無しさん@お腹いっぱい。
12/02/07 23:55:33.82 Cdij1zST0
ばれるかどうかじゃなくて、やらないの。

723:名無しさん@お腹いっぱい。
12/02/08 01:11:55.62 lERe0dws0
このツールは軽くていいよね。
最近ユーザーも急激に増えた気がする。

724:名無しさん@お腹いっぱい。
12/02/08 11:21:50.90 +idEMauH0
初心者が使うならRocketMouseの方が簡単だけど
カスタマイズ性は圧倒的にこちらの方が上だからねえ

RocketMouse的なエディタが付いたら、末恐ろしいツールになりそうだけど

725:名無しさん@お腹いっぱい。
12/02/08 18:06:16.05 KtJe06so0
>>714
・タイトルバー消したり出したり
・液晶モニタのモード変更
・ウインドウをリサイズして配置したり
・自動ログイン
・他は単純作業

これぐらいか…余り大した事はやってない

726:名無しさん@お腹いっぱい。
12/02/09 01:41:06.76 2ie+PSV10
このツールより使いやすいソフトってある?

727:名無しさん@お腹いっぱい。
12/02/09 02:46:26.88 b8ZW0KMM0
あるといえばある。

728:名無しさん@お腹いっぱい。
12/02/09 04:13:11.33 oXti8kap0
すみません質問です

指定回数指定キーが入力されたら終了するという文を書きたいと思い、

d = 0
Repeat

KBD(VK_down)

ifb
KBD(VK_down)
d = d+1
endif

ifb d=20
exit
endif

Until GETKEYSTATE(VK_ESC)
exit


こう書いたのですが

IFB-ENDIF:String型からDouble型へのバリアント型変換はできません
7行目:IFB KBD(VK_DOWN)

と出てしまいます。
どうしたら良くなるのでしょうか?


729:名無しさん@お腹いっぱい。
12/02/09 04:59:20.47 rpKrnDPu0
>>728
GETKEYSTATE(VK_DOWN)

730:名無しさん@お腹いっぱい。
12/02/09 05:56:54.32 tLRAMkKz0
複数の数値を比較し、指定した値と近いものを探す事は可能でしょうか。

例えば、
A = 10
B = 15
C = 20
とそれぞれの関数に数値が入った状態で、00~59と値が変動する関数"D"に
現時点で一番近いものを表示といった感じです。

"D"の値は時刻から持ってくる為、00→59→00→59…と変動していきます。

731:名無しさん@お腹いっぱい。
12/02/09 07:00:39.06 akUiRtMN0
a'=(b-a)/2+a
b'=(c-b)/2+b
d'=d

f d'|a'<d' = a
    |b'<d' = b
    |上記以外= c

732:名無しさん@お腹いっぱい。
12/02/09 09:58:59.59 akUiRtMN0
逆だった
a'>d'
b'>d'

733:名無しさん@お腹いっぱい。
12/02/09 13:51:54.41 tLRAMkKz0
>>731-732
ありがとうございます

f d'|a'<d' = a
|b'<d' = b
|上記以外= c
の部分が理解できなかったので、調べてみたいと思います

また、例では省略しましたが、A~Cの様に値の入った関数は
10~15個程度使用するので中々大変そうです

734:名無しさん@お腹いっぱい。
12/02/09 14:20:46.58 psFEdpTZ0
関数と変数の区別はしてもらいたいものだが…

735:名無しさん@お腹いっぱい。
12/02/09 14:23:55.96 3dbKr8jY0
>>728
kbd()はキーを入力する関数であって検出するのはgetkeystate()の方。
でもループ内で使うと1回の入力で複数回検出することが多々発生すると思うので
sethotkey()を使うのがよさそう。

736:名無しさん@お腹いっぱい。
12/02/09 14:45:49.41 3dbKr8jY0
>>730
数値はまず配列[]に入れといて

最小絶対値 = 60
for i=0 to length(配列)-1
差の絶対値 = abs(D - 配列[i])
ifb 最小絶対値 >= 差の絶対値
最小絶対値 = 差の絶対値
近いの = 配列[i]
endif
next
print 近いの

動作確認してないけどこんな感じ?

737:名無しさん@お腹いっぱい。
12/02/09 15:11:59.56 psFEdpTZ0
変数の値をキーにしたソート指定の連想配列を作り
順列読み出しでDの順位を取得、その前後の変数との絶対値比較とか。

変数に同じ値が無いとか前提があるけどね。
あと近いのは2つ出ることもあるし。

738:名無しさん@お腹いっぱい。
12/02/10 01:23:42.64 LTE/Bca+0
それやるなら差の絶対値をキーにして1個目を取り出せばいいのでは

739:名無しさん@お腹いっぱい。
12/02/10 17:41:37.73 KoLNAXJK0
firefoxで作業してて、読み込んだflash内をクリックしたいんですがうまくできません。
flash読み込むまではクリックしてくれるんですが、どうしたらいいでしょうか?

うまくいかなかったので
TITLE = status(GETID(GET_ACTIVE_WIN),st_title)
MOUSEORG(GETID(TITLE))
BTN(LEFT,CLICK,255,654,1750)
とかやってみたんですが、絶対座標をクリックしてしまいます。

740:名無しさん@お腹いっぱい。
12/02/10 17:58:33.67 ASAbRHZG0
>>739
UWSC Proの中にflash操作のサンプルがあるから
それ見るとわかりやすいよ

741:730
12/02/11 07:51:33.25 brqGoC6I0
>>730
で現時刻からA,B,C…の中で次に訪れる物(時刻)を探す必要が出た為、
下記のような形で対応しました。

// ■ --------------------- ■
gettime
 v1 = G_TIME_NN2
 v2 = val(v1)

A=10
B=20
C=40

次 = "N/A"
確認 = "偽"

Dim 数値[2] = A,B,C

for i = 0 to 2
 if v2 < 数値[i] THEN 確認 = "真"
next
 ifb 確認 = "真"
 else
  v2 = 0
 endif



742:730
12/02/11 07:52:41.99 brqGoC6I0
for t = 0 to 59
 for i = 0 to 2
  if 数値[i] - v2 = t THEN 次 = 数値[i]
 next
  ifb 次 = "N/A"
  else
   break
  endif
next

print 次
// ■ --------------------- ■


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