自動化ツールuwsc使い ..
446:名無しさん@お腹いっぱい。
10/05/16 06:56:22 xeTkbS2L0
>>445
ラーメンタイマー程度で見た目も精度もいらないんなら簡単に記述できるんですけど、
やっぱ画面とかあったほうがいいだろうし、そうすると有償版使うかHTMLのスクリプト使うか、
もしくはHSPなどを使ったほうがいいかもしれません。
sleep()を使った3分タイマーを作ってみました。
まあ、正確な時間を刻まないと生理的に受け付けないとは思いますが・・・単純なSleep()のループよりは正確です。
利点は・・・スクリプトなのにCPU負荷が小さいこと、なのに(多分)正確なタイマー。
欠点は・・・3分でもカウント(表示)が数秒ずれる。負荷を100%で動かすと表示が10秒単位でずれてしまう。
カウントのスリープ時間を自分で微調整する必要があり、結果がまちまちなこと。
ま、Gettime()のループにすれば正確になるんですが。・・・やっぱそっちでやった方がシンプルで分かりやすいかな?
// 3分タイマー
TIME = 60*3 // タイマーの時間
PUBLIC start_t = gettime()
print "start"
thread count(TIME)
sleep(TIME)
print "sleeptime:" + (gettime() - start_t)
msgbox("3分経ちました")
//およその残り時間を表示(表示のみ)
Procedure count(times)
for i = 1 to times
fukidasi(times - i)
// sleep(0.966) // +5秒
// sleep(0.9) // -3秒
sleep(0.93)
next
print "counttime:" + (gettime() - start_t)
Fend
447:名無しさん@お腹いっぱい。
10/05/16 07:55:08 QQZQPNYAP
>>446
ありがとうございました。
使わせていただきます。時間は適当でいいです。CPU負荷が小さいほうが
利点あります。
sleepの時間ってずれるんですね。はじめてしった。
いままで単純なsleep(1)で通してたんですが。
見てもわからないところばかりですが、このコードみて調べます。
ありがとうございました。
448:名無しさん@お腹いっぱい。
10/05/16 10:42:58 ieNwpaRT0
>>444
> TOPMOSTにしてないやつはなってないはずなので、
> 自分でどっちに制御したかを変数で持ってればいいんじゃね?
いや単にウィンドウの状態を変えるだけのスクリプトなんで、
TOPMOSTにした後は終了したいんですよ。
INIでも作ればいいのかもしれないですが、もっと直接的に取得する方法って無いもんかと。
ついでに言えば、ウィンドウのZ順?も取得・変更できたら嬉しい。
449:名無しさん@お腹いっぱい。
10/05/16 10:46:32 WMf1B8jLP
sleepがズレるわけじゃなくてsleep以外の処理でズレるんだよ
for文に使われる比較処理だってCPU使うし、もちろんsleepをコールする処理自身もCPU使う
だからCPUの負荷だけではなくクロック数やバス幅に影響してしまう
450:名無しさん@お腹いっぱい。
10/05/16 10:57:04 WMf1B8jLP
>>448
uwsc自体ではZオーダー提供していないんだから
自分でAPIを呼び出すしかないんじゃね?
451:名無しさん@お腹いっぱい。
10/05/17 01:50:05 i4pMt12q0
>>439
もう見てないかもしれんけど
マド作るなら今よりロビー等の変更が来てからの方がいいよ
画像の用意とか二度手間になる。
まじでやりたいなら教えてやるよ。
452:名無しさん@お腹いっぱい。
10/05/17 02:14:59 nvgS/jkJ0
>>451
マド死ねよ。
453:名無しさん@お腹いっぱい。
10/05/23 15:52:15 O7k5xAup0
uwscって意外と時間指定してボタンを押せとか
やるの難しいと思った
知り合いの家に行く間に、何回か録画ボタンを押して欲しかったんだが
プログラム書こうとして、全く歯が立たなかった
タイマー機能があるのを思い出して、事なきを得たが1時間半くらい悩んだんだよなw
と、思って今やったら、案外簡単に時間って取得出来るのね
あとはこれを上手い具合に変数に格納して、設定した時間と比較して同じになったら
〜しろって風にすれば、タイマー一丁上がりか
変数に155958みたいに格納出来れば楽そうなんだが
あー、A=15*10000+59*100+58でいいのか、簡単じゃん(^^;
俺アホス
454:名無しさん@お腹いっぱい。
10/05/23 18:51:26 yypYUx/y0
>>453
そのやり方もまだまだ。
なんとヘルプファイルにもっと良い時間の取得の方法が書いてあるんだぜw
…まぁ、変数をどういう使い方にするか、にもよるんだがな。
455:名無しさん@お腹いっぱい。
10/05/24 09:22:00 cYdOlD8C0
uwscがスクリプトを現在実行中かどうか確かめる命令はありませんか?
456:名無しさん@お腹いっぱい。
10/05/24 18:34:15 30r1mvWj0
>>453
数値を文字列として連結したければ
a=123
b=456
c=""+a+b
みたいにやればよし。c=a+""+bでもいい
> あー、A=15*10000+59*100+58でいいのか、簡単じゃん(^^;
これだったらA=""+15+59+58
457:名無しさん@お腹いっぱい。
10/05/25 19:52:53 Hp1Js47E0
テキストエディタでスクリプト書こうかなと思って先ほどフリー版uwscを導入したのですが
保存するときの文字コードや改行コードについてヘルプに書いてないのですが特に制限は無いですか?
458:名無しさん@お腹いっぱい。
10/05/25 21:12:54 HDkoFkpY0
>>457
書いてなくて安全策をとるなら普通Windows版アプリではShift-JIS+CRLFにしない?
459:名無しさん@お腹いっぱい。
10/05/25 22:29:28 Hp1Js47E0
windowsだからShift-JIS+CRLFとは限らないのにw
460:名無しさん@お腹いっぱい。
10/05/25 22:46:22 BuCIUw3E0
やってみればわかることを聞く人には向いてませんよ。
461:名無しさん@お腹いっぱい。
10/05/25 23:23:24 Hp1Js47E0
>>460
その程度の知識がないならわざわざレスしなくて結構・・・とだけレスしとく
462:名無しさん@お腹いっぱい。
10/05/25 23:24:48 Hp1Js47E0
あ、そうそう一言伝えますね
winだからsjisと決め付けてかかるのはやめたほうがいいですよ
463:名無しさん@お腹いっぱい。
10/05/25 23:42:12 PWagYqdo0
sleep(2)
sleep(2)
と
sleep(4)
は同じことですか?
464:名無しさん@お腹いっぱい。
10/05/26 00:45:15 tqM7XX7P0
>>455
タスクマネージャにuwsc.exeがあれば実行中かも。
メイン画面も1件としてリストに出てくるけど、見た目で実行中か分かるし。
コマンドはqprocess
>>457-462
試してみたけど、スクリプトの保存形式はunicodeでも動くけど、コードの扱いはシフトJISだね。
DEF_DLL MessageBoxA(HWND,pchar, pchar, DWORD): Long: user32.DLL
DEF_DLL MessageBoxW(HWND,pchar, pchar, DWORD): Long: user32.DLL
MessageBoxAなら保存形式に関係なくテキストが表示できるけど、
MessageBoxWだと文字化け。
>>463
微妙に違う。
sleep(2)×2の方がCPUを消費するし、時間もかかる。
465:名無しさん@お腹いっぱい。
10/05/26 01:15:34 HAnL27G70
なんで教えを乞う立場の者が煽れるんだろう。
基本的に人間ができてないな。
466:名無しさん@お腹いっぱい。
10/05/26 04:40:14 7RyXzF0VP
人間的云々言う場所じゃないだろ
嫌ならレスするなカス
467:名無しさん@お腹いっぱい。
10/05/26 07:11:30 L/ZmdYFd0
レスしているのは人工知能だよ
468:名無しさん@お腹いっぱい。
10/05/26 09:36:14 bXusYbn00
じゃあ俺も人口知能!
469:名無しさん@お腹いっぱい。
10/05/26 15:21:35 Ce2KrQJg0
このスレの人口分布
回答者・・・・・・・・・・・・・・・・・・・ 1%
質問者・・・・・・・・・・・・・・・・・・・10%
態度がでかい自称回答者・・・89%
470:名無しさん@お腹いっぱい。
10/05/26 18:00:04 DoB0DBXA0
なぜ態度のでかい質問者がないんだろう
471:名無しさん@お腹いっぱい。
10/05/26 18:03:02 Y3WtWtht0
実際はレベルの低い回答者が原因で荒れるからだろ
472:名無しさん@お腹いっぱい。
10/05/26 22:45:02 HAnL27G70
>>466
悔しそうだなwカスw
473:名無しさん@お腹いっぱい。
10/05/28 06:10:20 6og4XoNt0
ついでに書いておくと、Pythonの場合は保存形式の文字コードがスクリプトにも反映される。
だから大変。
Pythonでも新しめのバージョンでは、リテラル文字指定でユニコードに指定できたりする。
それよりこれ。
for i = 1 to 33000
navigate(url)
sleep(1)
next
この程度のスクリプトで逮捕ですよ。
【社会】 図書館HPにアクセス3万3千回で、会社社長逮捕。1秒に1回アクセス繰り返すプログラム作る…愛知
スレリンク(newsplus板)
474:名無しさん@お腹いっぱい。
10/05/28 11:11:33 kipVwqRc0
それは手動でやってても同じだわな。
問題なのはスクリプトじゃなくて意図。
475:名無しさん@お腹いっぱい。
10/05/28 12:08:01 XdAWpU3T0
>図書館のホームページに集中的にアクセスし、閲覧しにくくしたとして、 逮捕・・・
1秒間に3万3千回アクセスかと思ったら、1秒間に1回かよ?
逆に1秒間に1回のアクセスで重くなるHPなんて、どうやったら作れるんだよ?
476:名無しさん@お腹いっぱい。
10/05/28 12:10:35 N8m5GgbM0
>>473
お前素人だろ
477:名無しさん@お腹いっぱい。
10/05/28 13:27:01 kipVwqRc0
>>475
日本のお役所仕事を舐めちゃいけない
478:名無しさん@お腹いっぱい。
10/05/28 18:03:34 a1h0S9px0
>>475
きっと鯖が初代PC98のまま更新できなかったりするとそうなるんじゃね?
479:名無しさん@お腹いっぱい。
10/06/01 04:12:46 6RwPsnvD0
343 名前:名無しさん@十周年[sage] 投稿日:2010/06/01(火) 01:25:49 ID:SDO0GhkS0
楽天プライズでUWSCのスクリプトで24時間スロット廻し続けてたら対策された。
何時間も遊んでたら「遊びすぎじゃ、休憩せい」って弾かれる様になったのは
俺のせい。 楽天グッズとかショボイ景品が途中で出るようになったのも俺のせいかも。
ちなみに、ゴールドは長時間遊ぶほどに出玉が悪くなる仕様だと統計とれた。
480:名無しさん@お腹いっぱい。
10/06/01 09:26:32 OoGhQHoP0
20年以上動いてる鯖があるってのか
481:名無しさん@お腹いっぱい。
10/06/01 09:43:30 6RwPsnvD0
30年前のだって現役です
【大分】 「『ょ』入力できぬ」代わりに「き『よ』う子」と入力した健康保険証や年金手帳などを発行 年金事務所が謝罪
スレリンク(newsplus板)
> 同事務所が調べたところ、使用しているシステム(国が1980年に導入)は通常のパソコンとは違い、
> 「ょ」「っ」などは特殊な入力方法のため、職員が知らなかったらしい。
482:家電.com
10/06/01 09:47:46 Cz2396tn0
家電.com
HP
URLリンク(Kadencom.chochouo.com)
483:名無しさん@お腹いっぱい。
10/06/04 23:40:40 iS3gjDV40
2chなどでリンクを踏んだら直接リンク先に行くのではなく
リンク確認の画面に一度飛ばされるのですが、
その画面になったらすぐに次のリンクをクリックする
スクリプトを書きたいのです。
UWSCの誘惑にクリップボードのURLをブラウザに渡すスクリプトあるけど、
そうじゃない形で常に監視しておく形で次々にリンクを踏む形を
取りたいのです。
だれか書いてくださいませんか? お願いします。
初心者ながら書いているのですが
エラーがでてしまいます。
484:名無しさん@お腹いっぱい。
10/06/05 00:04:07 iS3gjDV40
こんなんじゃ、まだまだ遠いですか?
エラーでてとまっちゃいます
ctrlwin(getid("","TAppication"),activate)
STOPFORM(TRUE) // ストップボタン表示
ACW(0, 1150, 850)
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = true
X=0
repeat
IEid = GETID("Internet Explorer")
wks = GETSTR(IEid, 0, STR_STATIC ) // タイトルをGET
IFB POS("リンク確認", wks) > 0 THEN
MsgBox("発見")
sleep(0.5)
UNTIL !IE.busy AND IE.readystate = 4
ret = IELINK(IE,"上記のページにジャンプしようとしています。問題ない場合はクリックしてください")
x=x+1
ELSE
sleep(1)
ENDIF
until x <> 30
485:名無しさん@お腹いっぱい。
10/06/05 01:01:23 7xrzyNYi0
敢えて言おう。専ブラ使え。
486:名無しさん@お腹いっぱい。
10/06/05 01:32:53 sSGL2jFW0
初歩的な質問ですみません。
for i= 1 to 100
で回している間、実行したくない i に対して
if i=5 or i=10 or i=32 or i=56 then ・・・
の様に書いているのですが、 i= が多くなると書くのが面倒くさいのでもう少しまとめて
書く方法はあるのでしょうか?例えば
i=(5,10,32,56)
みたいに・・。これではダメだとは思うのですが、他の書き方で。
どなたかお願いします。
487:名無しさん@お腹いっぱい。
10/06/05 03:01:33 7xrzyNYi0
実行したくない数に法則性があるならそれを式にする。
単なるリストならそれを置換して作ってしまえば。
置換したくない番号の配列作っておいて、iをそれを比較するとか。
for i=0 to 10
if isNG(i) then print "NG:"+i
next
function isNG(num)
dim ng[]=5,10,32,56
for i=0 to resize(ng)-1
ifb num=ng[i]
result = 1
exit
endif
next
result = 0
fend
488:名無しさん@お腹いっぱい。
10/06/05 05:19:02 XHbnzUaJ0
>>486
基本的にない。
C言語ならこう書けるけど
switch{
case 5:
case 10:
case 32:
case 56:
コード;
break;
default:
}
でも、ORoperation()っていう関数を作ればそういう書き方は可能。
if ORoperation( i, 5, 10, 32, 56 ) then
って感じで。
まあ、数値の奴は配列に入れて渡した方がいいんだけど。
if ORoperation( i, Array ) then
function ORoperation( a, x1=0, x2=0, x3=0, x4=0, x5=0, x6=0 )
dim Array[] = x1, x2, x3, x4, x5, x6, 0 // 0はループ脱出条件
result = true
i = 0
while Array[i]
if i = Array[i] then exit
i = i + 1
wend
result = false
fend
動くかどうかは知らない。
489:名無しさん@お腹いっぱい。
10/06/05 05:37:27 XHbnzUaJ0
>>486
全ての場合にそういう共通処理が考えられるのなら、配列パラメタを使うべきかも
dim Pattern[101] // ="a","x","b","x","c"・・って感じで並べてもいい
Pattern[5] = "a" // 数値の方が扱いやすいが、とりあえず文字の方が分かりやすいかと。
Pattern[10] = Pattern[5] // 都度代入は変更がめんどいので
Pattern[32] = Pattern[5]
Pattern[56] = Pattern[5]
if "a" = Pattern[i] then
もしくは
select Pattern[i]
case "a"
コード
case "b"
case "c"
default
print "パターンなし"
selend
490:名無しさん@お腹いっぱい。
10/06/05 08:54:06 BLq+NU9U0
初歩的かもしれませんが自分ではちょっとできないので質問させていただきます。
Aという画像が始めない場合はそのままで、もし見つかったら次に画像Aが消えたときに各処理をしていくというものとして下のようなものを書きました。
while true
ifb chkimg(A) ・・・1
while true
ifb chkimg(A) ・・・2
else
処理
endif
wend
else
sleep(1)
endif
wend
実際に動かしてみたことろ処理が終わった状態でもずっと2のifbを続けます
そこでこのスクリプトに「特定のキーを押した場合1のループに戻る」といった機能をつけようと思ったのですが、
どこにどのような命令を挿し込めばいいでしょうか。
一応2のifbのあとにif GETKEYSTATE(VK_ESC) then exitを入れてみたのですがどうにも反応していないようです。
稚拙な文にてわからづらいところ多々あるかと思いますがよろしくお願いします。
491:名無しさん@お腹いっぱい。
10/06/05 13:14:44 hXFmkiOc0
>>490
処理が終わったらループから抜けるのを忘れてるんじゃない?
2 の IFB ブロックの『処理』で最後に BREAK すれば一つ上のループに戻るよ
492:名無しさん@お腹いっぱい。
10/06/05 15:14:33 XHbnzUaJ0
>>490
elseの処理に数秒以上かかるようなら、キー入力を拾えてないかも。
キーをクリックしてから1秒以上経過してからGETKEYSTATEを動かしても、
キー情報は消えてるっぽいから、押されてないことになってるんだよ。
ESCを連打していればそのうち抜けると思うけど。
493:名無しさん@お腹いっぱい。
10/06/05 18:08:16 7xrzyNYi0
>>490
while true
ifb chkimg(A) ・・・2
else
処理
endif
wend
2の結果にかかわらずずっとwhileループの中。
画像Aが無くなった後ずっと「処理」を続ける。
その間2はずっとfalseなんでifの直後つまりifがtrueの時実行される場所に
getkeystateを置いても実行されない。
入れるなら「処理」の直前。
while true
ifb chkimg(A)
while chkimg(A)
wend
処理
endif
wend
ていうかこんなんでいいんじゃないの?
sleep無いけど。
494:名無しさん@お腹いっぱい。
10/06/08 20:48:06 /dGW5DYk0
斧戦争ツール作れよカスども
495:名無しさん@お腹いっぱい。
10/06/10 23:23:04 t9RcVFEr0
スクリプトを指定した時間だけ動かすという方法はあるのでしょうか?
例えばスクリプトを走らせてから30分間とかです。
496:名無しさん@お腹いっぱい。
10/06/11 00:39:39 aLuYGiLxP
これはひどい
497:名無しさん@お腹いっぱい。
10/06/11 04:58:24 l1wBl/570
>>495
UWSCはメインが終了したら、他のスレッドが動いていても終了します。
だから、こんな感じでやれば30分きっかりで終了できますが、当然処理は無条件に中断します。
-- sample.uws ここから--
thread func()
sleep(30*60)
exitexit // 不要だが、ここで終了と明示する意味で。
proceduer func()
// 基本的にこちらですべて処理する
while true
sleep(1)
wend
fend
-- sample.uws ここまで--
中途半端に終了したくない場合、sleep(30*60)の代わりにGettimeのループで
今はダメっていうフラグを監視すればいい
f = false // 処理中フラグ。処理中はtrueがセットされる
t = GetTime()
while GetTime < t + 30*60
repeat
sleep(1)
until ! f
wend
ちなみに、この場合はrepeatじゃないといけない。
そうしないとsleep()してる間にフラグがセットされる可能性が高いから。
もっと確実にやるなら終了するぞっていうフラグも立てるべきかな。
498:名無しさん@お腹いっぱい。
10/06/12 13:07:37 1g6XM8MfP
あるウィンドウの子ウィンドウにドラッグドロップしたいんですが、子ウィンドウのIDはどうやって取得すればいいんでしょうか?
499:名無しさん@お腹いっぱい。
10/06/12 13:34:30 e7naQunBP
// 指定ウィンドウの ID を返す
戻値 = GETID( タイトル, [クラス名, 待ち時間秒, MDI子タイトル] )
引数
タイトル: 識別したいウィンドウのタイトル (タイトルの一部分だけでもOK)
クラス名: 区別に必要でなければ省略して構いません (前方一致でのみ部分指定可)
待ち時間秒: 確認できるまで指定された秒数待ちます (0.01〜)
0: 0.1〜10秒まで状況や負荷により自動判断 (デフォルト)
-1: 無期限待ち
MDI子タイトル: MDIウィンドウ中の子ウィンドウタイトル
500:498
10/06/12 16:28:35 1g6XM8MfP
そうではなくて、子ウィンドウのタイトルが分からない場合はどうすれば・・・
501:横レス
10/06/12 17:52:51 o26Fnx3o0
>>500
>タイトルの一部分だけでもOK
これでだめならGETALLWINで存在する全ウインドウのIDとってから消去法
またはなんらかのWIN32API(知らないけど探せばあるんじゃね?)でハンドル取得してHNDTOID
502:名無しさん@お腹いっぱい。
10/06/12 18:45:49 5Y2bRnnp0
参考になるか分からんが、ぴたすちおを使えば子ウィンドウ情報がみえる
503:名無しさん@お腹いっぱい。
10/06/12 20:19:26 e7naQunBP
//こういう事?
def_dll GetWindow(hWnd,long):long:user32.dll
GW_HWNDNEXT = 2
GW_CHILD = 5
uCmd = GW_CHILD
p_id = getid("親")
while true
c_h = GetWindow(idtohnd(p_id), uCmd)
if c_h = 0 then break
p_id = hndtoid(c_h)
uCmd = GW_HWNDNEXT
msgbox( status(p_id, ST_TITLE) )
wend
504:名無しさん@お腹いっぱい。
10/06/13 08:48:23 c9kd9eBN0
>>486
うんこ発見装置を授けよう
うんこ ="1 5 10 18 25 37 56 58 68 74 81 97 99"
for i = 1 to 100
if pos(i,うんこ) > 0 then print i+"に うんこ発見"
next
505:名無しさん@お腹いっぱい。
10/06/13 09:55:53 fmHGMG6r0
>>504
それ、致命的に駄目だろw
506:名無しさん@お腹いっぱい。
10/06/13 11:23:05 c9kd9eBN0
>>505
=0 に変更すれば処理したくないiの条件になるが何がダメなんだ?
理由を書いてくれ
507:名無しさん@お腹いっぱい。
10/06/13 11:47:08 o9NSeFNt0
>>506
自分で書いたのにためしに動作させてないのか?
一回動作させて、プリントログよく見てみろよ。1〜9まで全部条件に引っかかってるだろ。
508:名無しさん@お腹いっぱい。
10/06/13 12:05:28 86pvNGkL0
簡単な方法として、正規表現使えるようにすればいけるな
509:名無しさん@お腹いっぱい。
10/06/13 12:07:17 86pvNGkL0
ほかには、文字の前後にゴミつけて区切りをはっきりさせればいける
510:名無しさん@お腹いっぱい。
10/06/13 15:49:17 c9kd9eBN0
そうだったすっかりわすれてた悪いな
これでいけるだろ
うんこ =" 1 5 10 18 25 37 56 58 68 74 81 97 99 "
for i = 1 to 100
if pos(" "+i+" ",うんこ) > 0 then print i+"に うんこ発見"
next
511:名無しさん@お腹いっぱい。
10/06/13 16:31:53 lV2bpcq40
TOKEN() と連想配列でやってみた
DIM うんこ = "1 5 10 18 25 37 56 58 68 74 81 97 99"
HASHTBL hash
DIM str = うんこ
WHILE LENGTH(str)
hash[TOKEN(" ", str, TRUE)] = TRUE
WEND
DIM i
FOR i=1 TO 100
IF hash[i] THEN PRINT i+"に うんこ発見"
NEXT
512:名無しさん@お腹いっぱい。
10/06/13 18:09:26 Q8xDlz5x0
なるほど。
ハッシュテーブルならパターンが2次元配列で大量にあったとしてもすぐに発見できるね。
513:名無しさん@お腹いっぱい。
10/06/13 18:28:57 M6ZVIcE70
UWSCを使っていて、パスが通っていないのが使いにくい。
CALL文や、ライブラリファイルを別フォルダにした場合、等。
ディレクトリ検索と、よく使うファイルのパスを登録したファイルとそれを使うスクリプトを作って、
CALLやいくつかの変数(プログラムファイル名等)はそれを経由するようにするとか
出来ないことはないけど(CALLとか作る)、
シンプルとはいえ、結構素人が作っていいのか本格的な感じになる。
みなさんはどうしているの? ひょっとしてどなたかが作ったのがありますか?
514:513
10/06/13 18:31:58 M6ZVIcE70
>>513
すいません。誤記。
× (CALLとか作る)
○ (CALL2とか作る)
CALL2みたいな新しいprocedureを作ってそこからCALLを呼ぶ、という意味にしたかった。。。
515:名無しさん@お腹いっぱい。
10/06/13 21:06:35 E/dbXkmj0
>>511
変数strの参照部全部変数うんこだろw
516:名無しさん@お腹いっぱい。
10/06/13 21:48:07 lV2bpcq40
>>515
参照部とは?
TOKEN() は第二引数を破壊するので
うんこに配慮して、うんこの値をコピーした str を渡しました
517:名無しさん@お腹いっぱい。
10/06/13 21:53:05 E/dbXkmj0
>>516
ああごめん。ちっと勘違いしてたわ。
518:名無しさん@お腹いっぱい。
10/06/14 16:34:31 A4WmwryV0
ifb iegetdata(ie, true, "yes", "はい") > 0
iesetdata(ie, true, "yes", "はい")
sleep(0.5)
else
break
endif
iesetdata(ie, true, "yes", "確認")
これ、もう少し纏まりませんか。主に1.2行目・・・
アンケサイトで「はい/いいえ」で確認ボタン出るまで押すって奴なんですが
519:名無しさん@お腹いっぱい。
10/06/14 17:02:01 A4WmwryV0
While iegetdata(ie, true, "yes", "はい") > 0
iesetdata(ie, true, "yes", "はい")
sleep(0.5)
wend
iesetdata(ie, true, "yes", "確認")
あれ、こうか・・・?
520:名無しさん@お腹いっぱい。
10/06/14 17:32:38 jt+/tNC/0
そんなアンケートに価値はない
521:名無しさん@お腹いっぱい。
10/06/14 20:43:35 aNbH09Ww0
ifb CHKIMG(IMG , -1 )
BTN(LEFT,DOWN,102,715,579)
BTN(LEFT,UP,180,411,641)
else
(ifbの所に戻りたい)
endif
この処理を作りたいのですがelseをどう書けば良いんでしょうか。
イメージ画像が発現するまで待機する様な文が書きたいです。
if以外でも良いのです。
522:名無しさん@お腹いっぱい。
10/06/14 20:51:53 aNbH09Ww0
コンティニュー見つけました。
初心者ですみません。
523:名無しさん@お腹いっぱい。
10/06/15 22:23:39 Y3W88cOuP
短髪の女の子?がセックスをしながら世界一周を目指すという成人誌を見たことがあるのですが、分かる人いますか?
たしか3年ぐらい前の漫画だったと思います
524:名無しさん@お腹いっぱい。
10/06/16 01:11:20 jeyh3hPj0
どんな誤爆だよw
525:名無しさん@お腹いっぱい。
10/06/16 13:04:10 yLa0pynz0
これは大胆な確信犯だな。
面白そうだから探してくるわw
526:名無しさん@お腹いっぱい。
10/06/16 21:29:45 Z1Itnvke0
peekcolorを使ってB値だけを判定する方法を教えてください
527:名無しさん@お腹いっぱい。
10/06/16 22:16:46 nX9kgu9QP
結果をmsgboxで表示すれば目視で判定できます
それとも「どのように」判定したいのか指定があるんですかね
528:名無しさん@お腹いっぱい。
10/06/16 23:16:32 6Hb0U1Mg0
「記録」を使って、
作業に使うアプリをまとめて立ち上げたり、
新しいフォルダを生成したりする程度のヘタレた使用をしています
ヘルプを読んで起動オプションがあるのはわかりましたが
スクリプト実行、実行後はUWSC本体を起動したままにする場合
UWSC.exe /K スクリプト名
↑
この構文をどのように使えばいいのかがわかりません
例えば、こんな感じだと動きません
GETTIME()
HIDUKE = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2
EXEC("NOTEPAD")
SENDSTR(GETID("無題"), HIDUKE + "<#CR>")
UWSC.exe /K 日時出力.UWS
おそらく単純すぎて目の前に答えがあるのに、答えが近すぎて逆に自分の視界に入ってない状態だと思います
ヒントだけでも教えていただければ・・・・orz
529:名無しさん@お腹いっぱい。
10/06/17 03:11:51 sncjYoBq0
>>526
BってBGRのB?
(peekcolor(x,y) and $FF0000)/$10000
とか?
530:名無しさん@お腹いっぱい。
10/06/17 06:51:29 k9E1g4kJ0
>>528
exec
531:名無しさん@お腹いっぱい。
10/06/17 08:09:29 RfIdECVBP
>>528
ヘルプにある「その他項目」は文法の話じゃないよ
スクランブルのほうには書いてあるけど
コマンドプロンプトで起動する場合とかにパラメータを付ける話
532:名無しさん@お腹いっぱい。
10/06/17 18:34:42 Ff+fGhbK0
ご教授願います。
以下のスクリプトを作ったのですが、再生すると
行目のIFBに対しENDIFが閉じられていないと出ます。
どこがダメなのか教えてください
WHILE TRUE
ifb GETID(GET_ACTIVE_WIN) = GETID("paper man") then
Ifb PeekColor(512,384) = $FFFF00 then
BTN(LEFT,CLICK)
Endif
Endif
sleep(0.02)
WEND
533:名無しさん@お腹いっぱい。
10/06/17 18:47:12 +CCij1w00
>>532見た感じで適当なカキコすると
2行目のGETID条件の相方が変数or定数じゃないのが気に食わないんじゃね?
534:名無しさん@お腹いっぱい。
10/06/17 18:48:19 k9E1g4kJ0
>>532
それで動いたのでどこが悪いか判りません。
…正直、ゲームチートっぽいのは歓迎したくないなぁ。
535:名無しさん@お腹いっぱい。
10/06/17 18:50:44 x399c/MH0
チートじゃないだろ
カスが!発言に気をつけろ
次はないと思え
536:名無しさん@お腹いっぱい。
10/06/17 18:56:59 pUIHTkvJ0
まぁ、チートでは無いわな。
ちなみにuwscは、ゲームで使ってこそ価値のある物だと思うw
537:名無しさん@お腹いっぱい。
10/06/17 19:19:52 qd5QGDw6i
単純にゲームに対する不正だなw
538:名無しさん@お腹いっぱい。
10/06/17 19:29:39 sncjYoBq0
ゲームに対する不正のどこがチートじゃないのかkwsk
539:名無しさん@お腹いっぱい。
10/06/17 19:40:04 ydiblUFW0
チートの定義はクライアント内部からでしょ。
UWSCってローカルな情報で動くし。
よくわからん、やってる事は同じだなw
540:名無しさん@お腹いっぱい。
10/06/17 20:44:42 sncjYoBq0
定義も何もチートはcheatでそのまんま「不正行為」って意味だろうに。
内部も外部も関係ないだろ。
541:名無しさん@お腹いっぱい。
10/06/17 20:47:52 pUIHTkvJ0
直訳とゲーム用語だと少し違うんだよね。
542:名無しさん@お腹いっぱい。
10/06/17 20:50:44 k9E1g4kJ0
>>541
チートを「不正」以外の言葉で使っている場面を見たことが無い。
どんな独自の用語なんだよw
543:名無しさん@お腹いっぱい。
10/06/17 20:54:53 pUIHTkvJ0
めんどくさいなー。
同じ不正でも、"チート"と"操作の自動化"は違うのだ。
後は自分で調べてね。
544:名無しさん@お腹いっぱい。
10/06/17 20:57:16 l8wchoUV0
操作の本来実装されている以外の方法での自動化が認められたゲームなんかあるのか?
俺ルールでこんくらいはおkって思ってるだけだろ
545:名無しさん@お腹いっぱい。
10/06/17 20:57:56 k9E1g4kJ0
>>543
ま、結局不正なのは変わりないからなぁ…
546:名無しさん@お腹いっぱい。
10/06/17 21:40:09 RfIdECVBP
不正行為の総称・・・チート
自分を正当化するための魔法の言葉・・・操作の自動化
確かに違うね
547:名無しさん@お腹いっぱい。
10/06/17 21:58:48 lFzqbv68O
ん? 自動化も不正だぜw
確かに、データ改ざんの事をチートと呼ぶのが一般的かな。
548:名無しさん@お腹いっぱい。
10/06/17 22:04:40 SzGCTaJq0
そもそも「ズル」のことをチートっていうのであってつまりマクロだろうがパケットいじろうがチートだと思うんだが
549:名無しさん@お腹いっぱい。
10/06/17 22:28:29 lFzqbv68O
ネットで調べたけど、一応はコンピューター用語として載ってるな。
でも人によって認識のズレがあるみたい。
単純に区別しやすいようにチートとマクロを分けてるとも言えるし。
俺的結論。みんな正しいw
550:名無しさん@お腹いっぱい。
10/06/17 22:34:10 ydiblUFW0
ゲームで語るか大きな意味で語るかの違いだな
551:名無しさん@お腹いっぱい。
10/06/17 23:06:27 x399c/MH0
マクロのほうが的確
ゲーム見たらなんでもファミコンっていう親くらい違う
552:名無しさん@お腹いっぱい。
10/06/17 23:41:31 dSI3F+Sd0
チートって聞いたらドラクエのHP999を思い出した。
553:名無しさん@お腹いっぱい。
10/06/17 23:52:50 jN7punls0
そんなにネトゲの話題がしたければネトゲの板にマクロやスクリプトのスレ立てろよ
ここでネトゲの話題に反発してる連中もそこまで行って邪魔はしないだろうよ
554:名無しさん@お腹いっぱい。
10/06/18 10:30:47 RlvK9F450
while true
ifb CHKIMG(IMG , -1 ) or CHKIMG(IMG7 , -1 ) ←ここ
break
endif
btn(right,click,800,250)
sleep(0.5)
mmv(900,333)
sleep(0.5)
mmv(1050,333)
sleep(1.0)
ifb CHKIMG(IMG6,-1)
mmv(G_IMG_X,G_IMG_Y)
btn(left,click,G_IMG_X,G_IMG_Y)
sleep(10.0)
endif
wend
最初のIMGが無いのにこの処理が終わってしまうのですが
どこか間違ってますか?
555:名無しさん@お腹いっぱい。
10/06/18 13:17:56 RlvK9F450
別の文で解決しました
色を無視してるから何か引っかかってたのかも
556:名無しさん@お腹いっぱい。
10/06/20 16:51:16 iYsBGIJR0
MapleStoryというゲームでピラミッドというサバイバルゲームがあり、それは敵がたくさん出てきてそれを倒し、14分で全てが終わる
ゲームなんですが、1分50秒ほど早く終わってしまいます。ピラミッドの低レベル版の9分で全てが終わるサバイバルゲームでは、
ほとんどずれずに繰り返しできたのですが、ピラミッドで時間をずれずにUWSCでするにはどうしたらいいでしょうか?
557:名無しさん@お腹いっぱい。
10/06/20 18:29:19 PoKuH6O30
>>556
正確に行動するとか
時間やタイミングを合わせて行動するとかならここでもいいけど、
きっちり14分で敵を倒すやり方はゲームやキャラの詳細が分からないと答えようがないよ。
まずはきっちり14分で倒すやり方をメイポスレで聞いて来い。
558:名無しさん@お腹いっぱい。
10/06/20 19:35:11 l35pdc4w0
ずれるって事は記録機能を使ってるんだろうけど
自分で作れば可能、色々なサイトを見て少し勉強したらすぐできる
559:横レス
10/06/20 19:42:03 1vSDRlXF0
それも今のスクリプトの適当な場所にSLEEP(150)を挿入するだけっぽい
560:名無しさん@お腹いっぱい。
10/06/20 20:40:13 iYsBGIJR0
>>557
レスありがとうございます!
ピラミッド自体は普通にやっても14分で終わるんですね。ステージが5つに分かれていて、
敵が沸いてきたのを倒して、ゲージが0にならなければ次のステージに進めて、14分ちょうどに終わるんです。
詳細は↓ここに書いてあります。
URLリンク(maplesonar.com)
マクロで実行すると1分50秒早く実行を完了して停止してしまうんです。残った1分50秒の間にゲージが0になってゲームオーバーに
なってしまいます。
>>558
いろいろなサイトを見て勉強してみたいと思います。
>>559
動作を止めているとゲージが0になってしまいます。
みなさんありがとうございます。もっと考えてみようと思います。
561:名無しさん@お腹いっぱい。
10/06/20 21:23:06 PoKuH6O30
>>560
ACTゲージのMAX近くのドットをキャプチャ(PeekColor)して
赤っぽかったら数秒休む(Sleep(5))っていう処理を追加すればいい。
赤っぽいというのはRGB分解してRが128超えてたら赤っぽいということで。
そういう処理を一箇所に入れるだけで済むようにするには、全体の行動を一つのループに集約する方法がある。
もう一つの方法は、たとえばマウス、キーボードクリックをある関数経由にし、
その関数内で、実行しても良いか悪いか判断する。
その判断するフラグを別スレッドでループする監視処理。
そうすれば延々とキークリックを羅列していても1箇所書き換えるだけで済む。
関数名の変更はエディタの痴漢・・・もとい、チカン・・・・あれ?弛緩・・・
置換だ置換
それでやる。
562:名無しさん@お腹いっぱい。
10/06/21 20:42:32 2HQccvy70
>>473
やっぱりUWSCでもできるような単純な処理っぽい。
URLリンク(librahack.jp)
>朝日新聞「1回ボタンを押すだけで、1秒に1回程度の速度でアクセスを繰り返せるプログラムを作っていたという。」
>ローカル環境(Thinkpad+XAMPP【Webサーバー】)では、Eclipseの実行ボタンを押して、PHPスクリプトを実行していました。
URLリンク(librahack.jp)
>警察・マスコミ「HTTP500が発生した時刻を「停止日時」と表現。」
HTTP500 = 内部サーバーエラー
>朝日新聞:「ホームページの閲覧は21回停止されていた。」
>中日新聞:「計8回機能を停止させ、」
>読売新聞:「閲覧しにくい状態にさせ、」
>日経新聞:「21回にわたりHP閲覧をできないようにした。」
>毎日新聞:「サーバーを21回シャットダウンさせた疑いがある。」
>毎日新聞:「県警が25日に自宅を家宅捜索した際も自動アクセス中だったという。」
>ThinkpadのEclipse環境から、合計64,008回をリクエスト送信。
>家宅捜索のとき Thinkpad電源オフ。リクエストなし。
563:名無しさん@お腹いっぱい。
10/06/22 16:15:11 cUoPGlwu0
>>556ですがピラミッドマクロできましたw
攻撃する動作を追加していくっていうアナログな方法で作れましたw
564:名無しさん@お腹いっぱい。
10/06/22 20:18:25 FiBTNy8s0
ゲームマクロを作っていると気付く事になる。
あれ?めんどくさい処理を自動化してるんだよな?
なんでこんなめんどくさいゲームやってんだオレ
565:名無しさん@お腹いっぱい。
10/06/22 20:23:28 vfPNGvwL0
自動化って仕事(PC操作)を減らしてくれるはずが、自動化がなければとてもやる気がしないようなことに手をつけてしまい
しかもそれがあとから考えて意味あっただろうかと思うような行為だったりもする
スクリプトを組み動作を検証し改良する、という行為そのものが娯楽なのだ、と思わなければまさに愚行だたな
566:名無しさん@お腹いっぱい。
10/06/22 20:57:53 C+CRCydp0
uwscを覚えると、やるゲーム全てに対して
「これって自動化できるな」という目線で見てしまう。
567:名無しさん@お腹いっぱい。
10/06/22 21:52:31 q8DnHohU0
仕事になると、そういう目線は結構重要。
そんな俺は業務的にUWSCを使いまくり。無ければ仕事量的に処理出来ない…
568:名無しさん@お腹いっぱい。
10/06/22 22:49:31 jmCKgS7q0
業務でスクリプト書くとバグがあってそれに気づかなかった時が怖いんだよな…
発覚した時には遥か昔のデータまで遡って修正とか
楽してた分がカウンターとなって襲ってくる
569:名無しさん@お腹いっぱい。
10/06/22 23:19:31 q8DnHohU0
>>568
正直、気を使うことは確かだね。
過去数回、過去に遡る経験をしたが、新しく発見・修正スクリプトを書いて過去データを直したw
テキストエディタとヘルプ程度…+その問題が軽度である事前の注意力と幸運…が有れば、
その場でサクサクとスクリプト自体を直せるのは強み。 …臨機応変とはこの事か、と。
一般的なスクリプト言語と比べて、実行にスクリプト本体とuwsc.exeで可搬性が高いのはいいと思うよ。
WSHとは比べ辛いが、業務としてEXE化できるのはありがたかった。
…EXE化の利点って隠蔽化の外には、単体でスクリプトに対してD&Dが可能になる、って点が大きい。
570:名無しさん@お腹いっぱい。
10/06/25 23:50:53 NEYBETTk0
peekcolorでピクセル単位で場所を指定して監視するのではなく、
画面全体を監視する方法ありませんか?
色で判定を出したいです。
571:名無しさん@お腹いっぱい。
10/06/26 01:07:04 lUJoxFiZ0
>>570
チェックイメージを使うかピークカラーを画面全体行えば良いと思います
572:名無しさん@お腹いっぱい。
10/06/26 03:24:32 iR+AoK580
てて
573:名無しさん@お腹いっぱい。
10/06/26 06:44:01 YCZ3L8nQ0
絶対やっちゃいけないとまではいわないけど、Peekcolorを画面全体でまわすなんて駄目ですよ。
ためしにやったら1回のスキャンで58秒かかりました。
ほかのコンパイラ型言語でDLL関数でも書けばいいと思うけど、
それが無理ならhsp3っていうスクリプトを呼び出して処理するのがいいんじゃないかな。
URLリンク(fs-cgi-basic01.freespace.jp)
ここでhsp3の性能について語られています。
同じようにUWSCでテストしてみました。
数値の足し算が100万回で11秒 (HSP3の50倍)
文字列の連結が100万回で11秒 (HSP3の10倍未満)
peekcolor1280*1024に至っては58秒かかりました。(HSPの140倍)
もちろん僕のCPUは時代遅れなPenMですが、記事が書かれたのが僕がパソコンを購入してから1年後なので、
性能があちらが上だとしてもせいぜい2倍どまりでしょう。
画面をキャプチャするpeekcolorと、メモリをスキャンするpeekで比較したのは公平ではないかもしれませんが、
ドットをスキャンする方法がそれぞれ違うのでこれで比較するのが妥当だと思います。
文字列操作を多用するなら一桁しか違わないといえるので、hspを覚えなおすところまでは必要ないと思います。
しかし、計算速度が重要な画像処理をUWSCでやるのはさすがにナンセンスです。
UWSCでゲーム操作をやれるのは組み込みの検索関数があるからですよ。
HSP3を使うとして、言語は覚えなおさないといけませんが、せっかく覚えたUWSCの知識やスクリプトを無駄にすることはありません。
DLLランタイム経由で呼び出すことが可能です。
PC等 [ソフトウェア] “自動化ツールuwsc使いよ集まれ4”
スレリンク(software板:621番)
Googleのキャッシュにあります。
URLリンク(www.google.co.jp)
574:名無しさん@お腹いっぱい。
10/06/26 08:40:26 XkryZ5iqi
質問です。
AquesTalkのdllをロードしてwavファイルを出力したいのですが
///構文 unsigned char * AquesTalk_Synthe(const char *koe, int iSpeed, int *size)
///引数
///koe 音声記号列
///iSpeed 発話速度[%] 50-300 の間で指定 デフォルト:100 値を大きく設定するほど、速くなる
///size 生成した音声データのサイズが返る[byte](エラーの場合はエラーコードが返る)
///戻り値 WAVフォーマットのデータ(内部で領域確保、解放は呼び出し側でAquesTalk_FreeWave()で
///行う)の先頭アドレスを返す。エラー時は、NULL を返す。このときsize にエラーコードが設定さ
///れる。
DEF_DLL AquesTalk_Synthe(string, int): string: AquesTalk.dll
DEF_DLL AquesTalk_FreeWave(string): : AquesTalk.dll
sp=50
str="こんにちわ。"
fp = fopen("AquesTalk.wav", F_WRITE);
wav=AquesTalk_Synthe(str, sp)
FPUT(fp, wav)
fclose(fp)
AquesTalk_FreeWave(wav)
戻り値がデータへの先頭アドレスで帰されるので出力したwavファイルの中身は "RIFF4`" とwavファイルの
ヘッダの先頭部分のみになってしまいます。こういうアドレスの先頭・ポインタで戻り値が返された場合、
実体ののデータを取得するにはUWSCではどう記述するのか教えてください。
dllのロード自体がの記述が間違っているかもしれませんが、wavファイルを出力しない↓のコードでは問題なくできました。
DEF_DLL AquesTalkDa_PlaySync(string,int): int: AquesTalkDa.dll
sp=50
str="こんにちわ。"
AquesTalkDa_PlaySync(str,sp)
575:名無しさん@お腹いっぱい。
10/06/26 09:57:52 YCZ3L8nQ0
>>574
ポインタで受け取ったら、実体をコピーすればいいです。
> VB.net
> Declare Function lstrcpy Lib "kernel32.dll" (ByVal lpString1 As String, ByVal lpString2 As Integer) As Integer
UWSC
DEF_DLL lstrcpyA(string, Long): Long: kernel32.dll
DEF_DLL lstrlenA(string): Long: kernel32.dll
ここで文字列を格納する場所の確保が必要です。
できればstrlenAで文字列の長さを調べ、その長さのバッファを確保したほうがいいんですけど・・・
とりあえず空白文字列を代入で確保しかないです。
好きな長さにするには文字列連結回数で調整ですね。
wav = AquesTalk_Synthe(str1, sp)
str2 = " " //この長さを超えるとメモリが壊れる。
lstrcpyA(str2, wav)
FPUT(fp, str2)
ところで、.wav ファイルを開いているようですが、UWSCはテキストファイルしか扱えません。
仮に音声データでないとしたら、間違って再生してしまうような拡張子はやめるべきです。
メモリ破壊を防ぐには、lstrcpynA() 関数を使い、コピーする長さを限定します。
n = (str2とwavの短いほうを選択して代入)
lstrcpynA(str2, wav, n)
576:名無しさん@お腹いっぱい。
10/06/26 23:49:22 IdkQBLMFi
>>575
返事を忘れてました。申し訳ない。
書かれているように記述して実行してみたのですが、str2の内容が変わらずに出力されてしまいます。
色々試していたのですがどうも思うようにいきません。
>UWSCはテキストファイルしか扱えません
これは知りませんでした。
fputで出力するデータがテキスト形式ではなく、バイナリデータなので上手くいかないのかもしれませんが
もうちょっと自分の方で試してみます。レスサンクスでした。
577:名無しさん@お腹いっぱい。
10/06/27 07:46:07 iMo1l0nA0
>>576
すいません。
参照渡しが必要でした。
× DEF_DLL lstrcpyA(string, Long): Long: kernel32.dll
○ DEF_DLL lstrcpyA(var string, Long): Long: kernel32.dll
コピー元の方はvar なしでもいいんですけど・・・var がないとconst扱いなのかも。
DEF_DLL lstrcpyA(var string, string): Long: kernel32.dll
やっぱりバイナリデータですか。
UWSCでもポインタとして受け取ることはできているので、WindowsAPIを使ってファイルに保存することは可能でしょう。
しかし、CreateFileA、WriteFile、CloseHandle などの関数のほか、それぞれの引数も結構あるので大変です。
HSP関連には解説があるようですが・・・
URLリンク(yokohama.cool.ne.jp)
やっぱりSaveFileFromURL()みたいに一発で保存できる関数が欲しいところですね。
LightWave3Dとかいうやつだとバッファをファイルに保存するプラグインというのがあるようで・・・
メモ:
FileSystemObject はテキストデータのみ。
578:名無しさん@お腹いっぱい。
10/06/27 07:48:07 iMo1l0nA0
>>576
AquesTalk2ならAqTk2Appっていうツールがありますね。
UWSC的にはこのツールを自動操縦するのが趣旨にあってると思います。
579:名無しさん@お腹いっぱい。
10/06/27 08:49:30 ozy0IIj4i
>>577
あーやっぱ結構API関数たくさん使わないと無理ですか。ボチボチやってみます。dd。
>>578
以前にUWSCでSAPI関数使ってsapi5の音声エンジンを使って割と簡単にできたし、他のエンジンもCOMオブジェクトから
簡単にできたから、AquesTalkもできるかなと思ってやってみたんですけど失敗。
現在、半ば意地になってるのと、ついでにちょっとした勉強のつもりでやってるだけで、特にスクリプトを書いてどうこうしよう
と考えてるわけじゃないんです。でも情報d。
580:名無しさん@お腹いっぱい。
10/06/29 06:26:49 wrNX1tM50
ファイルに名前をつけて保存の時に、ファイルの種類がHTMLとかになってて、
flvとして保存しようとしても"〜.flv.htm"みたいに二重に拡張子がついてしまう。
ファイルの種類をいじるのもいいけどそれはめんどくさい。
保存するファイル名をダブルクォーテーションで括ってしまえば余分な拡張子はつかなくなる。
それはいいとして、今まで保存したファイルの拡張子を除去するのはめんどくさい。
ファイル名の一部に".flv"を含んだものを探すのもいいけど、
DOSでワイルドカード指定しようとしても.flvはファイル名に含まれてしまう。
UWSCで引数のファイル名を処理するのも考えたけど、実行形式にしないと受け取れないようなことがかかれてたような。
で、バッチファイルで何とかやりました。
割と簡単に記述できるんですね。
:loop
rename %1 "%~n1"
shift
if %1=="" goto end
goto loop
:end
581:名無しさん@お腹いっぱい。
10/06/29 20:22:17 m65QeqbN0
よかったね^^
582:名無しさん@お腹いっぱい。
10/06/29 21:33:15 fJb2X/gCP
たまにこういう超一方的なレスあるけど何なの?
他人にどういう反応を求めているの?
単純に不快にさせたいんだろうか
583:名無しさん@お腹いっぱい。
10/06/29 21:52:26 Qc35Lc290
過疎板や専門板だとよくあることだ
相手にするな
584:名無しさん@お腹いっぱい。
10/06/29 22:06:48 usZ+cNtA0
オナニーですから
585:名無しさん@お腹いっぱい。
10/06/29 23:12:57 wrNX1tM50
なんで不快になるのか分からないな。
「名前をつけて保存」に関する質問なんてしょっちゅうされてる。
とりあえずダウンロードしてからまとめてリネームすることもあるんだけど
名前が統一ルールならワイルドカード使ってコマンド1行で済むものを
拡張子を削ることができないためにいちいちバッチファイルでリネームするしかなかったので
そういうツールなどないかなあと思ったら拡張子削るだけで金を取るようなソフトしかなくて
いろいろ考えた末にいいものができた。
同じ悩みを持つ人はいるだろうし、自分のメモ代わりにもなるし、短くて邪魔にならないし応用も利くし、
何より話題がなくて過疎ってるから書いてるんだけど。
応用といえば有償版を買うメリットにドラッグ&ドロップをあげてる人いたよね。
DOSのバッチファイルで受け取ってスクリプトに渡せば有償版使わなくても済むことになるわけで、
ユーザーにしてみればお得だし・・・
別件をついでに書いておくけど、他のソフトとの連携がらみでイベントドリブンにできないかなあと考えてる。
>>573に書いたようにUWSCはなかなか遅いので、イベントドリブンにできればより快適に使えるんじゃないかと。
普通にDLL関数のように呼び出して実行が終わるまでとまっているって言うのもひとつの手だけど、
・・・いや、それが一番いい手かもしれない。
さっきまではOCX作ってOLEEVENT()で動かすのを考えていたけど、とにかくめんどくさい。
ただでさえIEをOLEEVENT()で動かそうとしてエラーでまくりでどう使えばいいんか分からなかったりするけど、
DLL関数として呼び出すならそういう問題は起きないはずだ。
DLL関数がコールバック関数を作ってメッセージループする・・実行ファイルを同期オプションつけてEXEC()するみたいな動作をすればいい。
取りあえず画面つきDLLを実行してイベント待ち関数を呼び出せばいいかな?
問題はどんなイベントをどんな渡し方するかだが・・
なんかめんどくさ
どんなソフトからも連携できるようにしようと思ったらやっぱり実行ファイルの呼び出しだけど、
・・・ああ、めんどくさい。
やっぱりファイルの存在チェックをループして具体的な処理はファイルの中に書くのが手軽だ。
テキストファイルはコマンドラインでも作れるし連携しやすいし。
586:名無しさん@お腹いっぱい。
10/06/29 23:53:55 mAsbzwiX0
自己完結している文を省けばすっきりするし読み易い
587:名無しさん@お腹いっぱい。
10/06/30 00:01:11 FGgZ44ac0
お前さんはペイントで物事が解決したら、
わざわざフォトショスレに報告するのかと。
588:名無しさん@お腹いっぱい。
10/06/30 00:43:22 cQDwcNUMP
何を不快と思われているかすら理解できていないのか・・・
そこから説明しよう
>なんで不快になるのか分からないな。
>「名前をつけて保存」に関する質問なんてしょっちゅうされてる。
お前のはお前自身が解決しているから既に質問じゃない
単なる日記だ
しかもダラダラ長いだけで読む人の事を完全に無視した超超一方的な内容
>>585をよーく見てみろよ
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4344日前に更新/257 KB
担当:undef