自動化ツールuwsc使いよ集まれ5at SOFTWARE
自動化ツールuwsc使いよ集まれ5 - 暇つぶし2ch450:名無しさん@お腹いっぱい。
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関数たくさん使わないと無理ですか。ボチボチやってみます。㌧㌧。

>>578
以前にUWSCでSAPI関数使ってsapi5の音声エンジンを使って割と簡単にできたし、他のエンジンもCOMオブジェクトから
簡単にできたから、AquesTalkもできるかなと思ってやってみたんですけど失敗。
 現在、半ば意地になってるのと、ついでにちょっとした勉強のつもりでやってるだけで、特にスクリプトを書いてどうこうしよう
と考えてるわけじゃないんです。でも情報㌧。


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をよーく見てみろよ

589:名無しさん@お腹いっぱい。
10/06/30 02:18:34 E6/1yF7a0
よくわからんけどファイルのリネームくらいならUWSCでもできるんじゃない?

590:名無しさん@お腹いっぱい。
10/06/30 02:25:37 yk18Gni00
>>589
UWSCでもファイルのリネームくらいならどの道DOS使うのが普通なんだけど、
問題はそのファイル名の受け渡しなんだよ。
Inputで多分ファイルパスの受付はできると思うけど、普通はひとつしか受け取らないもんだ。

>>587
そりゃそうだよ。
フォトショは起動に時間がかかるから、ペイントでちょちょいとできることはペイントにやらせるでしょ。
ペイントでもできるけどこんな大変だったよって場合は「やっぱりフォトショがあってよかったね」って話になるんじゃね?

フォトショ使ってる人って結構ペイントのこと知らないよね。


あとね、四則演算するときも俺はエクセルとか使わずにメモ帳と電卓を使うよ。
表計算の欠点は計算式が見えないことだね。
eval使えばいいかもしれないけど。

電卓なら「=」までをメモ帳に書いて電卓にコピペで計算できる。
1024*768*32/8/1024/1024=

もーちょっと複雑な計算に対応してくれたら便利なんだけど。

HDDで何ギガの制限とか言うときもこんな感じで電卓にこぴぺ
HDD容量は単位が違うからね。
128*1024*1024*1024/1000/1000/1000=

まあGoogle電卓がもーちょっと便利だけどね。
*じゃなくてxが使えるし単位とか入ってると分かりやすいし
128x1024^3/(1000^3)=
128x2^(10x3)/1000^3=
230km/17L=

591:名無しさん@お腹いっぱい。
10/06/30 03:25:13 E6/1yF7a0
よくわからんけどUWSCは電卓ソフトではないと思うの

592:名無しさん@お腹いっぱい。
10/06/30 07:47:56 w+UAShhg0
chkimgで画像の検索を左上から右下へではなく、右下から左上へ検索をかけていく方法はありますでしょうか?

593:名無しさん@お腹いっぱい。
10/06/30 08:55:27 WYppQ4gN0
探査順で言えば、無いと思う。


求めているものとは違うかもしれないが
帰ってきた個数でfor文まわして、ステップを-1で逆順からやるぐらいかなぁ。


594:名無しさん@お腹いっぱい。
10/06/30 13:14:19 w+UAShhg0
なるほど、探査順では無理なのですか
ありがとうございます!

595:名無しさん@お腹いっぱい。
10/06/30 13:55:13 L+4kKGni0
>>585
> なんで不快になるのか

他人のオナニーが快いのは変態以外の何ものでもないですから

596:名無しさん@お腹いっぱい。
10/07/01 20:10:04 OXLrb3Fu0
>>595 おい!お前!
他人(女)のオナニー見て興奮するオレに謝れ!
お前だってどうせYouTubeとかですぐ「オナニー」とかって検索するくせに!

597:名無しさん@お腹いっぱい。
10/07/01 21:36:50 JQqovf560
uwsファイル、またはexe化したuwsを起動時に引数を与えてselect case文にそれを適用するという方法はあるでしょうか?
そのまま起動したらデフォルト
~.exe -1 でcase1の動作
~.exe -2 でcase2の動作といった具合です。


598:名無しさん@お腹いっぱい。
10/07/01 22:20:08 qiUbeCCI0
>>597
param_str[]を使う

select param_str[0]
  case -1
    print "hoge"
    sleep(5)
  case -2
    print "fuga"
    sleep(5)
  default
    print "piyo"
    sleep(5)
selend

599:名無しさん@お腹いっぱい。
10/07/02 06:31:01 c3owuz6h0
これの言語ってなにになるの?

600:名無しさん@お腹いっぱい。
10/07/02 07:30:17 HelCeMPk0
uwsc。

601:名無しさん@お腹いっぱい。
10/07/03 02:18:17 LoG5i7vT0
webページに表示中の画像を全部保存するために

Temporary Internet Files内のjpgファイルを消去
指定URLをリロードして再表示
Temporary Internet Files内のjpgファイルを、指定URL名のフォルダをつくってそこにコピー

と、やれば表示中の画像は保存できるはずだ、と、ここまで考えたが
同じ目的のフリーソフトはぐぐれば簡単に出てきたので、UWSCで作るのはやめたのであった

602:名無しさん@お腹いっぱい。
10/07/03 20:47:52 I61lA7zx0
>>601
Temporary Internet Filesいじらなくてもどっかのフォルダに名前をつけて保存(完全)する考えが出てこなかったのかと
やめたんならいいけどさ

603:名無しさん@お腹いっぱい。
10/07/08 09:32:33 VGSbza+G0
何回やってもうまくいかなかったので質問させていただきます。
検索しても見つけられませんでした。

コードを見てください。

ファイルの中身はcsv形式です。
fid=fopen(...
lins = FGet(fid, -1)
for i = 0 to lines
lin[i] = FGet(fid, i+1, 1)
lin[i] = FGet(fid, i+1, 2)
lin[i] = FGet(fid, i+1, 3)
...
next

としているのですが、これを簡略化できないでしょうか?
ご存じの方はご教授願います。

604:名無しさん@お腹いっぱい。
10/07/08 10:31:01 VGSbza+G0
>>603 です

やりたい事を書いてませんでした。

lin[0]=FGet(fid, i+1, 1)
lin[1]=FGet(fid, i+1, 2)
lin[2]=FGet(fid, i+1, 3)
...

これを、例えば
dim lin[]=FGet(fid, i+1)
とか
dim lin[7]=FGet(fid, i+1)
などの様にならないかなぁ~と思っています。

もちろん、試したので上記の例えはNGと分かっています。

FOR の入れ子はちょっと・・・
同じようなこと試した方はいらっしゃいませんか?

605:名無しさん@お腹いっぱい。
10/07/08 11:43:42 OOcrcd230
>>604
基本機能に無いので、関数化するとかの対応が必要だろう。
forの入れ子はしょうがない。

function str2Array(str, Var array[], splitter=",")
 //スプリットして、配列サイズ整えて、配列に格納して参照渡し、resultは個数あたりを返す
fend

あとは、配列のコピー、配列ソート(+反転)、ぐらいを作ると楽です。

606:名無しさん@お腹いっぱい。
10/07/08 21:57:01 VGSbza+G0
>>605
ご返答ありがとうございます。

やはり関数化するしかないですね。
基本機能にないものは作っていこうと思います。
ありがとうございました。

607:名無しさん@お腹いっぱい。
10/07/09 16:06:17 hX8OxlDV0
自分用メモ

コマンドラインからのファイル圧縮
URLリンク(nasunoblog.blogspot.com)

コマンドラインで操作できるプログラムは、そのアプリにキー入力を送ったりダイアログにファイル名を送ったりするより、コマンドライン操作したほうがスマートにいくね!

uwscで表記した場合、たとえばこんな感じ
exec("C:\Program Files\WinRAR\WinRAR.exe x C:\tst\ttt.zip *.* C:\tst\")

AutoHotKeyだとこうなる(待ちを入れるならrunをrunwait
run, C:\Program Files\WinRAR\WinRAR.exe x C:\tst\ttt.zip *.* C:\tst\

608:名無しさん@お腹いっぱい。
10/07/09 17:39:08 dT0oVw9f0
すみません質問させてください

もし、aが60の時マウスを左クリックするという命令を作りたいのですがどう組めば良いでしょうか

a=0

while
sleep(1)
a+10
→このあたりにもしa=60の時クリックさせたいんです
continue
Wend

609:名無しさん@お腹いっぱい。
10/07/09 17:41:01 yIcWbCTj0
>>608
添付のヘルプにif文の書き方が載ってるよ

610:名無しさん@お腹いっぱい。
10/07/09 17:42:19 dT0oVw9f0
>>609
!!!
即レス感謝しますm(_ _)m

611:名無しさん@お腹いっぱい。
10/07/09 17:58:06 vOMsfoxV0
>>608
a = a + 10
としないと加算されないよ
んで、60のときという条件だと1回しか実行しないのにずーっとループしてることになるね。
60になるごとに実行なら、60になったときに初期値に戻すか、
if a mod 60 <> 0 then
って、60で割り切れたら実行するような処理にしないと。


>>580のバッチはファイルが別ドライブだと動かなかった。
そこで、最初に処理するファイルの場所に移動する。
cd /dは、ドライブも移動するオプション。
判定する位置も間違っとったので修正。

cd /d "%~dp1"
:loop
if %1=="" goto end
rename %1 "%~n1"
shift
goto loop
:end


612:名無しさん@お腹いっぱい。
10/07/09 19:19:11 vOMsfoxV0
ミス
バッチファイルは全角スペースを区切り文字として処理してしまうのでファイル名が壊れてしまっていた。

echo %1 >> log.txt
で確認。

半角スペースが入るファイル名の場合はダブルクォーテーションで括られているが、
半角スペースがないファイル名はダブルクォーテーションが付かない。
ところが、バッチファイルは全角スペースを区切り文字として見るのでファイル名が分割されて処理されてしまっていた。

UWSCから呼び出す場合は無条件にダブルクォーテーションをつければいいので問題ないが、
バッチファイルを直で呼ぶときにはそういう問題があるようだ。


613:名無しさん@お腹いっぱい。
10/07/09 20:42:22 yIcWbCTj0
>>612
まぁ、ロングファイルネームを扱うときの鉄則だよな。

<#DBL>で挟むだけの関数とか作ってるわ

614:名無しさん@そうだ選挙に行こう
10/07/10 15:47:58 YsZsiaJ20
他のスクリプトを組んでいて、設定した画像が出てきたときにその画像の一部をクリックしたいときには
どのようなスクリプトを組めばよいのでしょうか?

ifb CHKIMG("画像.bmp")

認識はこれでOKだと思うのですが、その後この画像のクリックが出来ません・・・
どなたかお願い致します。

615:名無しさん@そうだ選挙に行こう
10/07/10 16:28:45 ZGTswZRE0
戻値
  有ればTRUE、無ければFALSE
  TRUE の場合は見つかった座標を特殊変数 G_IMG_X、 G_IMG_Y に格納  

// タスクトレイのアイコンを左クリック
Ifb CHKIMG("タスクトレイアイコン.BMP")
  BTN(LEFT, CLICK, G_IMG_X+5, G_IMG_Y+5)
Endif

616:名無しさん@そうだ選挙に行こう
10/07/10 16:36:06 YsZsiaJ20
>>615
有り難うございます。
ちなみに+5というのはどういった意味合いを持つのでしょうか?
あともう一点なんですが、
連続して何回も画像認識をしたい場合は
Ifb CHKIMG("タスクトレイアイコン.BMP")
  BTN(LEFT, CLICK, G_IMG_X+5, G_IMG_Y+5)
Endif
これを複数回連続して使うことは不可能なのでしょうか?
何回も申し訳ありませんがお願いします。


617:名無しさん@そうだ選挙に行こう
10/07/10 16:38:48 YsZsiaJ20
例です
ifb CHKIMG("Aー.BMP")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y)
sleep(1)
endif
ifb CHKIMG("B.BMP")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y)
sleep(1)
endif
ifb CHKIMG("C.BMP")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y)
sleep(1)
endif
ifb CHKIMG("D.BMP")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y)
sleep(1)
endif
これでは3つ目と4つ目が実行されません・・・

618:名無しさん@そうだ選挙に行こう
10/07/10 17:00:17 2HeapwD30
>>617
無いからです

一つだけにしてみたり、状況によってドットが変わらないかのチェックは自分でしろよな。
画像チェックは、1ドットでも影が増して色が変わっただけでも反応しない。

試行錯誤は大切だ。

619:名無しさん@そうだ選挙に行こう
10/07/10 18:58:34 6eMuotW50
>>611
> cd /dは、ドライブも移動するオプション。

pushd使えよ。
それに

> if %1=="" goto end

これじゃ%1が空の時
if =="" goto end
になってエラーで終わってるだけじゃん。
goto endが実行されて終わってるわけじゃないぞ。

620:名無しさん@そうだ選挙に行こう
10/07/10 19:06:32 6eMuotW50
>>611
というかそもそもディレクトリの移動の必要が無いじゃないか。

:loop
if "%~1"=="" goto :eof
ren "%~1" "%~n1"
shift
goto :loop

これだけでいい。

621:名無しさん@そうだ選挙に行こう
10/07/10 19:21:32 2HeapwD30
UWSCや他スクリプトでディレクトリ移動は正直使ったことがなかった
pushdを始めて知ったよ。ありがとう。

622:名無しさん@そうだ選挙に行こう
10/07/10 19:38:28 6eMuotW50
UWSC単体でディレクトリ移動するコマンドってあるの?
いつも移動なしでフルパスかWScript.Shellを使うが…

623:名無しさん@そうだ選挙に行こう
10/07/10 19:43:37 2HeapwD30
>>622
いや、カレントディレクトリの概念は、
GET_CUR_DIR やGET_UWSC_DIR以上は当然フルパスだし
俺も知らないし、使った事もない。

pushdを始めて知ったというだけだよ。

624:名無しさん@そうだ選挙に行こう
10/07/10 20:23:54 ZGTswZRE0
>>619
あー、それでかあ。
"%1"とかすると展開されて"が二重についちゃうとか思って削ったんだけど、
:end以降のが処理されなくなってたんだよね。

「"」を削った上でつければよかったのか。


625:名無しさん@そうだ選挙に行こう
10/07/10 22:49:50 6eMuotW50
1行で

for %%i in (%*) do ren "%~i" "%~ni"

とかいうのも面白いかもね。
%1 といった風に裸で使うのはほぼ無いと思う。
ファイルから取得した実際に存在するパスじゃなくても動作するから
パス関係はDOSが便利。こんなのでも切り分けてくれる。

@echo off
set t=c:\abc\def\ghi\jkl.mn
call :sub %t%
pause
goto :eof
:sub
echo %~d1
echo %~dp1
echo %~n1
echo %~x1

626:名無しさん@お腹いっぱい。
10/07/13 23:15:48 6gpdqLry0
質問です

CHKIMG関数はあくまで画面上にbmp画像がある場合でしか判定してくれないのでしょうか
オプションの"IMG_MSK_BGR4"等で色幅をもたせればpng画像等も判別できるのだろうか
と思いやってみたところダメでした

ウィンドウに表示されたbmp以外の同じ絵を認識させる方法はないでしょうか

627:名無しさん@お腹いっぱい。
10/07/17 21:49:05 aJDaFmMW0
mouseorg(id, 2)
peekcolor(x, y)
をやった場合、最前面の色情報を取得してしまいます。
idで指定したバックグラウンドのウインドウの色情報を取得するようには出来ませんか?

明後日の妹の誕生日に間に合わせたいです、よろしくお願いします

628:名無しさん@お腹いっぱい。
10/07/17 22:42:17 r0Wg8T9f0
peekcolorは無理。以前掲示板上で出て作者自身が言ってた

629:名無しさん@お腹いっぱい。
10/07/18 22:30:57 91nLnL3t0
>>628
そうですかー、やっぱバックグラウンドでLvあげるマクロは
そう簡単に作れそうにないですね
妹の誕生日プレゼントにと思いましたが他のにしたいと思います

630:名無しさん@お腹いっぱい。
10/07/18 23:53:43 FSifaFLVP
Windowsで別アカウント作ってUWSCを動かしたまま
ユーザー切り替えって無理なの?


631:名無しさん@お腹いっぱい。
10/07/19 00:34:53 AuI5qRwh0
>>630
画面がない状態だからキーもマウスも使えないけど、スクリプトは動き続けるかもしれない。

>>629
ゲームマクロなんてBANされる原因になるからそんなもんを誕生日プレゼントになんかしたら最悪だよ。
なんなら僕が初体験させてあげてもいいけどどうすか?

632:名無しさん@お腹いっぱい。
10/07/19 14:52:45 qP7LYzIv0
マクロを動かす用のパソコンをプレゼントするんだ

633:名無しさん@お腹いっぱい。
10/07/19 16:40:40 o9pV2iSG0
参考になるかわからんが
仮想PC上ならウインドウを最小化してもuwscは動き続ける。

634:名無しさん@お腹いっぱい。
10/07/20 12:42:07 1LNIKTZk0
>>633
これ最強

635:名無しさん@お腹いっぱい。
10/07/20 16:03:45 2zhj0ynG0
>>631
27歳ですが・・・

636:名無しさん@お腹いっぱい。
10/07/20 22:02:28 dQHSvRS20
27歳なら、35歳の俺とry

ところで>>629ってのは、裏でレベルを上げながら
PCで他の作業がやりたいんだよね?

だったら仮想PCという答えが出てるじゃん。


637:名無しさん@お腹いっぱい。
10/07/20 23:15:54 reIAtfwA0
妹の・・・・笑ったw

638:名無しさん@お腹いっぱい。
10/07/22 08:59:39 4ke08AvI0
起動すると画面の解像度が変わってしまうゲームでCHECKIMG使いたいんですけど
画像をどうやって用意したらいいですかね
そのままスクショで保存したら大きさが違うせいか認識してくれないんです

639:名無しさん@お腹いっぱい。
10/07/22 09:59:14 xl2JwDzx0
すくしょはJPG圧縮するから色が変わる。
色を見ないオプションをつけるか最初からBMPで保存する設定にしないと。

640:名無しさん@お腹いっぱい。
10/07/22 12:22:02 4ke08AvI0
>>639

641:名無しさん@お腹いっぱい。
10/07/22 12:23:57 4ke08AvI0
↑ミスです

>>639
色が変わってしまうんですか
設定変えてもう一度試してみます
ありがとうございました


642:名無しさん@お腹いっぱい。
10/07/22 12:37:17 d8nqc9kb0
>>641ゲーム内のスクリーンショットよりプリントスクリーンで画像を保存して使ったほうがいいよ。


643:名無しさん@お腹いっぱい。
10/07/22 12:39:04 d8nqc9kb0
途中で送信おしちまった。

どんなゲームかはわからないけど、設定を「低」とかにして、1ドット分だけ切り抜いて検索させるといい。

644:638
10/07/23 10:19:34 WAhk26IS0
>>642-643
なるほど試してみます
ありがとうございます

645:名無しさん@お腹いっぱい。
10/07/25 03:13:10 aOCpJXAw0
メモ帳を起動させ、将棋の棋譜をコピペ
ALT+F →Aで名前を付けて保存

ファイル名を"kifu201007250245.txt"のような日付タイプにしたいので
KBD入力とGETTIMEを組み合わせてなんとか・・・

ここまでは、あまりスマートではないのでしょうが
初心者なりに満足はしています。


問題は保存先の指定が出来ずに悩んでいます。
何か良い方法はありませんでしょうか?

ファイル名をフルパスにしたりもしましたが、
たまに変なところに保存されてしまいますorz

646:名無しさん@お腹いっぱい。
10/07/25 03:28:49 7XlcaHq80
>>645
フルパス名をダブルクォーテーションでくくる。


ファイル名は文字列変数で編集したらSendTextで送るだけでいいよ。
KBDはいらないし、GetTimeをどう使ってるか知らないけどやらない方がいい。

でも、ダイアログを出さないやり方の方がすばやくできるよ。
FOPEN()とかでまずファイルを作る。
ファイルはすぐ閉じる。
ファイル名はすでについているので、そのファイルを開く。
メモ帳にコピペ
SCKEY(ID,Ctrl,S)みたいな感じで上書き保存。


647:名無しさん@お腹いっぱい。
10/07/25 05:40:17 aOCpJXAw0
>>646
ありがとうございました^^
イメージしていなかった方法で、私に出来るか不安でしたが
キーワードをいくつか出してくれたので、何とかなりそうです

保存場所を指定した時間軸付きのファイルも1~2行で作れちゃうもんだったんですね^^;

648:名無しさん@お腹いっぱい。
10/07/26 13:04:20 k4CO6xIK0
下記のサイトに紹介されてたカナン(ブラウザゲーム)での狩りを試してみましたがうまくいきません・・・
uwscにmobのフォルダ作ってmob画像.bmp入れたのですが・・・
何がいけないのでしょうか?

URLリンク(uenomemo.blog31.fc2.com)
URLリンク(blog-imgs-44-origin.fc2.com)

649:名無しさん@お腹いっぱい。
10/07/26 13:35:11 BhA2wW+40
そのサイトで聞いてください

650:648
10/07/26 15:21:52 k4CO6xIK0
お騒がせして申し訳ありませんでした。
どうやら画像ファイルの作り方が悪かったみたいです。
無事動きました。


651:名無しさん@お腹いっぱい。
10/07/27 19:47:07 WMMGgM0X0
繰り返しについて・・・
for 回数 = 1 to 10
          ↑
10の部分をランダムにしたいんですが
0と1じゃ駄目なんで、2~10等に変わる感じにしたいです
よろしくおながないしますm(_ _)m

652:名無しさん@お腹いっぱい。
10/07/27 21:13:18 4sN4iz/W0
意味不明

653:名無しさん@お腹いっぱい。
10/07/27 21:20:06 4sN4iz/W0
もしかして random(9)+2 とかいうレベルの話だったんかな?

654:名無しさん@お腹いっぱい。
10/07/28 08:45:39 mZiLqyDj0
>>953
トンクス
ちょうど自己解決したところだったんだが
最初(8)に+2で10になると思ってたら0も含めた8なのな・・・^^


655:名無しさん@お腹いっぱい。
10/07/31 19:02:04 d6UOCQyK0
今日無料のをダウンロードしました。

エクセルやデスクトップでは問題なく使えるのですが、
IE上では保存時に『保存すべきデータがない』と警告されます。

何が原因なのでしょうか?
ご教授お願いします。


656:名無しさん@お腹いっぱい。
10/07/31 20:46:18 Ew6RvKel0
>>655
Web上のコントロールは見た目は同じだけど、Windowsの標準コントロールを使ってるわけじゃなくて
IEの内部で動かしているだけ。
仕組みが違うので標準の記録ツールでは記録できない。

有料版のRecIEで記録すればちゃんと記録できて保存もできる。


657:名無しさん@お腹いっぱい。
10/08/01 21:56:15 vShdqIJrP
Firefoxで、サイト上のフォーム名を指定して文字列を入力ってできない?
ググってもIEのことばっかりで・・・
sendstrだとちょっと使い勝手が悪くて・・・

658:名無しさん@お腹いっぱい。
10/08/01 22:37:32 btdI04e30
>>657
WinHttp.WinHttpRequest.5.1 や Msxml2.ServerXMLHTTP
とかはマジでお勧め。

ブラウザ依存しない代わりに、HTTPの仕様やPOSTやGETの仕様を学ばねばならぬがな。

659:横レス
10/08/02 18:44:59 JJ+XL60D0
>>658
そこら辺の足回りはIEと共通なような?漏れはそのままIEリモート操作使う

660:名無しさん@お腹いっぱい。
10/08/02 19:14:20 Cipvvh8p0
>>657
なんで”FireFoxで”なのかなとか思ったけど、いろいろアドオンが使えるんだね。
まとめてダウンロードとかするのかな?

UWSCでFireFoxはちょっと現実的じゃないよ。


661:名無しさん@お腹いっぱい。
10/08/03 01:30:02 1JFEwvbwP
アドレスバーにjavascript:のURIを書き込んで実行すればいい

662:名無しさん@お腹いっぱい。
10/08/06 14:40:58 JYrNWcDP0
uwscシェアウェアに金払うよりAHKやAutoITのほうが高度なことできるし無料なのに
uwscを使う人は何故uwscを選択したのですか?

663:名無しさん@お腹いっぱい。
10/08/06 14:57:16 W74hQXM80
freeのしか使わんが、日本語環境向けに作ってない奴は
とかく日本語を扱った時の問題が多くて面倒。

高度なことをやるならC#とか行った方がいいしな。

664:名無しさん@お腹いっぱい。
10/08/06 19:37:23 8YuvCzWC0
>日本語環境向けに作ってない奴は
>とかく日本語を扱った時の問題が多くて面倒。

え?

665:名無しさん@お腹いっぱい。
10/08/06 19:42:51 pDR/fTRv0
ヘルプ(上級者もリファレンス的に使ったりすると思われる)は
母国語のほうがやっぱり楽というのもある

666:名無しさん@お腹いっぱい。
10/08/06 23:01:41 tW5dfjBO0
Shift-JISの扱いは面倒だな。
あとUWSCは最初からターゲットウィンドウのハンドル使ってたが
AHKやAU3は基本はアクティブウィンドウが対象だったし。


667:名無しさん@お腹いっぱい。
10/08/06 23:14:10 c6pCZ1eU0
uwscは処理が遅いけどゲーム用スクリプト書くと厨房がHPにアクセスしてくれるんでそれだけでやってます
本業はAC TOOLだけどね

668:名無しさん@お腹いっぱい。
10/08/07 00:20:53 9TXxC+F+0
IEを自動操作するには 6,720円払わないといけないの?
無料で手に入れる方法ない?

669:名無しさん@お腹いっぱい。
10/08/07 00:23:06 EtXi5Akg0
本業としてUWSCを使いまくってしまっているなぁ。
業務アプリを外部から自動操作するのに凄く役立ってる。手動操作しか考えてないアプリのなんと多い事よ。

世に言われる一般言語で、ctrlwin, getitem, clkitem, getstr, sendstr の処理って出来る?
.netFrameWorkあたりでサクサク出来るなら試してみたいわ。

670:名無しさん@お腹いっぱい。
10/08/07 01:12:04 9EzTUoPY0
>>669
スパイツール使ってコントロールIDを取得すれば標準APIのPeekMessage()とかでコントロールできるよ。
文字列の受け渡しはちょい面倒かも。


671:名無しさん@お腹いっぱい。
10/08/07 02:42:05 gkyQg9vD0
>>669
WSH、VBS

672:名無しさん@お腹いっぱい。
10/08/07 10:27:33 N0HExwAC0
>>668
COMが使えるソフトならできる
AHKとAutoITは無料でできる

673:名無しさん@お腹いっぱい。
10/08/07 10:38:48 YAKDDRNt0
仕事で客に頼まれて作る事ので入れてるけどプライベートは使い物にならない
しょぼいツールに金払ってる情弱がバカに見えて仕方がない

674:名無しさん@お腹いっぱい。
10/08/07 12:07:09 uQIZNZs70
なんで管理人以外の人が
>ココは「UWSC」の掲示板ですので、ルールを守り、UWSC特有の質問や、バグ報告などをピンポイントで交わすのが主だと考えています。
って決め付けるんだろう。質問が気に入らないならパスワード制掲示板でも作ってもらえよ


RE:エクセルデータでの比較分岐 Liners

質問がオウム返しなので、プログラミングの基礎を学んでいただく必要がありそうですね。残念ながらココは、プログラミングの基礎を質問する場ではないと考えています。
ココは「UWSC」の掲示板ですので、ルールを守り、UWSC特有の質問や、バグ報告などをピンポイントで交わすのが主だと考えています。

例えば、

Call マクロ1
// id の取得方法が分らない。
if id = 前回 then Call マクロ2
前回 = id

としたが、id の取得方法と繰り返しが分らないなど。

675:名無しさん@お腹いっぱい。
10/08/07 12:17:48 RxyiB9bA0
・シェアウェアにしないとEXE化もできない
・記録ツールがIE限定。しかもシェアウェアのみ(笑)
・処理速度が遅い・不安定・実行結果があまり信用できないのでシビアな処理には向いてない
・他のツールでは出来る事が出来ない
・ライセンス販売しててもサポートが適当・ユーザー層も親切な人がほとんどいないので自分で解決する能力がないと厳しい
・早いうちに他に移住したほうが良い
・海外ツールより全ての面で劣るのにライセンス6720円というボッタクリ


今は海外ツールでも日本語化ヘルプとかあるから乗り換えは楽だぞ

676:名無しさん@お腹いっぱい。
10/08/07 13:26:22 35jcw7Oi0
>>675
> 今は海外ツールでも日本語化ヘルプとかあるから乗り換えは楽だぞ

日本語ヘルプが原語ヘルプと同レベルに充実してる海外ツール教えて。

677:名無しさん@お腹いっぱい。
10/08/07 13:34:25 35jcw7Oi0
そもそもこのスレの住人は乗り換える必要性そのものを感じてないと思うがな…

記録ツールなんぞ最初から使わんし。
自分のミス以外で不安定さなど感じたこと無いな
サポートなんかイラネ。ちゃんとしたヘルプありゃ自分で解決できるし。
逆にサポートが必要なヘルプ未整備なツールなんて論外だわ。

678:名無しさん@お腹いっぱい。
10/08/07 14:01:22 CH089CZh0
>>672
uwscでも無料でできるだろw

679:名無しさん@お腹いっぱい。
10/08/07 14:22:14 9EzTUoPY0
>>675
EXE化は便利だろうけど、生のスクリプトが残ってないと変更できないよね。EXEとソースのバージョン管理できる?
たとえば自動ログオンとかが基本的な使い方の一つになるけど、IDやパスワードはどこに保存する?
セキュリティがいらないならスクリプトに書いておけばいつでも確認できるし変更もできるよ。

複数のスクリプトを動かすのにEXE化してないといけないと考える人がいるかもしれないけど、
関連付け起動すれば複数同時起動できるし。

680:名無しさん@お腹いっぱい。
10/08/07 14:28:17 9EzTUoPY0
>>675
> 不安定・実行結果があまり信用できない
信用をどのレベルで考えるかによるけど、考慮してない動作をされればおかしくなるのは当然。
だけど、かなりの部分はマクロ的な処理を取り除けば対処できるよ。

> ユーザー層も親切な人がほとんどいない
規制食らって出てこれないこともあるけど、俺数年常駐してるんですけど。
だけど>>674みたいな質問を延々とされるとそりゃー拒否しますよ。
そういうのはまとめられたドキュメントを読んだほうが早いからね。

> ・他のツールでは出来る事が出来ない
むしろ逆で、フリーソフトでできないようなことをするために使うものですよ。

> ・海外ツールより全ての面で劣るのにライセンス6720円というボッタクリ
無料の機能だけで済ませばいいでしょ。

681:名無しさん@お腹いっぱい。
10/08/07 14:32:48 t9aVUOoRP
>>679
EXE化の目的はuwscを入れてない人の譲渡用とかなので
ちょっと論点がズレてるような

682:名無しさん@お腹いっぱい。
10/08/07 15:07:03 Y/K7lnXh0
>>680
>むしろ逆で、フリーソフトでできないようなことをするために使うものですよ。

お前は何を言ってるんだ

683:名無しさん@お腹いっぱい。
10/08/07 16:23:38 9EzTUoPY0
>>681
UWSCフリー版をセットで渡せばいいんじゃね?

で、メニューに
> start uwsc.exe 自作.uws
っていうコマンドを登録。

フリー版にない機能ってIERecとかの他にはエクセル操作のところですよね。
あ、フォームがあったか。
Pro版の機能を使う場合で配布が必要なら確かにEXE化が必要かも。

684:名無しさん@お腹いっぱい。
10/08/07 16:34:34 y0cjyvyY0
スクリプトにuwsc実行ファイルをセットで配布するのは禁止されてる訳だが・・・

685:名無しさん@お腹いっぱい。
10/08/07 17:29:24 m1KQHGT30
あれ、このソフトに金払ったっけ
思い出せないw

686:名無しさん@お腹いっぱい。
10/08/07 17:39:25 QlRiIcV00
ネット接続があれば本家から落とさせればいいかと
スクリプト配布にEXE化が必須なのはいまどき珍しいオフライン環境ぐらい

687:名無しさん@お腹いっぱい。
10/08/07 19:37:44 a+4o6aGY0
一昔前はuwscは確かに主流だった
今はuwscは初心者用な所に至った
流石にuwscが最強だと思って使い続けてる人は居ないと思うけど

688:名無しさん@お腹いっぱい。
10/08/07 21:24:38 WmmjjtAx0
uwsc程度の簡単なツールで公式掲示板で偉そうに回答してる人の気持ちが分からない

689:名無しさん@お腹いっぱい。
10/08/07 21:35:08 35jcw7Oi0
何でもかんでも偉そうだと勘違いしちゃう人の気持ちも分からんね。
何かコンプレックスでもあるのかしらん。

690:名無しさん@お腹いっぱい。
10/08/07 21:50:57 t9aVUOoRP
底辺プログラマは常に見下され、罵られる存在なんだよ
だからLinersとかいう人はプログラミング出来ない人を見つけては
偉そうにしている可哀想な人なんだ

あの掲示板はむしろ自己解決が出来ないプログラミング初心者のために
あるべきだと個人的には思うんだが
ヘルプを使いこなせる(はずの)人なら質問なんてそもそも不要なのだから

作者はLinersに注意を促したほうがいいよ

691:名無しさん@お腹いっぱい。
10/08/07 23:19:18 jc3OO7yP0
本日のLinersさんのIDはどれかな

692:名無しさん@お腹いっぱい。
10/08/07 23:22:41 jc3OO7yP0
偉そうな態度じゃないなら>>674みたいな上から目線の回答なんて事を書かないよね


693:名無しさん@お腹いっぱい。
10/08/09 17:07:20 C2Il1A6zO
初歩的な質問させて下さい。
数種類の画像(A.B.C.D)があり、そのいずれかがあった場合指定した動作を実行するにはどうすれば良いのでしょうか?

fb chking("A.bmp")
動作
endif
fb chking("B.bmp")
動作
endif

の様にするしかないのでしょうか?

694:名無しさん@お腹いっぱい。
10/08/09 18:22:46 vISs9FQW0
>>693
chkimg は座標を返すわけだけど、その座標を使うにはそういう書き方をするしかない。
ただ、どれかひとつあった場合に、とりあえずその一つだけ処理するということなら、
chkimg をまとめることで処理を一箇所だけに記述することができます。

関数化するのが普通だけど、break 2 というのが使えるのでそれを使って記述してみます。

while true
 while true
  ifb chking("A.bmp") then
   break
  else
   break 2
  endif
  // "B.bmp" ~ "D.bmp"まで記述
 wend
 // 見つかった場合、break でここに飛ぶ
 // ここに見つかった場合の処理を記述
wend
// 一つもなかった場合、break 2 でここに飛ぶ

695:名無しさん@お腹いっぱい。
10/08/09 18:29:56 vISs9FQW0
>>693
でも、処理をループの奥に記述すると分かりにくいですよね。そこで関数化してみます。

ifb MYchking("A.bmp", "B.bmp", "C.bmp", "D.bmp") then
 【処理】
enfif

Function MYchking(Pic1, Pic2, Pic3, Pic4)
 for i = 1 to 4
  Pic = eval("Pic" + i)
  ifb chking(Pic) then
   result = true
   exit
  endif
 next
 result = false
 exit
Fend

>>694との違いは、いずれかが見つかった場合に1度しか処理しないことです。
もし1~4の画像を順に調べたい場合はループする必要があります。

もちろん、MYchkingを繰り返し実行することで1~4の全てを処理しますが、
1の出現回数が多すぎる場合は2~4まで回ってこないということが起こりえます。

出現頻度の低いものを先にチェックすれば、効率は悪くなるものの、それ以後に回ってこないということはなくなるでしょうね。
その辺の調整は調べる対象次第になるでしょう。


696:名無しさん@お腹いっぱい。
10/08/09 18:39:48 C2Il1A6zO
>>694-695
詳しく教えていただき、ありがとうございます!
調整含め、早速試してみたいと思います。

697:名無しさん@お腹いっぱい。
10/08/10 04:30:14 tFoU40cT0
最近uwscを使い始めたのですが、
chkingで画像を探してクリックするように
web上のリンクor文字をクリックさせるコード的なものはあるのでしょうか?
お願いします。

698:名無しさん@お腹いっぱい。
10/08/10 04:59:34 HXshqRJz0
>>697
ret = IELINK(IE,"上記のページにジャンプしようとしています。問題ない場合はクリックしてください")

ところで、chkingではなくてchkimgです。
キーワードに色づけするエディタを使った方がいいと思います。
URLリンク(scripts.web.fc2.com)


699:名無しさん@お腹いっぱい。
10/08/10 10:59:44 tFoU40cT0
>>698
お早い回答ありがとうございます!
エディタはTerapadを使ってます。

700:横Terapad使い
10/08/10 17:16:16 CwYB52mM0
>>699
とりあえず表示-編集モード-VB使えば?BASIC基本構文が色分けされるだけでもだいぶ楽
CHKIMGとかのUWSC専用構文は色分けされないけど
もっと本格的にやりたきゃモード作るとか

701:693
10/08/11 19:37:03 fuFHgMGbO
再度質問させて下さい。

4種の座標
A(20.120)・B(30.130)・C(40.140)・D(50.150)
があり、A~Dの座標をランダムにクリックさせる場合にはどうすれば良いのでしょうか?

対象ウィンドウのサイズは800*640です。
また、クリック間隔は500ms程度にしようと考えています。

702:名無しさん@お腹いっぱい。
10/08/12 11:32:05 6HDVq6//0
dim a[]=1,2,3,4,5,6,7,8
r=random(4)*2
a[r]
a[r+1]

703:名無しさん@お腹いっぱい。
10/08/19 09:44:12 7ukdiQRxO
>>702
返信遅くなりました。
ありがとうございます!

704:名無しさん@お腹いっぱい。
10/08/20 18:06:08 IackKw990
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


公式のなんですけどこれで消さずに残すようにするにはどうすればいいですか?

705:名無しさん@お腹いっぱい。
10/08/20 18:36:15 83ayW7Fq0
>>704
むしろaaaa,bbbb,ccccを表示してbbbbだけ消す例

706:名無しさん@お腹いっぱい。
10/08/21 04:27:21 FTm8wpbq0
ネットゲームで画像を認識しようとしているのですが
用意したbmp画像をchkimgしても認識してくれません

プリントスクリーン(windowsにあるやつ)
ペイントにコピペ
24ビットマップで保存

の順に作業したのですがおかしいところはあるでしょうか

707:名無しさん@お腹いっぱい。
10/08/21 04:47:43 FTm8wpbq0
↑ペイントで開いた画像だけは認識してくれました

708:名無しさん@お腹いっぱい。
10/08/21 12:49:56 oobB5dF6i
>>706
気付かないレベルで1ドット色が変わってもだめ
動的に画像を作り出すゲームではよくある

709:名無しさん@お腹いっぱい。
10/08/21 12:52:53 sO6lLGskO
ifb CHKIMG(".bmp",-1)
endif
これで試してみては?

710:706
10/08/22 09:45:50 Y875/60n0
>>708,709
ありがとうございます
画像の用意のしかたはどうやら合ってるみたいでした

自分のPCの環境がおかしいのか
マウスを右か左クリックしているときだけ画像認証が行われることがわかりました
できれば普通に認証したいので原因など思い当たるふしがあったらアドバイスいただきたいです

OSはXPでゲーム自体はdxwndで窓化して表示しています

711:名無しさん@お腹いっぱい。
10/08/22 16:42:00 K7byzTQqP
ウィンドウ全体をキャプチャーしているのだったら、画像を切り抜いて小さくすれば(16x16とか)認識するかもしれない
もちろん切り抜く場所によって認識するか認識しないかは変わるので、良く考える
大きい画像の認識はそれなりに負荷がかかるのでいろんな意味でもキツいと思う

712:名無しさん@お腹いっぱい。
10/08/23 19:15:07 j1GIf4L/0
IE7のオプション設定を一発で変更したい。

フォントをClearTypeにし、フォントも1~2pt大きくして
IEを使用しているのですが、サイトによっては 、文字や写真が重なる
ときがあります。

その際は、デフォルトに戻す⇔再度設定 と切り替えたいのです。

具体的には
ツール→オプション→ユーザー補助→WEBページで使用されたフォント・サイズを使用しないにチェック


テンプレのURLで調べたのですが、"チェックする"はフォームでのものしかありませんでした。


713:名無しさん@お腹いっぱい。
10/08/24 13:04:18 oayi1Lr90
吹き出しで直線に近い道をゴールしてくれるのをつくりたいのですが
ifb chkimg("aka.bmp",0,1,1,2222,1000) then
a=G_IMG_X
b=G_IMG_Y

while true

ifb chkimg("siro.bmp",0,x+1,y,x+1,y) then
if x<a then x=x+1
else
endif

ifb chkimg("siro.bmp",0,x,y+1,x,y+1) then
if y<b then y=y+1
else
endif

ifb chkimg("siro.bmp",0,x-1,y,x-1,y) then
if y>b then y=y-1
else
endif

ifb chkimg("siro.bmp",0,x,y-1,x,y-1) then
if y>b then y=y-1
else
endif

print "<#CR>"+(200+x)+" "+(300+y)
wend
endif
これだと動いてくれません どうしたらいいですか
akaがゴールの色でsiroが通れる道の色です

714:名無しさん@お腹いっぱい。
10/08/24 13:06:05 oayi1Lr90
吹き出しはこの前の段階で出してスタート地点に移動しています

715:名無しさん@お腹いっぱい。
10/08/24 18:30:04 Wb+yA2C1i
>>712
ウィンドウ操作なら
タブキーで項目移動、スペースキーで項目反転が出来る

>>713
UWSCで出来ないことは無いと思うが
迷路探査アルゴリズム、でググって、考え方を理解しないと難しいだろう

716:名無しさん@お腹いっぱい。
10/08/26 00:13:14 wzBcZHfa0
712です。

>>715
ありがとうございます。
ただ、その前に オプション画面を出す方法が知りたかったのです。

717:名無しさん@お腹いっぱい。
10/08/26 08:10:07 +vvO52tv0
>>716
『インターネット オプション』のダイアログを出さずに
直にレジストリを書き換えて再読み込みさせたらいいんじゃね
実行する度に『Web ページで指定されたフォント サイズを使用しない』の
ON/OFF を切り替える例は以下

OPTION EXPLICIT

CONST HWND_BROADCAST = $ffff
CONST WM_SETTINGCHANGE = $1A
CONST SMTO_ABORTIFHUNG = $2

DEF_DLL SendMessageTimeoutA(hwnd, uint, long, uint, uint, VAR dword): long: user32.dll


DIM key = "HKCU\Software\Microsoft\Internet Explorer\Settings\Always Use My Font Size"
DIM wshshell = CREATEOLEOBJ("WScript.Shell")
DIM rsl

wshshell.RegWrite(key, !wshshell.RegRead(key), "REG_DWORD")
wshshell = NOTHING

SendMessageTimeoutA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, "Software\Microsoft\Internet Explorer", SMTO_ABORTIFHUNG, 5000, rsl)

718:名無しさん@お腹いっぱい。
10/08/26 13:02:28 MdNPOjE70
質問させて下さい。

・画像A・Bが表示されたらクリックして終了。
・画像が60秒間表示されなかったら終了。

というスクリプトを作りました。
----------------------------------------
変数 = 0
while 変数 < 60

  ifb CHKIMG("画像A.bmp")
  BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
  変数 = 60
  endif

  ifb CHKIMG("画像B.bmp")
  BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
  変数 = 60
  endif

  sleep(1)
  変数 = 変数 + 1

wend
----------------------------------------
これでもちゃんと動くのですが満足してません。
※sleepとか変数を強引に60にするところとか

もっと美しく、そして応用が利く作り方はないでしょうか?

719:名無しさん@お腹いっぱい。
10/08/26 21:11:51 X8EPE0dEi
>>718
中断を表したいなら、breakに置き換えればいいだろ。ごく普通。
時間経過を表したいなら、時間取得をすればいい。関数はある。

抽象化したいという理想は何となく判るがね。



720:名無しさん@お腹いっぱい。
10/08/26 23:38:49 Pu7JT7nc0
ここは凄く勉強になるなぁ

721:名無しさん@お腹いっぱい。
10/08/28 08:38:47 oxztQxVg0
>>718
これも良く出来てると想う

722:名無しさん@お腹いっぱい。
10/08/29 05:36:14 9AX1wooV0
>>716

ありがとうございます。完璧です! まさに求めていた操作感です!


サイズに加え、フォントも変更しているので、
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Settings\Always Use My Font Face

を追加したいのですが、これはむずかしいでしょうか。
現状、UWSファイルを2つ作って、2つを実行させるUWSを走らせています。


なんにせよ感謝です!!

723:名無しさん@お腹いっぱい。
10/08/29 08:02:00 2ohpKIfP0
>>722 こんな感じ?

OPTION EXPLICIT

CONST HWND_BROADCAST = $FFFF
CONST WM_SETTINGCHANGE = $1A
CONST SMTO_ABORTIFHUNG = $2

DEF_DLL SendMessageTimeoutA(hwnd, uint, long, uint, uint, VAR dword): long: user32.dll


DIM wshshell = CREATEOLEOBJ("WScript.Shell")
DIM rsl

toggle_ie_setting(wshshell, "Always Use My Font Face")
toggle_ie_setting(wshshell, "Always Use My Font Size")
wshshell = NOTHING

SendMessageTimeoutA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, "Software\Microsoft\Internet Explorer", SMTO_ABORTIFHUNG, 5000, rsl)


PROCEDURE toggle_ie_setting(obj, name)
  name = "HKCU\Software\Microsoft\Internet Explorer\Settings\" + name
  obj.RegWrite(name, !obj.RegRead(name), "REG_DWORD")
FEND

724:名無しさん@お腹いっぱい。
10/08/29 09:19:42 9AX1wooV0
>>723

ありがとうございます。これで仕事の効率が確実にあがります!

ところで、こういった記述、全部ゼロから書いてるんですか?

だとしたらすごいです。

725:名無しさん@お腹いっぱい。
10/08/30 22:07:44 +01WMHHg0
>>718
これ、逆に
画像が表示されなかったらクリック
画像A・Bが表示されたら終了

にしたい場合、どうすりゃいい?簡単な事でできそうなんだがうまくいかん

726:名無しさん@お腹いっぱい。
10/08/30 23:34:46 cCQi0/eo0
>>725
while true
  ifb CHKIMG("画像A.bmp") or CHKIMG("画像B.bmp")
   break
  else
   BTN(LEFT, CLICK, X, Y)
  endif
wend

こういうこと?

727:名無しさん@お腹いっぱい。
10/09/01 12:55:02 gZxFjlWw0
無料版の方を使ってますが
上位バージョン(有料版)ではどのような機能が追加されているのでしょうか?

728:名無しさん@お腹いっぱい。
10/09/01 14:32:51 mcbj3OJX0
アドバイスお願いします。

ESCキーで動作終了。
画面の座標・X400~420、Y400~420のうち
1ドットでも色の変化があった場合、座標400.400をクリックというようにしたいのですが
ESCで停止はできても、クリックが動作してくれません。
IFB Countが悪いのでしょうか?アドバイスお願い致します。

729:名無しさん@お腹いっぱい。
10/09/01 14:34:17 mcbj3OJX0
// 画面サイズ
CONST X_MAX = G_SCREEN_W
CONST Y_MAX = G_SCREEN_H
DIM OldColor[X_MAX][Y_MAX];

// X座標変化範囲を指定
CONST X_START = 400
CONST X_END = 420

// Y座標変化範囲を指定
CONST Y_START = 400
CONST Y_END = 420

Total = ((X_END - X_START) + 1) * ((Y_END - Y_START) + 1)

// 起動時の指定範囲の色を得る
FOR x = X_START to X_END
  FOR y = Y_START to Y_END
    OldColor[x][y] = PEEKCOLOR( x, y ) // 座標(x,y)の色を得る
  NEXT
NEXT

730:729続き
10/09/01 14:38:13 mcbj3OJX0
WHILE True

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

  Count = 0
  
  // 起動後の指定範囲の色を得て、変化をチェックする
  FOR x = X_START to X_END
    FOR y = Y_START to Y_END
      NewColor = PEEKCOLOR( x, y )
      
      // 変化あり?
      IFB NewColor <> OldColor[x][y]
       Count = Count + 1
      ENDIF
    NEXT
  NEXT
  
  // 指定範囲の1色が変化
  IFB Count = 1


  ENDIF
WEND

BTN(LEFT,CLICK,400,400)

731:名無しさん@お腹いっぱい。
10/09/01 17:30:48 61+r90Q20
色違い判定したところでループ抜けないとダメ

 // 指定範囲の1色が変化
  IFB Count = 1

     BREAK

  ENDIF
WEND

BTN(LEFT,CLICK,400,400)



732:729
10/09/01 21:08:10 mcbj3OJX0
>>731
ありがとうございます。BREAKは思いつかなかったです。
やってみましたが、反応しませんでした。

IFB Count = 1 の1を、total にして、全ドット箇所の色を変えたら反応しました。
やはり数値は使えないんでしょうか・・・

733:名無しさん@お腹いっぱい。
10/09/01 21:09:04 XX3BJheM0
色の変化が1ピクセル”だけ”の時は動くけどそれ以上だと
count=1はfalseになったままでNGだろ。

ifb count>0
break

あるいは


734:名無しさん@お腹いっぱい。
10/09/01 21:14:02 XX3BJheM0
書いてる途中で送信してしまった

ifb count>0
 break
endif

あるいは見つかった段階でbrek

IFB NewColor <> OldColor[x][y]
 break 3
ENDIF

もしくは最初にsaveimgで指定範囲をbmpで取得して
以後chkimgで見つからなければbreakとか。

735:名無しさん@お腹いっぱい。
10/09/02 16:26:42 LYfMKHgu0
有料と無料の違いを3行でおねがい

736:名無しさん@お腹いっぱい。
10/09/02 20:43:28 rUWrE0cY0
 ・ EXE化ツールが付属しています。(EXE化後は単体での実行が可能であり、ライセンスフリーにて配布できます)
 ・ IE(Web)用記録ツールが付属しています。(Web上の動作をUWSCのスクリプトとして記録する事ができます)
 ・ HTMLを利用した画面関数が使えます。 ・ EXCELシート用関数が使えます。 ・ デバッガが付属しています。


737:729
10/09/02 21:41:38 I3CZuiar0
>>734
ありがとうございます。だいぶ理想的な動作をするようになってきました。
まだ全然理解できてないとよくわかったので、またヘルプを読みこんでみます


738:名無しさん@お腹いっぱい。
10/09/07 17:34:36 yyBP3/0p0
Twitterクライアントを作っていますが。OAuth対応で、
DEF_DLLで下記にある、OAuthLib.dllを利用しようとしていますが、どうしてもうまく行きません。

URLリンク(oauthlib.codeplex.com)

C#のソースとかはあるけど、C#分からないし……
BSMTP.DLL(BASP21)のように言語依存があったりするのでしょうか。


739:名無しさん@お腹いっぱい。
10/09/08 12:51:19 h0eA5K/vi
>>738
正直DLLは鬼門だと思う。
該当DLLを使ったことがなければまず何も答えられない。

そして、貴方が何でどうダメだったのかも解らないので
レスもつけられないスパイラル。


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