自動化ツールuwsc使いよ集まれ7at SOFTWARE
自動化ツールuwsc使いよ集まれ7 - 暇つぶし2ch200:名無しさん@お腹いっぱい。
11/10/13 14:52:37.34 4eOZa6PM0
死ねとかいちいち言う奴は出てってくれ

201:名無しさん@お腹いっぱい。
11/10/13 14:58:04.89 PF43SQCm0
>>200
オマエモナー


> ほぼオナニースレ化してる。

スレタイに質問とか初心者とか入ってるなら問題だけど、そうじゃないんだよねここは。
だからオナニーで何が悪いという見方も別に悪くない。

202:名無しさん@お腹いっぱい。
11/10/13 15:37:53.44 oMVXXMfx0
>>200
お前が出てけ
嫌なら初心者の馴れ合いスレでも立てろ

203:名無しさん@お腹いっぱい。
11/10/13 15:47:44.47 khyIEHPU0
いやいや、1ソフトは1スレまでってルールがあるんだから
初心者相手にスレ立てろとか言ってマジで立てられたら困るでしょ。

ゲームマクロとしてのスレならいくら立てても問題ないからそっちに行って。

勉強がしたいんなら、今はUWSCよりもっとすばらしい言語がたくさんあるからそっちで勉強して。


204:名無しさん@お腹いっぱい。
11/10/13 15:54:01.56 4eOZa6PM0
>>201-202
ほらな、やっぱ癇に障るだろ
余計な一言なんだって

205:名無しさん@お腹いっぱい。
11/10/13 15:56:07.24 UxPWG/Y30
「初心者」というのはこの場合、スクリプトを書くことを始めたばかりの人であるはず。
質問するならまず、書いてみたけどうまくいかなかったそのスクリプトを貼ってくれないと。

>>188なんかかなりレベルの低い質問ではあるけど、ちゃんと実際のスクリプトを提示した上で
自分で何とかしようという気もありそうな感じだったからあまり叩かれてない。

206:名無しさん@お腹いっぱい。
11/10/13 16:12:37.08 b8nrK5Ss0
拾い物をよくわからず改造しようとするやつが叩かれてるだけじゃないの?

207:名無しさん@お腹いっぱい。
11/10/13 18:50:21.91 PF43SQCm0
だからゲームマクロ関係はどっか別の板なりスレなりたててそっちでやれって。

最近のアホな質問全部それ関係だろ。やたらchkimg多いし。

208:名無しさん@お腹いっぱい。
11/10/13 19:52:19.36 69CXUZzl0
>>207
chkimgの説明とか凄い詳しくググレば出てるからなぁ。
後はそこで取得した値をどう弄り回すかだけだしな…

209:名無しさん@お腹いっぱい。
11/10/14 11:05:51.90 Xa3wRZSs0
さすがにfor文とかif文を理解していない体の質問はどうしようもない。

なんかプログラム初歩学習に使えそうな、ロボット移動のゲームがあったような気がする。
繰り返しブロックでくくって動作を繰り返すとかそんなの。

210:名無しさん@お腹いっぱい。
11/10/14 11:09:38.59 Iwb6cyVB0
知識がなくて独学で学ぶ気がないならautomouseとかで我慢すべきだと思うの
簡単なマクロならググればいくらでも出てくるし

211:名無しさん@お腹いっぱい。
11/10/15 02:10:30.08 pVwTdrqg0
①座標Aをクリックする。
②10秒待つ。
③i)画像Aが現れた場合
座標Bをクリックしてから、①に戻る。
ii)画像Aが現れなかった場合
座標Cをクリック。
 
というマクロをくみたいんですが、
③がうまくいきません。
どうすればいいか教えてください


212:名無しさん@お腹いっぱい。
11/10/15 02:16:33.51 DCAh1rFI0
どういう風に書いたかちょっと貼ってみて

213:名無しさん@お腹いっぱい。
11/10/15 02:25:53.50 pVwTdrqg0
座標Aをクリック
SLEEP(10)
while
  Ifb ChkImg("retry.bpm") = true then
座標Bをクリック
座標Aをクリック
SLEEP(10)
else
break
endif
wend
座標Cをクリック
 
これを実行しようをすると三行目のwhileがエラーになりました

214:名無しさん@お腹いっぱい。
11/10/15 02:44:43.06 pVwTdrqg0
Aクリック
SLEEP(10)
while true
Ifb ChkImg("retry.bpm")=true then
Bクリック
Aクリック
SLEEP(10)
else
break
endif
wend
Cクリック
 
これでいけそうです!

215:名無しさん@お腹いっぱい。
11/10/15 02:50:33.45 DCAh1rFI0
>>213
おお、書いてたら自己解決してるw 無事動いてよかった。
なんか一応動くみたいだけど ×bpm ○bmp ね

あと、ifbの行は = true を削っても問題ないよ
ifb chkimg("retry.bmp") = true

ifb true = true

ifb true

ifb chkimg("retry.bmp")

ifb true

216:名無しさん@お腹いっぱい。
11/10/15 14:25:27.22 emRO3kIy0
開いても文字化けしてしまうUWSファイルがあり、とても困っています。
どうしたら開けるでしょうか?
メモ帳、TeraPad、stringsは試してみましたが、文字化けするばかりです。
IEでエンコードを見ようとしても、開けるファイルじゃないと言われてしまいます。

ちなみに、UWSCからこのUWSファイルを呼び出して実行すると、想定通りの
動作をします。
ただ、もらい物なのでちょっとだけ変えたいところがあるのですが、上記の通り
編集以前の状態です。
どうか教えてください。

217:名無しさん@お腹いっぱい。
11/10/15 14:31:04.49 EF0PrBB30
スクランブルかかってるだけでは?

218:名無しさん@お腹いっぱい。
11/10/15 14:32:46.02 xl1csyyl0
>>216
むりです。
UWSCの機能としてスクランブルがあり、それが施されていると予測されます。
スクリプト製作者の意向なのでおとなしくあきらめるのがいいでしょう。

219:名無しさん@お腹いっぱい。
11/10/15 17:52:41.93 emRO3kIy0
>>217,218
レスありがとうございます!
スクランブルなんてこともできるのですね。
よく理解できました。
でも解決できないのか…。残念です。

220:名無しさん@お腹いっぱい。
11/10/15 18:39:00.17 VmVh/62B0
自分でフルスクラッチ。

221:名無しさん@お腹いっぱい。
11/10/15 21:20:45.28 FuCy7KK40
貰い物なら貰った人に頼めばいいだけだわ。

222:名無しさん@お腹いっぱい。
11/10/16 19:20:56.83 l+TG99F+0
ifb文のandの記述ってもっとスマートなやり方あるの?
以下の方法だとなぜかfalseのはずなのに反応してしまう事があるんだ

//画面上にAAAとBBBとCCC全てあり、さらに変数(hensu)が0の場合だけCCCをクリック
ifb (CHKIMG("AAA.bmp",0) and CHKIMG("BBB.bmp",0) and CHKIMG("CCC.bmp",0) and hensu=0)   
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y, 80)
endif

どんな原因が考えられます?

223:名無しさん@お腹いっぱい。
11/10/16 19:39:28.60 E41x9PgQ0
>>222
chkimgの判定にかかる時間とかじゃないの?

aaa = chkimg("aaa.bmp", 0)
bbb = chkimg("bbb.bmp", 0)
ccc = chkimg("ccc.bmp", 0)
print aaa +":"+ bbb +":"+ ccc +":"+ hensu
ifb aaa and bbb and ccc and hensu=0
以下略

とでもやって、本当に全部falseなのか確かめろよ。

224:名無しさん@お腹いっぱい。
11/10/18 11:14:11.81 e+Rjls+f0
IEの読み込みラグはどうやって解決するのでしょうか?
よく止まるのでフリーズするので
お願いします

修正方法あればごご教授くださいーー

225:名無しさん@お腹いっぱい。
11/10/18 15:47:56.57 xcmasEza0
>>224
回線を光回線する事や良いプロパイダを選ぶ等の対処が必要です。

226:名無しさん@お腹いっぱい。
11/10/18 21:35:43.10 JivqYz1s0
>>224
ヘルプに載ってるコレじゃ駄目なの?
Procedure BusyWait(ie)
 repeat
  Sleep(0.2)
 until (! ie.busy) and (ie.readyState=4)
Fend

 

227:名無しさん@お腹いっぱい。
11/10/21 07:41:33.94 7TaJE2/80
メイプルでUWSCがハッキング検地ひっかかるんだが回避法しらん?

228:名無しさん@お腹いっぱい。
11/10/21 09:14:57.74 OlnHcMlm0
>>227
死ね

229:名無しさん@お腹いっぱい。
11/10/21 09:41:00.55 F+FSH9nZ0
Firefox上のFlashコンテンツに表示されている文字や数字をACC経由で読んでいると、
よく、ビジー状態で固まります。回避方法はありますか?

230:名無しさん@お腹いっぱい。
11/10/21 11:32:14.02 9ZcsHObD0
>>227
MapleStory マクロスレ part12
スレリンク(mmosaloon板)

231:名無しさん@お腹いっぱい。
11/10/21 16:59:32.38 hpkyVi5P0
ひとつのUWSファイルを2つのファイルに分けて、
CALL文で一方がもう一方のUWSファイルを読もうとすると、
変数○○が定義されていません、と表示されてしまいます。
元通りくっつけると正常に機能します。
phpなどのように簡単にはいかないようです。
かなり長く色々試行錯誤したりググったりしてるんですが、わかりません。
どうか教えてくださいm(__)m


232:名無しさん@お腹いっぱい。
11/10/21 17:09:17.44 wLb629010
>>231
変数を定義しろ

233:名無しさん@お腹いっぱい。
11/10/21 17:29:35.26 3QeNBpri0
>>231
呼び出す元の変数をpublicで宣言しろ

234:名無しさん@お腹いっぱい。
11/10/21 18:22:09.64 hpkyVi5P0
>>233
ありがとうございます。数日間探したのが、一発で解決しました!
これでやっと先に進めます。ありがとうございましたm(__)m

あとの人がgoogleでヒットしやすいようにキーワードをまいておきます(^^)。

UWSC,ファイル読み込み,CALL,エラー,変数が定義されていません,dim,public


235:名無しさん@お腹いっぱい。
11/10/21 20:01:44.90 ZX8ZuSOZ0
△△へ移動の横にあるOKボタンをクリックしたいのですが
表示されたページ内にOKボタンが複数あり、ページ移動するたびにその数が変わります。
どのページでも特定の文字の横にあるOKボタンをクリックするにはどうすれば良いでしょうか?

1ページ目
○○へ移動  <input type=submit value="OK" class=button>
△△へ移動  <input type=submit value="OK" class=button> ←クリックしたいボタン
2ページ目
○○へ移動  <input type=submit value="OK" class=button>
□□へ移動  <input type=submit value="OK" class=button>
△△へ移動  <input type=submit value="OK" class=button>←クリックしたいボタン

236:名無しさん@お腹いっぱい。
11/10/21 20:09:54.40 3QeNBpri0
>>235
inputタグを持つものを順次調べてOKだったらクリックが普通と思うけど

ClkItem で "へ移動" をCLK_MUSMOVEオプションつけてフォーカス移動し、
CLK_CONTINUE でその続きから検索するように指定して
"OK" をクリックすれば、右のボタンをクリックできると思う。


237:名無しさん@お腹いっぱい。
11/10/21 21:07:06.58 ZX8ZuSOZ0
>>236
ClkItem で "△△へ移動"という文字列に移動するという事なんでしょうか?
やってみたんですが反応無しでした
”△△へ移動”の文字列の横をクリックという事はできないのでしょうか?

238:名無しさん@お腹いっぱい。
11/10/21 21:17:53.25 aO9Zoeqf0
>>237
ie限定だし、出来る範囲は限られている。
ヘルプの、IE操作関連、を読めばわかる。

239:名無しさん@お腹いっぱい。
11/10/21 23:15:36.46 qGV5nF3y0
pro版を割れで使っていたのだが、最新版で対策されたようだな

UWS2EXE使うと、「L22が存在しません」とエラーが出るようになった

240:名無しさん@お腹いっぱい。
11/10/21 23:50:55.27 aO9Zoeqf0
>>239
ざまぁ! …としか言いようが無い事だな。馬鹿な事をしてるもんだ。

exe化は、pro版のほとんど唯一の利点だからな。
ドラッグ&ドロップの単体受付可能、他DLL等不要で単体500kb程度(圧縮込み)での可搬性、何の言語?程度のコード隠蔽。
そこらへんはpythonやruby等の一般的LL系言語よりはWindows特化で結果として扱いやすい。

会社とかで業務アプリを自動操縦しようとするのが主体で
業務外で自分のためだけにラフに扱いつつ色々なめんどくさい事に巻き込まれないようにする事がメインの機能の様な気がする。
pro使う理由があるなら安い買い物だと思うがなぁ。買ってやれよ…

241:名無しさん@お腹いっぱい。
11/10/21 23:55:35.08 mIkn20FE0
日本語でOK

242:名無しさん@お腹いっぱい。
11/10/22 08:25:14.52 BQCgFdbI0
>>240
販売促進しているようだけど、一つ前のUWS2EXE使ってれば良いだけw

243:名無しさん@お腹いっぱい。
11/10/22 11:00:18.91 6BHHELTP0
犯罪行為を公衆の面前で自慢するアホ…

244:名無しさん@お腹いっぱい。
11/10/22 11:41:13.05 7qvDx+0r0
そんなことよりAHKやろうぜ

245:sir sie
11/10/22 15:16:51.14 SGFp5L7x0
  光夜星月 

 
世界をおとそう
世界の中に
一つになれば
  ☆  
いつでもいっしょになれる。
おきる人もねむる人も
愛とにくしみは
声になって
私達の世界は
絵になるの

☆ 明日のいたみは
  はじめての音になる。
  信じたい
  中が同調するって。

246:名無しさん@お腹いっぱい。
11/10/23 13:11:28.79 bscbOr/W0
UWSC本体を起動しないでスクリプトを関連付け起動させた時の
printウィンドウってディスプレイの左上に出ますが、この位置を変えることは
出来ないですかね?

タスクバーを縦にして左に置いているので、printウィンドウがこの下に出てほとんど
見えない状態になっており、少々不便です。

247:名無しさん@お腹いっぱい。
11/10/23 13:47:07.43 e29n7BSx0
>>246
ひょっとしたらini設定あたりで変更できるのかも?しれないけど
力技でもOKなら、出たスクリーンを動かしてやれば良いのでは?
監視系にするか関数に書いておくか…

248:名無しさん@お腹いっぱい。
11/10/23 14:38:28.04 bscbOr/W0
>>247
iniでは無理な模様。
スクリプトで自分のウィンドウを動かすのは今試してみたのですが
タスクバーの上には出るもののウィンドウの位置大きさの変更は出来ない模様。

とりあえずタスクバーの下に隠れるって状態が改善したので当座の問題は解決ですが。

他のアプリケーションの助けを借りずにUWSC単体で何とかならんもんだか。

249:名無しさん@お腹いっぱい。
11/10/23 14:45:39.58 bscbOr/W0
間違って2つ連続で起動したら一方が他方のスクリプトのウィンドウを変更する形で
ウィンドウの位置・大きさ変更が出来た…

どうも自プロセスのウィンドウ操作は出来ないような感じですね。

250:名無しさん@お腹いっぱい。
11/10/23 15:03:55.84 e29n7BSx0
>>248
ん?当方では動くみたいだけど…

print "testtest"
sleep(1)
acw(Getid(get_logprint_win),100,0)
sleep(5)

251:名無しさん@お腹いっぱい。
11/10/23 15:34:53.12 bscbOr/W0
タイトルマッチで探してました…

1つ起動してNGで2つ起動したらOKということは
自分のウィンドウはタイトルマッチしないのだろうか?

GET_LOGPRINT_WINでいけましたね。ありがとうございます。

252:名無しさん@お腹いっぱい。
11/10/23 20:30:03.17 dBa/BKyq0
//アクティブになうちはログ表示継続
id = getid(GET_LOGPRINT_WIN )
ACW(id, 500, 500, 800, 200 )// x, y, 幅, 高さ
while status(id,ST_ACTIVE) <> 0
sleep(0.2)
wend

253:名無しさん@お腹いっぱい。
11/10/23 22:14:25.90 5DAdTKnk0
60分経ったらループから抜け出したいんだけど、
どう記述すればよいでしょうか?

while True
if ???? then exit

wend

254:名無しさん@お腹いっぱい。
11/10/23 23:03:45.86 V4NYj34Q0
>>253
sleep(3600)を使うのが確実。

マジレスとしては、gettimeの戻り値を好きなタイミングで確認しまくれ。

255:名無しさん@お腹いっぱい。
11/10/24 18:31:29.29 sYeEqCI20
ネトゲのTERAを自動でログインするようにしたいのですが、下記の******の部分にログインボタンを押下する命令が必要
だと思うのですが、HPのソース見てもこのログインボタンを自動で押下するようにできません。

【ソース】
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("URLリンク(tera.hangame.co.jp)")
PUBLIC id=GETID("TOP - 次世代MMORPG「TERA」メンバーズサイト - ハンゲーム")

REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate=4

IESETDATA( IE, "[自分のID]", "strmemberid" )
IESETDATA( IE, "[自分のPASS]", "strpassword" )
******←ここ

REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate=4

EXITEXIT

どなたかわかるかた教えてください。

256:名無しさん@お腹いっぱい。
11/10/24 20:21:59.19 NL9m5Tsc0
>>255
その処理に限らずだけど、最初はいろんなスクリプト見て勉強したら?
大体継ぎ接ぎや組み合わせで何とかなるよ
自動ログインのスクリプトなんてそこら中にあると思うよ

257: 忍法帖【Lv=10,xxxPT】
11/10/24 21:25:42.95 sYeEqCI20
>>256
このソース自体継ぎ接ぎで、どうしてもログインクリックだけできないのです

258:名無しさん@お腹いっぱい。
11/10/24 21:28:31.73 jYWaEJtn0
>>257
>>55-57あたりが丁度そんな感じのスクリプトじゃない?

259:名無しさん@お腹いっぱい。
11/10/26 17:46:02.41 lGqBzR1S0
EXE化したものを呼び出すにはどうすればいいでしょうか?

call xxxx.exeにしたのですが
xxxx.exe.uwsは存在しませんといわれてしまいます

260:名無しさん@お腹いっぱい。
11/10/26 18:46:02.91 pqkjQNG90
>>259
EXEC

261:名無しさん@お腹いっぱい。
11/10/26 19:42:35.40 lGqBzR1S0
>>260
ありがとうございます
早速使わせていただきます

262:名無しさん@お腹いっぱい。
11/10/26 20:29:13.64 lGqBzR1S0
>>260
ありがとうございましたexeを起動させることができました

execに渡すxxx.exeに変数による引数を持たせたいと思っています
TIMES = 3
exec("xxx.exe TIMES")
とやると引数は持っていくのですが
変数の中身の3ではなく TIMESという文字列を持ってきてしまいます

URLリンク(uwsc.dohow.jp)
などをみるとexe自体に引数を持たせることはできないのでしょうか?
call xxx.uws(TIMES)の様な感じで
引数に変数を持たせたいときはどのように書けばいいのか教えていただけないでしょうか?
よろしくお願いいたします

263:名無しさん@お腹いっぱい。
11/10/26 21:26:24.77 v8f1x9Y60
>>262
" "内のTIMESは変数じゃ無いから当たり前かと
exec("xxx.exe "+TIMES)

正直、ネタなのか?と思える質問の連続だけど…

264:名無しさん@お腹いっぱい。
11/10/26 22:07:59.65 j2/p56140
ググレば答えが出るんじゃないかと思ったが

265:名無しさん@お腹いっぱい。
11/10/28 11:32:58.38 NMe7w+Mk0
お前等にもそういう時期あっただろ
この子は頑張ってる感じがしてまだ許せるよ
頑張れよ

266:名無しさん@お腹いっぱい。
11/10/28 13:25:22.68 Bl+xO2Ow0
頑張って調べたけどな
本家の過去ログ漁ればいくらでも出てきそうだし

267:名無しさん@お腹いっぱい。
11/11/01 21:52:35.08 TqXK22AL0
ループで20作業ぐらいマウスクリックする作業なんだが、
5~6時間で動かなくなってしまう。

プログラムには問題ないと思うのだが、
他に考えられる理由はありますか?
メモリとか設定とか??


268:名無しさん@お腹いっぱい。
11/11/02 00:00:14.78 UVAKSiBC0
スクリプトはってみ

269:名無しさん@お腹いっぱい。
11/11/02 00:07:37.13 zWvwpYag0
スクリプトも貼らずにそんな質問されてもな・・・
ループを抜けてるか、負荷で処理が遅れてる間に判定過ぎたとか。

270:名無しさん@お腹いっぱい。
11/11/02 00:27:41.65 2TbokZ0v0
スクリプトも見ずに答えられるとでも思っているのか・・・

271:名無しさん@お腹いっぱい。
11/11/02 00:45:59.30 oLG8MShh0
動かないってどう動かないのかも書けよなー。
PC丸ごとハングorUWSCだけ異常停止なのか、操作を受け付ける状態でUWSC本体は無事なのかとかさー。

272:名無しさん@お腹いっぱい。
11/11/02 00:51:21.87 1xFbDtAF0
質の低い聞き方と内容で単発
完全に釣りとしか思えない

273:名無しさん@お腹いっぱい。
11/11/02 01:46:34.94 UVAKSiBC0
結構見てる奴いるんだな

274:名無しさん@お腹いっぱい。
11/11/03 15:13:08.89 uJFyB9d80
はじめまして。
このようなツールは初めてなんですが、
このuwscは画面を読み取ったりできますか?
例えば、画面が黄→赤になると反応して動作するといったことはできますか?

275:名無しさん@お腹いっぱい。
11/11/03 15:25:45.20 FtPbq5vm0
できますよ

276:名無しさん@お腹いっぱい。
11/11/03 15:42:46.14 uJFyB9d80
>>275
ありがとうございます。
プログラミングも全くの初めてなので手探りで頑張ってみます。

277:名無しさん@お腹いっぱい。
11/11/03 15:58:53.99 LquvWkC90
>>276
初心者に対する親切で言うけど、ヘルプ(つーかUWSCにおけるリファレンス)は数回読んでおけ。
一回通しで読んでおくとマジで捗る。ここで質問して聴ける答えの殆どが実はヘルプに載ってる。

278:まぁRGBってなに?だと躓くだろうから
11/11/03 16:06:10.29 LY6UbNub0
色 = PEEKCOLOR(x,y)
Red = 色 and $FF
Green = (色 and $FF00) / $100
Blue = (色 and $FF0000) /$10000

たぶんゲーム用なのだろうけど、色を分解するfunctionをこさえる→元の色を変数に保存→変わったかWhile True~wendループでひたすら比較し続ける。

279:名無しさん@お腹いっぱい。
11/11/03 17:39:31.98 H/V4sxV30
むしろRGBではなくBGRなところに注意かと

280:名無しさん@お腹いっぱい。
11/11/03 19:28:13.49 qzNineYM0
>>278
これの意味がいまいち分からなくてやめたな

281:名無しさん@お腹いっぱい。
11/11/03 19:46:07.68 RRLNM+5x0
クリップボードに1という数字が入っていて
クリップボードの数字に1を足したい時
sendstr(0)+1
とするとgetstr(0)=11になってますのだけど
和を出力するにはどうしたらよいのでしゅか

282:名無しさん@お腹いっぱい。
11/11/03 19:53:16.19 o3L2nQSM0
sendstr(val(getstr(0)))+1
とかでできるのでは

283:名無しさん@お腹いっぱい。
11/11/03 21:22:26.71 RRLNM+5x0
文字を数値に置き換える行動が必要だのですね
あざっすあざっす

284:名無しさん@お腹いっぱい。
11/11/06 09:18:02.88 bL6PlzVI0
すいません、質問です。
>>55-57をchromeで行うにはどのようにしたらよろしいでしょうか?
メールを送る部分は他の方法で出来たのですが、
検索の部分だけうまくいきません。
どうかご教授お願いますm(_ _)m

285:名無しさん@お腹いっぱい。
11/11/06 13:28:38.40 nXDiYYhf0
>>284
IE用だから無理
自分で記録してみたら?

286:284
11/11/07 14:50:13.46 x7j5kCs30
>>285
ありがとうございました。

287:名無しさん@お腹いっぱい。
11/11/12 02:50:26.32 645URtN60
chrome17betaで、clkitemが使えるようになってたよ

288:名無しさん@お腹いっぱい。
11/11/15 11:10:45.69 uWoZxfD60
call で 呼び出したマクロから更に別のマクロを呼び出したいのですが
FILE NOT FOUND ~ 下.uws といわれて呼び出せません。
どうしたら呼び出せるようになるでしょうか
全て同じフォルダの中です。

上.uws
CALL 中.uws

中.uws
CALL 下.uws

下.uws
KBD(VK_1,0,0)

289:名無しさん@お腹いっぱい。
11/11/15 14:32:00.24 +IyJ8OFm0
普通に何も問題は無い。

できないとしたら、実はそんなスクリプトじゃないってことだろうな。

290:名無しさん@お腹いっぱい。
11/11/15 20:46:48.47 npPJPKmo0
FLASH内のテキストボックスにペーストする場合
sckey(0,vk_ctrl,v)
が何故か効かないんだけど
kbd(vk_ctrl,down)
kbd(vk_v,click)
kbd(vk_ctrl,up)
てダラダラ書かなきゃいけないの?

291:288
11/11/15 22:10:52.76 uWoZxfD60
自己解決しました。

問題無いとの返事で、過去ログに()が有ると云々というのを見た気がしたので
なにげなくC:\ にぶち込んだら動きました。

フォルダ名の()が原因でした。

中を読み込んでも問題無いのに上からだとエラーが出たので混乱しちゃいました。

292:名無しさん@お腹いっぱい。
11/11/15 23:12:11.19 zwVIVEhe0
>>291
> なにげなくC:\ にぶち込んだら動きました。

君やめた方がいいよ。

せめてC:\tempとかにしないと。サブディレクトリが消えていくスクリプトで死ぬよ。


293:名無しさん@お腹いっぱい。
11/11/16 14:10:24.59 Pa8MTtHo0
今日、急にタイマーが効かなくなりました。
「一回だけ実行」をよく利用してるのですが、スタンバイ状態から復旧はするものの
スクリプトの実行が行われません。
Windowsとか、UWSC以外の部分がおかしいのかなと思いますが、確認ポイント等
教えてもらえないでしょうか?

294:293
11/11/16 14:40:52.55 Pa8MTtHo0
すみません、自己解決しました。
なんとパソコンの時計がちょうど一ヶ月ズレて10月になってました。

295:名無しさん@お腹いっぱい。
11/11/17 00:04:49.12 o1oina1g0
ご相談 
ブログを閉鎖するのでローカルにバックアップしたいです。
サンプル//掲示板のスレをテキストファイルとして保存する  #n27//
を利用して複数ページの保存ができますが、
長い記事は、記事タイトルをクリックして全表示するつづらになってます。
ソースを調べると、アンカーの中の文字がブログのタイトル名になっていて、
記事ごとに違い#n27が使えません。
一旦テキストを取得して編集し題を配列で渡すことも考えましたが、
あまりにおぼこじゃないですか・・・
当方スクリプトはわかるのですが、HTMLのタグ構造や指定に弱く、
もっとスマートな方法やコードがあると思いますが、アドバイスください。



296:名無しさん@お腹いっぱい。
11/11/17 00:08:41.30 YXuxk+jS0
>>295
ブログサービス名 エクスポート
とかで検索かけたほうが早くね? いまどきそれぐらいの手段は用意されてるだろ

297:名無しさん@お腹いっぱい。
11/11/17 00:54:17.24 o1oina1g0
>>296 ありません。SNSのおまけで、利用者が少ないのです。

298:名無しさん@お腹いっぱい。
11/11/17 05:51:47.75 9mCggz7q0
昨日見つけたんだけど
call 変数+""(引数)
ってやるとcallのファイル名に変数使えるね

299:名無しさん@お腹いっぱい。
11/11/17 18:58:31.51 wSlJbc0w0
>>295
再利用のありえない使い捨てスクリプト決定なんだから
その方針で適当に書けば?

300:名無しさん@お腹いっぱい。
11/11/18 17:01:53.15 owZ/y+zq0
CHKIMGってセカンダリモニタの画像は認識できない?プライマリに画像がある時しか反応してくれない
認識する方法があるなら教えて欲しい・・・

301:名無しさん@お腹いっぱい。
11/11/18 17:08:29.20 owZ/y+zq0
ごめん自己解決
範囲指定を-1920,1080にすればいいだけでした

302:名無しさん@お腹いっぱい。
11/11/18 17:34:30.04 P8lubUql0
x分に1回aを押すってどうすればいいですか?
ループでwaitをその数字にする、というのではなく
基本は他の行動をしていて、時間になったらaを押し、
また基本の行動をして、時間になったらaを押す、
というように使いたいのですが
お知恵をお貸しいただければ幸いです。

基本的に使っているスプリクトは
ACW(GETID("バックグラウンド.UWS - メモ帳","Notepad"),553,385,848,543,0)
id = GETID("メモ帳")
MOUSEORG(GETCTLHND(id,"edit"), 2)
While True
Call xxxx.uws // xxxx.uws 記録保存したスクリプト名
Sleep(2) // 10秒の間を取る
Wend

xxxx.uws の中身
KBD(VK_RIGHT,DOWN,31)
KBD(VK_RIGHT,DOWN,31)
KBD(VK_RIGHT,DOWN,32)
KBD(VK_RIGHT,DOWN,31)

およそこのようになっております。

303:名無しさん@お腹いっぱい。
11/11/18 17:57:45.56 CAQMUOv40
thread

304:名無しさん@お腹いっぱい。
11/11/18 18:07:33.65 rMdqs55T0
まだこんなの使ってる情弱がいんのかよ

305:名無しさん@お腹いっぱい。
11/11/18 19:49:43.23 Gvg50/vl0
Sleep(2) // 10秒の間を取る
どういうことなの!?
開始時間を取得して格納して、適当にそれと比較して時間経過したら実行すればいいとか。

306:名無しさん@お腹いっぱい。
11/11/18 19:55:53.32 zdv1k3LZ0
>>304
本体exeとスクリプトだけの簡単な配布とセットアップは手放しがたい…それだけかもしれんが。

307:名無しさん@お腹いっぱい。
11/11/18 20:28:50.68 7sqHdXCs0
情強はどうしてるの?

308:名無しさん@お腹いっぱい。
11/11/18 20:53:03.99 tA/M4Oum0
>>305
わざわざそんなの書くの?

309:名無しさん@お腹いっぱい。
11/11/19 02:32:33.11 5MwJvGq00
>>305
すまない公式から拾ってきて
10秒が長かったから2秒に書き換えたんだ、
説明書き書き換えるの忘れていた

310:名無しさん@お腹いっぱい。
11/11/20 00:14:06.23 wbSUsuvr0
>>308
数分ぐらい待つのならラーメンタイマ(ramen.uws)作って使いまわしてる

ramen.uwsの中身
tabegoro(180) //3分後に設定(秒数)
SOUND("C:\Windows\Media\ding.wav") //XP用 他は知らんw

Procedure tabegoro(t)
t1=Nowtime();t2=t1+t //t1に現在時刻 t2に指定時刻(秒数)
While t2 > t1;sleep(5);t1=Nowtime();Wend //5秒おきにチェック
Fend

Function Nowtime()
GETTIME(0);Result=G_TIME_HH*3600+G_TIME_NN*60+G_TIME_SS //現在時刻(秒数)
Fend

311:名無しさん@お腹いっぱい。
11/11/20 02:08:52.14 iRi/ZYWT0
GETTIMEにその時間書いて

IFBで時間越えたら行動。でまた時間書いて閉じる

312:名無しさん@お腹いっぱい。
11/11/20 05:16:50.35 eTwtgE2k0
>>310
これって日をまたぐとうまく動かないんちゃうかな。

313:まぁRGBってなに?だと躓くだろうから
11/11/20 08:01:18.06 hstN1dtV0
年月日時分秒を合算して完全な秒数を出せばOKだろな

314:名無しさん@お腹いっぱい。
11/11/20 08:28:17.14 Nu5fqISu0
//gettime()の戻り値をそのまま使えばいいのでは

t=180 //3分後に設定(秒数)
t2=gettime()+t //t2に指定時刻(秒数)
While t2 > gettime();sleep(5);Wend //5秒おきにチェック
SOUND("C:\Windows\Media\ding.wav") //XP用 他は知らんw

//こんな感じで。試してないけど>>310と同じ動作になるよね?

315:名無しさん@お腹いっぱい。
11/11/20 09:39:13.93 k3wr1Xk/0
t=180
sleep(t)

316:名無しさん@お腹いっぱい。
11/11/20 10:42:56.88 /7ROQBl70
>>315
よく読め

317:名無しさん@お腹いっぱい。
11/11/20 14:11:10.77 mnucJeUQO
uwsc のプログラムの
sleep() って
PCが()内の数字を読み込むまでの時間で
PCのスペックによって時間が上下してしまいますよね?
PCのスペックに左右されずに一定の時間止める命令ってありませんか?


318:名無しさん@お腹いっぱい。
11/11/20 14:51:36.10 37TjzIAA0
>>317
sleep(1)で、0.990秒か1.010ぐらいの誤差は出るという話か?
Windows自体がリアルタイムOSじゃないんだからあきらめろよ…

319:名無しさん@お腹いっぱい。
11/11/20 20:26:16.19 NBuVEZGy0
for i=1 to 180
 sleep(1)
next
みたいなことやったら誤差がでかくなるけど
sleep(180)と実際の180秒との誤差なんて気にしてたらきりがない。

320:317
11/11/20 21:32:34.82 mnucJeUQO
やっぱりそういうものですよね……
繰り返しやってるとどんどん誤差が出てくるのでどうにかならないかと思っているのですが

あと
sleep() って1秒単位でしか止められないですか?
0.1秒とか細かく止めることは出来ませんか?


321:名無しさん@お腹いっぱい。
11/11/20 21:50:16.24 UjA32dPa0
なぜ試さない

322:名無しさん@お腹いっぱい。
11/11/20 22:08:12.02 NBuVEZGy0
それ以前になぜヘルプすら読まないのかと。

お前はその関数の使い方どこで知った。
またゲームマクロ厨か?

323:名無しさん@お腹いっぱい。
11/11/20 22:36:51.73 wKQBEoG/0
ヘルプ呼んでないのはスルーで良いだろ。

324:名無しさん@お腹いっぱい。
11/11/21 01:48:02.86 cK4FDRBG0
sleepだけを繰り返すスクリプトなわけないんだから
蓄積される誤差の主成分はsleep以外の処理時間だろうに。
そしてその場合はgettimeを使えって話が直前に出てるのに。

325:名無しさん@お腹いっぱい
11/11/21 22:32:56.01 95iY67le0
変数の名前の中に変数を入れることってできませんか?

名前1=50
名前2=60
名前3=70
名前4=80
名前5=90

とした場合に

i=1+random(5)
print 名前i


というような感じのことができる方法ってありませんか?
iに応じて変数1などに格納してる数値を引き出してきたいです


326:名無しさん@お腹いっぱい。
11/11/21 22:59:29.69 cK4FDRBG0
配列でできるのでは

dim 名前[4]
名前[0]=50
名前[1]=60
名前[2]=70
名前[3]=80
名前[4]=90
i=random(5)
print 名前[i]

327:名無しさん@お腹いっぱい。
11/11/22 13:45:48.19 nY2IDWqE0
Fukidasiを二つ同時にだすことは可能ですか

328:名無しさん@お腹いっぱい。
11/11/22 13:57:29.23 nY2IDWqE0
PUBLIC clear_fuki = -1 // 消去する識別No.を指定する
FUKIDASI("main")
thread create_fuki(1, "aaaa", 100, 100) // スレッドにて吹出し生成
thread create_fuki(2, "bbbb", 200, 200)
thread create_fuki(3, "cccc", 300, 300)
sleep(3)
clear_fuki = 2 // bbbbbを消去
sleep(5)

// 吹出し生成 (pno=識別No.、msg=表示メッセージ、x,y=位置)
procedure create_fuki(pno, msg, x, y)
FUKIDASI(msg, x, y)
while clear_fuki<>pno; sleep(0.1); wend // 消去指定されるまで表示
Fend


これしか方法ないか

329:名無しさん@お腹いっぱい。
11/11/22 14:00:46.07 0Vz8p5PL0
>>327
できますよ

330:名無しさん@お腹いっぱい。
11/11/22 14:18:22.87 nY2IDWqE0
>>329
おしえていただけますか

331:名無しさん@お腹いっぱい。
11/11/22 19:40:28.55 5GYKnaiu0
>>330
だからできますって

332:名無しさん@お腹いっぱい。
11/11/22 20:13:51.19 aqyjJSd30
>>326
出来ました。どもです

333:名無しさん@お腹いっぱい。
11/11/23 19:59:47.06 WW8lFYXg0
ループ処理で使うカウンターが勝手にインクリメントされるから、
ディクリメント・ループが書けない。ゴミ言語だな。

334:名無しさん@お腹いっぱい。
11/11/23 20:17:47.72 dKKZTPir0
言語といえば言語だけど…そこまで行ったら自分で組む方が早くね?

335:名無しさん@お腹いっぱい。
11/11/23 21:18:24.83 wzzmYU4J0
UWSCでtwitterに自動で呟けたりしますか?

336:名無しさん@お腹いっぱい。
11/11/23 21:24:58.35 d6sk/n4+0
>>333
どういう意味? step -1 とかじゃダメなの?

337:名無しさん@お腹いっぱい。
11/11/23 21:40:50.79 4KoCrPGW0
デフォルトが step 1 になってるだけだよね。
他にカウンタがインクリメントされるループなんかあったっけ?

338:名無しさん@お腹いっぱい。
11/11/23 23:01:11.80 +wgWgFMDP
無いよそんなもん
ヘルプを読まない馬鹿がいるだけ

339:名無しさん@お腹いっぱい。
11/11/24 00:41:18.47 iwgJn0yc0
>>333
既にこれは「ヘルプを読まない奴」として否定されているわけだが…

n = 100
for i = 0 to n
 x = n - i
 print x
next

別にデクリメントループが構文として用意されないと誤解してても
『(不恰好ながら)書ける』だろ…とか思うわけで

340:名無しさん@お腹いっぱい。
11/11/24 13:01:18.76 Xjdue0Ae0
っていうかいつも while ばかり使ってると
for の存在なんて思い出しもしないw

n=100
while 0 < n
n=n-1
print n
wend

341:名無しさん@お腹いっぱい。
11/11/24 15:02:19.21 Rk+VpmeE0
とある掲示板でPro4.2+尻ってファイル見つけたんだけど、このkeygenで4.7aまでならいけるかな

342:名無しさん@お腹いっぱい。
11/11/24 19:23:17.57 GPYvU7K20
試した?

343:名無しさん@お腹いっぱい。
11/11/25 06:22:00.11 9/umpwPe0
ウインドウを閉じるんでは無くブラウザまるごと終了する方法ありますか
プロセスから切るにもchromeだからいっぱい出ちゃう

344:名無しさん@お腹いっぱい。
11/11/25 13:00:12.48 p+EqYULU0
>>335
botでいいだろが


345:名無しさん@お腹いっぱい。
11/11/25 16:40:11.51 6JjYuI9o0
>>343
窓タイトル = "Google - " //ウインドウのタイトル(の一部)を指定
def_dll PostMessageA(hwnd,int,int,int):user32.dll
PostMessageA(idtohnd(getid(窓タイトル)),$10)

346:名無しさん@お腹いっぱい。
11/11/28 05:12:01.88 /CGzuT+y0
>>345
ありがたや

347:名無しさん@お腹いっぱい。
11/11/28 11:28:49.79 ZZDnddLi0
ドラッグ&ドロップの方法を教えてください
『余分な時間、マウス~』のチェックを外してAからGまでD&Dさせたら、点A,B,C,D,E,F,Gを移動して記録させる方法は知ってるんですが、
点AとGだけを残してB,C,D,E,Fを省略する事は出来ますか?(BCDEFも表示させると時間が掛かるため)
よろしくお願いします

348:名無しさん@お腹いっぱい。
11/11/28 11:32:33.96 t/VZjk9M0
チェック入れて記録したらいいだろ

349:名無しさん@お腹いっぱい。
11/11/28 15:35:56.57 lNj7q3Yn0
初歩的な質問ですみません。
UWSファイルを難読化もしくは中の構文を見られないようにするには
どうすればいいですか?ご教授お願いしますm(_ _)m

350:名無しさん@お腹いっぱい。
11/11/28 15:39:27.19 CoKoKKvM0
ヘルプは一度上から下まで全部読んどけよ…そんなに量あるわけじゃないし。

ヘルプ→スクリプト→その他

351:名無しさん@お腹いっぱい。
11/11/28 18:30:38.88 lNj7q3Yn0
スクランブルってどうやるんでしょうか。
コマンドプロテクトで/A と打っても認識不可能なバッチと出るだけで何も
起きないです

352:名無しさん@お腹いっぱい。
11/11/28 18:51:27.35 jqFQ2BSr0
まさかと思うが、パスに半角スペースがあるというオチじゃないよな…

353:名無しさん@お腹いっぱい。
11/11/28 18:59:44.19 pCPDtoar0
>>347
Btn(LEFT,CLICK, A_X, A_Y, 0)
Btn(LEFT,DOWN, A_X, A_Y, 50)
Btn(LEFT,UP, G_X, G_Y, 50)

単純にこれでできたが・・・

354:名無しさん@お腹いっぱい。
11/11/28 19:17:09.94 lNj7q3Yn0
コマンドプロテクトでuwsc47bをcdで指定して
ディレクトリ移動する所までは分かったんですが
指定されたパスが見つかりませんとでます
uwsc47bはProgram Filesにあって

cd C:\Program Files\uwsc47bと打っても
そのフォルダに移動しないんです。
何故ですか?

355:名無しさん@お腹いっぱい。
11/11/28 19:42:24.08 NT6h79Cr0
スクランブルかけたいモノをC:直下に置くとかで良いじゃない。

356:名無しさん@お腹いっぱい。
11/11/28 19:49:30.66 CoKoKKvM0
ここまでパスに関して無頓着だとスクリプトの実行にも問題が出てこないか?
ファイル触りたいとかいう時困るだろうに。

357:名無しさん@お腹いっぱい。
11/11/28 19:53:24.52 CoKoKKvM0
っていうかコマンドプロテクトって何さ

知らない単語が出たら適当に自分の知ってる単語に置き換えてみるんだろうか?
知ってる単語でも音だけ知ってて意味は分からない単語なんだろうけど。

意味わからない言葉を適当に使ってみるって行動が理解できないよ。

358:名無しさん@お腹いっぱい。
11/11/28 20:12:24.70 lNj7q3Yn0
無知ですみません
C:直下のProgram Filesをcdで指定してもやはり指定されたパスが見つかりません。
って出ます
cd C:\Program Files で合ってますか?
 コマンドプロテクトじゃなくてコマンドプロンプトですね。すみません

359:名無しさん@お腹いっぱい。
11/11/28 20:26:17.68 rSlze9qY0
それ自体はあってるよ。

それ以外の要因が説明不足でエスパーが必要なんだろうね。
判るものも判らん。

360:名無しさん@お腹いっぱい。
11/11/28 20:26:51.15 CoKoKKvM0
散々適当書いてた経緯からして、ここに書いてあるパスと
実際入力したパスが違う可能性が否定できない…

あと、ブートドライブがCじゃない可能性も…

361:名無しさん@お腹いっぱい。
11/11/28 20:27:07.92 lNj7q3Yn0
解決しました
どうやら C:\のc:の部分がいらなかったようです.
コマンヂプロンプトのサイトの構文にはc:が入っていたので分かりませんでした;

362:名無しさん@お腹いっぱい。
11/11/28 20:27:17.46 rSlze9qY0
どうしてもわからないなら、>355 の言うとおり
UWSC.exe と 対象スクリプトをC直下に置けば良いじゃない。

363:名無しさん@お腹いっぱい。
11/11/28 20:28:09.48 lNj7q3Yn0
なんか自分で見てても文章が稚拙ですね~^^;
支離滅裂ですみません;

364:名無しさん@お腹いっぱい。
11/11/28 20:28:40.75 CoKoKKvM0
ずばり、Cドライブじゃなかったってオチか

365:名無しさん@お腹いっぱい。
11/11/28 20:32:59.42 lNj7q3Yn0


CD C:program files じゃムリでしたが
CD \Program files でいけました^^
まずDドライブっていうやつがないので;w;
でもDVD-RWっていうのがありましたがこれがDドライブなんでしょうか?

366:名無しさん@お腹いっぱい。
11/11/28 20:35:27.03 B+rdzsPG0
>>365
上のなんで\無くなってるん

367:名無しさん@お腹いっぱい。
11/11/28 20:38:39.97 lNj7q3Yn0
やったーーーーーーーー
出来ました^^
3時間も掛かっちゃったpwq
>>366さん
書き忘れましたすみません;
暗号化出来ました^^
でもORGファイルっていうのが出来たんですがこれは何ですか?

368:名無しさん@お腹いっぱい。
11/11/28 21:14:35.02 DelMMb6d0
^^;

369:名無しさん@お腹いっぱい。
11/11/28 21:24:57.65 CiLErwXn0
これ素でやってんの?

370:名無しさん@お腹いっぱい。
11/11/28 21:39:49.84 CoKoKKvM0
ここまで超弩級の初心者がスクリプトの内容を隠したがる理由って何?

またゲームマクロ関係の臭いがしてきた…

371:名無しさん@お腹いっぱい。
11/11/28 21:43:24.09 65S6433R0
だからこそだろw
ソース見られたら恥ずかしいじゃん

372:名無しさん@お腹いっぱい。
11/11/28 21:50:24.68 rSlze9qY0
自分を大きく見せるためだよ

373:名無しさん@お腹いっぱい。
11/11/28 21:52:16.25 ZZDnddLi0
>>353
教えて頂いたとおりにやってみたのですが、1行目でファイルを開いてしまいます
2行目でドラッグをしてる筈なんですが、Gまでカーソルが移動してもファイルは移動しないのです
A-G間を一気に移動出来ると良いのですが

374:名無しさん@お腹いっぱい。
11/11/29 00:22:34.51 6f1ikZrG0
>>373
具体的に何がやりたいんだ?
一応dropfileならコマンドあるような…

375:名無しさん@お腹いっぱい。
11/11/29 13:54:39.76 Wf2HEEvG0
>>373
353の一行目で何してるかわかってる?

376:名無しさん@お腹いっぱい。
11/11/29 13:56:36.68 Wf2HEEvG0
一行目のクリックと二行目の間にsleep置くか
一行目省くかで出来るだら

377:名無しさん@お腹いっぱい。
11/11/29 17:13:28.90 7tsIYmjQ0
質問です。
グローバル・スコープに組込み関数と同じ名前で関数がユーザ定義できてしまいますが、
コードが大きくなってしまい、組込みなのかユーザ定義なのか明示したくなってきました。
コード内で組込みであることを明示する書き方はあるのでしょうか?

例えば、
function Random()   ←ユーザ定義されたランダム関数
  ・・・・・
fend

procedure Shuffle(var OBJ[], TIMES=100)
  len = Length(OBJ)
  for times = 1 to (len * TIMES)
    c1 = Random(len)      ←こちらは組込みのRandom()を使いたい
    c2 = Random(len)
    ifb !(c1 = c2) then
      this.Swap(OBJ[c1], OBJ[c2])
    endif
  next
fend

378:名無しさん@お腹いっぱい。
11/11/29 17:41:41.51 JvceVNuB0
>>377
逆にユーザー定義の方をuser_RANDOMとかにして区別すれば?

379:名無しさん@お腹いっぱい。
11/11/29 18:00:40.49 7tsIYmjQ0
ユーザ定義のRandomも複数箇所で使っているので、
組込であることを明示できた方が変更箇所が少なくて済むんです。
だからBuiltin.Random()などと記述できればなーと思ったんですが・・・ヘルプを見る限りできなさそうですねぇorz

380:名無しさん@お腹いっぱい。
11/11/29 19:19:34.10 hLtj59jYi
>>379
そりゃ、求める方がおかしいからな
諦めて別名を使えよ

381:名無しさん@お腹いっぱい。
11/11/30 00:00:55.66 7tsIYmjQ0
予約語&関数一覧にある関数名がユーザで使える方がおかしくない?

382:名無しさん@お腹いっぱい。
11/11/30 00:24:34.22 vxsaB//g0
別におかしくないよ
関数をユーザーが上書きしたり改変したりといった具合にフックできる言語もある

383:名無しさん@お腹いっぱい。
11/11/30 00:31:31.53 Xo98chVK0
>>381
使えない予約語もあった気がする 具体名忘れたけど
randomはjs、javaを考慮して制約を外してあるとかじゃないかな…?

384:名無しさん@お腹いっぱい。
11/11/30 01:15:31.15 v4l4hkwp0
>>382
それは引数の型や個数で判別できる場合じゃないの?それで区別してくれれば問題ないんだけど、
UWSCは引数が違うといってエラーになるだけだからなぁ・・

385:名無しさん@お腹いっぱい。
11/11/30 06:53:29.22 08SXj0TB0
自作関数をrandomという名前にしなければならない理由はないだろ
ちょっと変更すれば済む話。

俺は自作関数で上書きすることで、スクリプトに手を加えることなくデバッグ出力とかできたらいいなと試してみたけど、
いったん上書きしたらもう標準関数を呼び出せなくなるんだよね。
だから>>379が言うような方法があればいいなと探してみたことはあったけどあきらめた。

けど今ちょっと思いついたぞ。
Withを使う方法だ。

DEBUGというモジュールとRELEASEというモジュールを用意して切り替えることで、
スクリプト本文に手を加えることなくデバッグモードの切り替えができる。

With DEBUG
  .関数()

問題はWithがどの範囲で使えるかだけど、関数内で宣言が必要だろうな。関数ごとに・・・
変数が使えればいいけど無理だよな。
C言語のDEFINEみたいのがあればヘッダを書き換えるだけだけど・・・


386:名無しさん@お腹いっぱい。
11/11/30 22:18:17.27 8ezR9SNv0
>>385
世間一般的な使いこなし術、とは違って
「他言語で実現できてる事」を工夫して提唱しても虚しいぞ。
結論として他言語に移れば良い。

別にWindowsの操作制御はUWSCの専売特許でもない。
ただ、初心者でも使いやすい記述とインターフェースがあるだけ…そこはものすごい利点なのだが。

387:名無しさん@お腹いっぱい。
11/11/30 22:37:21.30 yLeiwQBs0
その初心者向けにヘルプが充実してるところか。
悲しいのは敷居が低いからいろんなのがヘルプ読まずに質問するところか。

388:名無しさん@お腹いっぱい。
11/12/01 00:43:31.29 8QVbGduq0
ヘルプや例だけでは仕様が曖昧な記述も多いよ。

389:名無しさん@お腹いっぱい。
11/12/01 00:47:03.60 n0XSScXj0
そういう質問なら別にかまわん。

しかしそれ以前の質問多すぎるだろ…

390:名無しさん@お腹いっぱい。
11/12/01 12:15:23.09 GRaVA5bs0
ビットテストしたくて下みたいに書いたんだけど、もっとシンプルで実行速度が速そうなの組みたいんだけど
どうしたらいいんだろうか?
Procedure bittest(test)
 for i=0 to 3
  test2=test and power(2,i)
  select true
   case test2=8
    print test2
   case test2=4
    print test2
   case test2=2
    print test2
   case test2=1
    print test2
  selend
next
fend


391:名無しさん@お腹いっぱい。
11/12/01 13:49:09.37 GRaVA5bs0
>>390の補足
それぞれ立ってるビットによって別の操作をしたい
selectが条件一致したら抜けるんじゃなくて条件に一致した部分全部を実行して欲しい
bittest(6) で呼ぶと
2
4
って感じで表示して欲しい


392:名無しさん@お腹いっぱい。
11/12/01 14:32:22.84 AEqpRIzn0
チェックボックスのビット判定の例を見ると参考になると思う。

393:名無しさん@お腹いっぱい。
11/12/01 14:58:53.56 GRaVA5bs0
>>392
レスありがとう
そう言えばSLCTBOX()のチェックボックス指定した時ってビット演算で戻り値取ってましたね
早速例題ググってみます

394:名無しさん@お腹いっぱい。
11/12/01 16:08:10.80 1uXdCRi30
>>390
その4ビットだけならこれでいいのでは
procedure bittest(test)
if test and 1 then print 1
if test and 2 then print 2
if test and 4 then print 4
if test and 8 then print 8
fend

395:名無しさん@お腹いっぱい。
11/12/01 16:09:56.53 GRaVA5bs0
>>390だけど
Procedure bittest(test)
 if test and 8 then print test and 8
 if test and 4 then print test and 4
 if test and 2 then print test and 2
 if test and 1 then print test and 1
fend

にした
流しそうめんみたいに上から全部判定して別処理するんだったらこれが一番シンプルだと思った
答えてくれた>>392さんありがとう。サンプルコード見て閃いた
やっぱ素直に書くのが一番でした

396:名無しさん@お腹いっぱい。
11/12/01 16:11:25.72 GRaVA5bs0
>>394
おお!レスくれてたのか。ありがとうございます。リロしてませんでした。ごめんなさい
仰るように書き直しました。これに気付くまで数時間かかったのでありがとうございます

397:名無しさん@お腹いっぱい。
11/12/02 17:53:16.31 wLnc7Jgd0
32ビットとか使いたくなった時のために
こんな感じにしといたほうが無難ではないだろうか
procedure bittest(test)
bit = 1
for i = 1 to 32
if test and bit then print bit
bit = bit * 2
next
fend

398:名無しさん@お腹いっぱい。
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
目から鱗です!
確かにキー入力を使った時に現象が多発していました。
早速キー入力イベントを使ってみます。
本当にありがとうございます!


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