自動化ツールuwsc使いよ集まれ6at SOFTWARE
自動化ツールuwsc使いよ集まれ6 - 暇つぶし2ch502:名無しさん@お腹いっぱい。
11/03/07 22:30:26.89 y2o622td0
CHKIMGって今この瞬間モニタに表示されている映像を1ドット単位で比較してる
っていうイメージ。

503:名無しさん@お腹いっぱい。
11/03/09 10:56:30.08 Rw33hT0M0
>>502の通りだとするとgifアニメには反応出来ないのかな
何度か試したが処理が進まない

504:名無しさん@お腹いっぱい。
11/03/09 12:27:56.15 NeCpIiHF0
GIFアニメのコマより早くスキャンすれば出来なくもないかも。
まあ、実質無理だけどね。

505:名無しさん@お腹いっぱい。
11/03/11 07:34:32.39 AuZ32a8F0
POFF関数でスリープさせたい時ってどのコマンド使えばいいの?
スタンバイので行ける?

506:名無しさん@お腹いっぱい。
11/03/13 07:29:19.53 DvaXkZk40
指定範囲内に特定の色を発見→行動A
はどのようにすればいいのでしょうか

507:名無しさん@お腹いっぱい。
11/03/13 08:22:43.66 J5ZXDwCr0
>506
画像認識のbmpを該当色1ドットのものにすれば問題はないはず

508:名無しさん@お腹いっぱい。
11/03/13 13:57:44.15 tR/f36Oi0
いろんなサイト見て多重起動しようと思ったけど出来ない。pcの環境とか新しいバージョンだからとかあるんですか?もし良ければやり方教えて下さい。

509:名無しさん@お腹いっぱい。
11/03/13 16:05:46.60 DvaXkZk40
>>507
うーん、なんと言えばいいか・・・
指定範囲内に1ドットでも指定した色がある→行動A

みたいな感じが理想なんです

510:名無しさん@お腹いっぱい。
11/03/13 16:42:04.05 twzRaf1n0
507を100回音読しろよおまえの理想にちゃんと答えてあるだろ
それとも自分で考えるのはめんどくさいから全部書けって言ってるのか?

511:名無しさん@お腹いっぱい。
11/03/13 17:01:14.18 4DtCIfXC0
ご名答
そういうことです
わかったらはやくしてください
そろそろ時間なんで

512:名無しさん@お腹いっぱい。
11/03/13 17:34:12.12 R9FqzmsW0
ウィンドウ内じゃなくて指定範囲内って事じゃないの?

513:名無しさん@お腹いっぱい。
11/03/13 19:07:58.79 DvaXkZk40
>>512
そういうことですね
x,y(30,30)の枠内で1ドットでもあれば・・・ということです
一つの座標に対してはできているのですが
範囲の場合はどうすればいいのか・・・

514:名無しさん@お腹いっぱい。
11/03/13 20:01:37.98 XQPOhFsC0
>>513
その範囲の色を調べればいいだけだろ
何が難しいのかわからん・・・

515:名無しさん@お腹いっぱい。
11/03/13 21:33:26.48 MaOFkEcO0
>>513
>>507でchkimg

516:名無しさん@お腹いっぱい。
11/03/14 05:52:06.78 TUT2yAAJ0
範囲指定の方法が分からないんじゃねいの?

517:名無しさん@お腹いっぱい。
11/03/14 08:34:35.60 QN+OYXg20
2ちゃんねるのスレッドを取得する単純なマクロ
効率的な取得のため、スレ一覧で「レス」項目をクリックし、1000に達したものから取得してください。

自動といっても特定の板しか取得できないので、各種情報を収集するなら
各板で「勢い」項目をクリックし、勢いの高いものに絞って上から数件だけ手動で取得しておくといいでしょう。

スレッド一覧を表示すれば自動的に「↓」とEnterをクリックするだけの単純なマクロを置いておきます。
スレッド一覧とスレ内容を同時に表示していないと使えません。
スレッドの項目をクリックするとフォーカスがスレ内容に移動するので動きません。
スレッドのタブをクリックしてフォーカスをスレ一覧にしてください。

JaneDoe View   URLリンク(www.geocities.jp)
ダウンロード直リン URLリンク(www.geocities.jp)

UWSC        URLリンク(www.uwsc.info)
ダウンロード直リン URLリンク(www.uwsc.info)

自動化ツールuwsc使いよ集まれ6
スレリンク(software板)

==== ここから下を、テキストエディタで"Janeスレ一覧巡回.uws"というファイル名で保存。ファイルの種類が”テキスト”なら見えない拡張子になってるからなんとかしろ ====
ID = GETID("JaneDoe View","TMainWnd")
ACW( ID, 77, 0)
MOUSEORG( GETID("JaneDoe View","TApplication") , 2 )

while true
 ifb Status( ID, ST_ACTIVE )
  KBD(VK_DOWN,CLICK,40)
  KBD(VK_RETURN,CLICK,40)
 endif
 sleep(20)
wend

518:名無しさん@お腹いっぱい。
11/03/14 12:02:17.02 YoBEio9H0
>>517
それ一発でバーボンになる
使えない

519:名無しさん@お腹いっぱい。
11/03/14 12:40:58.22 QN+OYXg20
>>518
まじすか。
普段、数日置きにニュー速+のスレ取得してるんだけど。

520:名無しさん@お腹いっぱい。
11/03/14 13:56:54.96 EUSQE4c90
数日おきと20秒おきじゃ全然違うだろ。

短い時間の過剰アクセス=バーボンまっしぐら

521:名無しさん@お腹いっぱい。
11/03/14 16:10:33.07 QN+OYXg20
いや、数日置きに、ニュース速報+の板の全スレ(700程度)を、8秒単位で取得してる。
で、みんながスクリプトを使うと混雑するので、8を20に書き換えて公開した。

俺は今日もまちBBSの東北、東海、東京でMAXに達したスレの一覧をスクリプトで取得したけど、バーボン来てない。

スレの更新を何度も取得しようと思ったらだめだし、同じスレを何度もF5するのも駄目だぞ。
あくまでも板一覧を巡回に使えるって話。

もしかすると鯖、プロバイダによって規制具合がちがったりするのかな?


522:名無しさん@お腹いっぱい。
11/03/14 16:51:32.35 AyQZ7eSu0
>>517
そもそもこれをUWSCで(GUIボタン押させたりして)やる必要性ってなんなの?
例えばcygwin入れて シェルスクリプト書いてcronでやったほうが100倍便利そうなんだけど。

523:名無しさん@お腹いっぱい。
11/03/14 18:08:36.31 QN+OYXg20
>>522
直接HTTPたたいたりしたら2ちゃんねるから排除されるじゃん。
偽装の仕方とか知らないし。
JaneView自身にスクリプトがあるけどよくわからん。
他人の書いたスクリプトは信用できんが、キークリックだけならコード見たら一発でわかる。

全自動スクリプトは便利だけど、そうすると登録した全ての板を巡回したくなるもので、
そうすると件数が増えすぎて普通にバーボンに飛ばされ、
飛ばされてもなおスクリプトが動き続けるとIP焼かれ、二度とアクセスできなくなる。

作るのが簡単、ソースの理解が簡単、動作も直観的でわかりやすい、ちょっと便利。
そのくらいがちょうどいいんですよ。


524:名無しさん@お腹いっぱい。
11/03/15 17:07:30.47 0sTjr/hX0
俺もある板に出現した荒らし追跡の為に板のスレ根こそぎDLしたことあるが
datをDLしたからかバーボンは食らってないがな。

525:名無しさん@お腹いっぱい。
11/03/16 16:30:33.37 ySUrVoIc0
win7になってからbeep音が鳴らずスピーカーから音がでるように
なったんだけどbeep音を鳴らすことはできないの?

CPU変換機を使ってるほかのPCいじくってるときスピーカーからだと
音がならずに困ってるんだが。

526:名無しさん@お腹いっぱい。
11/03/16 17:23:56.81 uRkLh+Jk0
>>525
Windows7のサウンドをのっとらない限り無理じゃね?

527:名無しさん@お腹いっぱい。
11/03/16 19:02:54.84 N1X9Rwjq0
>>523
アホすぎワロタ

528:名無しさん@お腹いっぱい。
11/03/16 21:11:37.03 ySUrVoIc0
>>526
それは今の段階では無理?
本家できいてみるか。

訊く前に検索したわけだが同じようなことを書いてる人がいたw
解決策などは一切出てこなかった。無理なのかしらねー

529:名無しさん@お腹いっぱい。
11/03/17 03:47:39.71 hmwLu0e/0
多分それは俺が書いた奴だと思うけど、俺が調べた限りでの結論は
自分でドライバを書いて直接ハードを叩かない限り無理ということだった。

このスレではスレ違いになるんで書いてないけど。

530:名無しさん@お腹いっぱい。
11/03/17 16:01:24.28 K+UgtmWb0
試さずに書くけど、これじゃだめなの?

DEF_DLL BEEP(以下略

531:名無しさん@お腹いっぱい。
11/03/17 16:51:31.82 hmwLu0e/0
ダメ。そもそもの俺がやりたかった事というかXPで使ってたスクリプトというのが
Win32APIを使ってbeepを鳴らすものだった。

こっちの方がsound関数より反応が速いから使っていたんだが、7になってからこれが
エミュレートになって反応速度ガタ落ちで使い物にならなくなった。

532:名無しさん@お腹いっぱい。
11/03/23 14:14:22.02 Xeavlajf0
・・・

533:名無しさん@お腹いっぱい。
11/03/23 21:19:14.75 u5wJnuUr0
デバッガ起動しようとすると
「L22が存在しません」
ってダイアログ出てきて使えないんだけどどなんで?

ユーザ登録済みにはなっているはずなんだけど

534:533
11/03/23 21:29:04.87 u5wJnuUr0
ちなみに4.4から4.6cにバージョン上げたら使えなくなった

535:名無しさん@お腹いっぱい。
11/03/23 21:44:51.00 XeZCMK740
ちゃんとインストールした?
アンインストールからやり直したほうがいいかも。

有料版なら本家掲示板で聞いたほうがいいよ。


536:名無しさん@お腹いっぱい。
11/03/24 17:32:48.69 ZGUmuAAH0
こんなもんに金払うやついるんだな

537:名無しさん@お腹いっぱい。
11/03/25 01:15:38.96 SGR7u1ax0
なんだかんだで便利だしー。
払ってもいいかなって思えたんで払ったよ。

538:名無しさん@お腹いっぱい。
11/03/25 08:00:52.09 BkNPP4P2P
簡単なツールを実行ファイルとして配布したかったのでレジストした
パソコンに詳しくない方にも簡単に使ってもらえるし

あと今まで相当uwscにお世話になってたし感謝の意図もこめてってのもあるかな

539:名無しさん@お腹いっぱい。
11/03/25 08:02:35.99 YppZDri+0
ここは自分語りの激しいいんたーねっつですね

540:名無しさん@お腹いっぱい。
11/03/26 12:42:19.04 wSFqRGjR0
配列の操作で困っています。
配列内の最小値の「位置」を知りたいのですが、うまくいきません。

(例)
Dim a[7]
 a[0] = 9
 a[1] = 5
 a[2] = 10
 a[3] = 2
 a[4] = 6
 a[5] = 2
 a[6] = 10
 a[7] = 3
この例だと最小値の2が格納されている3もしくは5を戻り値として受け取れるような操作を行いたいです。
最小値は「min_a = CALCARRAY(a,CALC_MIN)」で取れることは確認済みなのですが、位置がわかりません。
条件として、
 ・配列数が不定(最大10)
 ・格納される数値は最大3桁の整数(実際は3文字のString型をval)
です。
連想配列で「Dim a[7]」を「HASHTBL a」に置き換えて、位置をキーとして数値を値として格納してみましたが、最小値を得る方法がわかりませんでした。

今現在の処理方法として、
min_a = 1000
For b = 0 to 7
  ifb a[b] < min_a then
   c = b
   min_a = a[b]
  endif
Next
fukidasi(c)
という処理を行っていますが、変数を多く使わなくてはいけないため、もっと簡単な方法がないか教えてください。

541:540
11/03/26 12:43:50.55 wSFqRGjR0
追記
条件の追加として、上記の例だと、得られる戻り値は3でも5でも構いません。

542:名無しさん@お腹いっぱい。
11/03/26 14:17:29.22 HVD3eaFSP
充分簡単な処理だと思ってしまったオレは馬鹿なのか・・・orz

543:540
11/03/26 14:40:47.00 wSFqRGjR0
>>542
おそらく頭がこんがらがっているんだと思います。
VBのMatch関数を実装するか、配列を連結させてPOSで位置を取得するか、とか。

544:名無しさん@お腹いっぱい。
11/03/26 14:54:03.46 cxbLBiMa0
>>540
m = 0
For i = 1 to 7
  if a[i] < a[m] then m = i
Next
print a[m] //最小値
print m   //最小値のインデックス


計算中の最小値は、仮の最小値なんだから、どれでもいいから放り込めばいい。
下手に特定の数値を放り込むのはバグのもと。
変数を減らすには、最小値を配列から直接取り出せばいい。
残りの全てと比較なので、比較回数は配列数-1。


545:名無しさん@お腹いっぱい。
11/03/26 15:05:31.02 VmVdg4GL0
min_a = CALCARRAY(a,CALC_MIN)
for i=0 to length(a)-1
 ifb a[i]=min_a
  print i
  break


546:名無しさん@お腹いっぱい。
11/03/26 15:09:44.30 VmVdg4GL0
途中で書き込んでしまった。タブでインデントしたつもりが…

min_a = CALCARRAY(a,CALC_MIN)
for i=0 to length(a)-1
 ifb a[i]=min_a
  print i
  break
 endif
next

547:名無しさん@お腹いっぱい。
11/03/26 15:13:49.14 VmVdg4GL0
最小値の添え字を複数取りたきゃbreakしないで続行すればよし。

548:540
11/03/26 15:15:48.78 wSFqRGjR0
>>544
レスありがとうございます。
やはり回して比較するしかないようですね。

HASHTBL a
番号 = a[CALCARRAY( a, CALC_MIN), HASH_KEY]

こんな感じで一発で出せたら良かったのですが、連想配列ではCALCARRAYはできないようで困ってました。
ありがとうございました。

549:名無しさん@お腹いっぱい。
11/03/26 18:47:12.62 Bi96EqyL0
>>540
7個の要素を持つ配列として宣言してるのに8個代入してるのはいいの?

550:540
11/03/26 19:00:24.80 wSFqRGjR0
>>546
レス遅くなってすみません。
For~Nextで回すにしても、その方法はいいですね。
参考にします。
ありがとうございました。

>>549
JavaScriptとかではそうですよね。
自分も趣味でいろんな言語を扱うので最後に「;」とか入れそうになりますw
UWSCではDim a[7]はa[0]~a[7]の8個の配列になるはずです。

551:名無しさん@お腹いっぱい。
11/03/26 20:45:22.24 HVD3eaFSP
uwscの配列表記はすごく気持ち悪いよね
これってどの言語の影響なの?

552:名無しさん@お腹いっぱい。
11/03/26 21:15:56.27 VmVdg4GL0
普通だろ

553:名無しさん@お腹いっぱい。
11/03/26 21:16:37.52 7qyeOjZo0
>>551
プログラム言語界では一般的仕様
添字が1からのほうが少数派

554:名無しさん@お腹いっぱい。
11/03/26 21:34:42.51 p9U+8skL0
>>551
普通じゃね

555:名無しさん@お腹いっぱい。
11/03/26 22:15:30.54 HVD3eaFSP
えええ普通?

Dim a[7]
ってさ、入れ物的なイメージだと7個作られそうだけど
実際は8個作られてるじゃん

C言語の配列と比べるとすごく気持ち悪いと思うんだが・・・

あれ?むしろCとかのほうが変なんだろうか?
よく分かんなくなってきた・・・

556:名無しさん@お腹いっぱい。
11/03/26 22:21:58.00 bIC0kbUd0
Cも0からじゃなかったか?
お前の認識の問題だろ

557:名無しさん@お腹いっぱい。
11/03/26 22:55:44.25 p9U+8skL0
まあ、初心者の頃によく陥る事だ
すぐ慣れるよ

558:名無しさん@お腹いっぱい。
11/03/26 23:02:24.98 tfWV05nbi
配列が0から始まらない言語ってあるのか?

559:名無しさん@お腹いっぱい。
11/03/26 23:05:30.34 HVD3eaFSP
>>556
いや、先頭の話ではなく末尾の話。

Cだとたとえば
char a[7]
って書くとa[0], a[1], ..., a[6]まで作られる。a[7]なんて生成されない。
つまり宣言時の7は確保する場所の個数に相当している。
「7個確保して!」って感覚。

一方、uwscは
Dim a[7]
って書くとa[0], a[1], ..., a[7]が確保されるわけじゃないですか。
「a[7]まで作って!」って感覚なのかな。

Cみたいにa[7]はないくせに、宣言時にa[7]が出てくるのは確かに直感的ではないな。
これはいわゆる「ポインタ」とか「アドレス」の概念が関わってくるからこんな記述なわけで
Cを勉強したての頃は何で?って悩んだような気がしてきた。

まあ慣れですね。

560:名無しさん@お腹いっぱい。
11/03/27 00:00:26.85 Ayx4G1Q80
それはVB系の特徴か?

561:名無しさん@お腹いっぱい。
11/03/27 00:04:15.57 Ayx4G1Q80
VBっていうかBasicだな

562:名無しさん@お腹いっぱい。
11/03/27 16:19:01.42 0Wid0DaV0
You とにかく良いとこ取りしちゃいなYO

563:名無しさん@お腹いっぱい。
11/03/28 21:53:17.30 NovdZ+jOP
BasicでもCでも7って値を入れたら、0~7だろ普通。

564:名無しさん@お腹いっぱい。
11/03/28 22:33:54.08 mUFnMrgu0
このカオスな仕様の処理系に良いとこ取りもクソも無いだろ
書き殴りで書いて動けばおkそんな感じ

syntaxhighlighterのUWSC用のプラグイン書いてたんだけど
今までただの定数だと思っていたものが全て予約語ってことを知った
こんなもんいちいち覚えてたら頭がフットーしちゃうよお

565:名無しさん@お腹いっぱい。
11/03/29 11:16:13.79 8FD6i0K/0
>>563
Cは違うだろ…
宣言時は要素数で、添え字は0から始まるから要素数-1まで。

566:名無しさん@お腹いっぱい。
11/04/01 04:53:55.15 JdFGtEYJ0
firefoxでバックグラウンド処理って無理?

567:名無しさん@お腹いっぱい。
11/04/02 16:39:44.26 OxQ+uKln0
メイプルストーリーというネトゲで使ってるんですけど、
たまに「ご不便をおかけして申し訳ありません、終了します」的な感じのが表示されて
落とされてしまいます。

スクリプトに問題はないはずなのですが・・。
わかる方いますでしょうか?

568:名無しさん@お腹いっぱい。
11/04/02 17:50:09.43 B3J2dw4J0
>>567
一般的にゲームバランスの崩壊を招くチート扱いなのでゲーム側でブロックが基本です。
回避は出来ません。どうしてもと言うなら、ゲームの運営会社に陳情してください。

569:名無しさん@お腹いっぱい。
11/04/02 19:14:08.80 C3jbud180
>>566
もしかしてXPCOM経由でできるかも
漏れなら素直にIE使うけどw

570:名無しさん@お腹いっぱい。
11/04/02 21:59:22.74 OxQ+uKln0
>>568
ありがとうございました。

571:名無しさん@お腹いっぱい。
11/04/02 22:04:13.13 tpUH5v170
チート扱いっていう言い方はよくないな。

まさにチートそのものなんだから。

572:名無しさん@お腹いっぱい。
11/04/03 05:09:30.39 lmjIK/mm0
チートってのはデータを書き換えたりすることだろ

573:名無しさん@お腹いっぱい。
11/04/03 06:10:43.87 MtEQc8F40
広い意味ではカンニングみたいなもんだ。ずるをすること。

チーターからみれば、直接メモリを見たり書き換えたりするのがチートで、
画面キャプチャしたりキャラを通常の操作でコントロールするのがbotとかスクリプト。

ただ、botにはスパイウェアを仕込んで操るものと言う意味もあるから、botと言えば普通はウィルスみたいなものを意味する。


574:名無しさん@お腹いっぱい。
11/04/03 15:58:11.32 987DPAwi0
>>572
そっちはチートの内だがクラッキングの類

575:名無しさん@お腹いっぱい。
11/04/03 16:44:49.94 xDlkAXep0
広義の「ズル」で「不正行為」でいいと思うがね。

576:名無しさん@お腹いっぱい。
11/04/03 18:59:38.89 tSSBIKdG0
>>569
しかしUWSCにクロスプラットフォームCOMもどきを扱う機能などない罠
まずDLL自作するところから始めるしかないかと

577:名無しさん@お腹いっぱい。
11/04/05 21:20:22.25 EYqgeuHz0
x = G_MOUSE_X
public x = G_MOUSE_X

上二つで値が違ってくるんだけど、どうすればいい?

x = G_MOUSE_X
public mx = x

の記述だと怒られる

578:名無しさん@お腹いっぱい。
11/04/05 21:33:43.56 YrBRihpj0
public mx
mx = x

579:名無しさん@お腹いっぱい。
11/04/05 21:40:02.80 WtbuGLyK0
>>577
そりゃぁ実行時間差でマウスを動かしていれば違うこともあるだろう。

あとpublicでは、宣言と代入を二行に分けるといい。

580:名無しさん@お腹いっぱい。
11/04/05 21:59:17.98 EYqgeuHz0
>>579
言葉が少なかった。上2つってのは

CLKITEM(id, "hoge", CLK_ACC or CLK_MUSMOVE)
x = G_MOUSE_X

のファイルと


CLKITEM(id, "hoge", CLK_ACC or CLK_MUSMOVE)
public x = G_MOUSE_X

のファイルで2回試した場合ね。

ちなみに>>578-579の方法で取得できた。ありがとう。
ググったらpublicの初期値に変数の指定ができないのか。


581:名無しさん@お腹いっぱい。
11/04/05 22:57:13.27 rFAkWawR0
ネトゲでuwsc使ってる間にネットサーフィンなどしたいのですが、
uwsc使用中はできないのでしょうか?

582:名無しさん@お腹いっぱい。
11/04/05 23:09:07.31 HTUKprjD0
できますよ

583:名無しさん@お腹いっぱい。
11/04/06 02:25:51.91 PNATdSFk0
>>581
仮想マシンのゲストでゲームとUWSCを動かす。

ホストで別のことする。以上。

584:名無しさん@お腹いっぱい。
11/04/06 04:30:23.30 j75+zTjLi
まうすあいでぃー=2にしてやればいいじゃない

585:名無しさん@お腹いっぱい。
11/04/06 04:32:10.87 PNATdSFk0
>>584
透明窓があったりコンポーネントになってたりしたらうまくいかん。

586:名無しさん@お腹いっぱい。
11/04/06 10:28:13.62 ufVEeoClP
uwsc使用不可なネトゲなんてないですよね?

587:名無しさん@お腹いっぱい。
11/04/06 10:31:28.43 MltQIlY60
UWSCを起動してるとゲームが起動しないってのがなんかあったよ

588:名無しさん@お腹いっぱい。
11/04/06 10:35:57.06 Gl2iME0f0
>>586
けっこうある

589:581
11/04/06 14:01:00.10 xV0+fb4w0
>>583
ありがとう
自分が使いたいネトゲは仮想だとプレイできないんです..
逆でもできますかね

590:名無しさん@お腹いっぱい。
11/04/06 19:50:41.57 /S48kY8i0
>>590
理屈を考えてみろよ

591:名無しさん@お腹いっぱい。
11/04/06 20:05:39.27 dqh7ncND0
>>590
頑張れ

592:名無しさん@お腹いっぱい。
11/04/06 20:07:17.17 /S48kY8i0
>>591 あらいやだ。 オーバーフローしますた ノノノ

593:名無しさん@お腹いっぱい。
11/04/07 13:34:21.73 RxALrKwf0
procedure test()
fukidasi("test")
fend

while true
test()
sleep(0.5)
wend

これ動かすとwhileループ入る前にスクリプトが終了してしまうんですが、原因は何でしょうか。

594:名無しさん@お腹いっぱい。
11/04/07 14:24:12.81 RxALrKwf0
自己解決
後に置かないとダメなのね

595:名無しさん@お腹いっぱい。
11/04/07 14:25:26.22 7On9PLrr0
ヘルプは読もうな

596:名無しさん@お腹いっぱい。
11/04/07 22:47:00.50 DXHRhLqW0
FF14で漁師マクロを作ろうとしているのですが上手くいきません。
釣り糸を垂らしてアタリがあるとコマンド欄の枠がちょっと広がるので、
その広がった枠を画像判定させようとしてみたのですが、
文章がおかしいのか判定がおかしいのか「↓キーを押す」を実行してないようです。

ACW(GETID("FINAL FANTASY XIV","RAPTURE"),200,0,1286,992,0)
while TRUE
 ifb PEEKCOLOR(849,885) = $C1C3C3 then //アタリがあった時のゲージ枠が出現した時
 sleep(1)

 KBD(VK_DOWN, DOWN,40) //↓キーを押して「釣る」にカーソル移動
 KBD(VK_DOWN, UP,30) //↓キーを離す
 sleep(1)

 KBD(VK_RETURN, DOWN,40) //リターンキーを押して「釣る」を選択
 KBD(VK_RETURN, UP,30) //リターンキーを離す

  釣り作業予定地

 else //枠が出ない時
 sleep(5)
 Endif //判定終了
wend

597:名無しさん@お腹いっぱい。
11/04/08 01:45:57.78 ks4Tt9ZU0
>>596
1
 KBD(VK_DOWN, DOWN,40) //↓キーを押して「釣る」にカーソル移動
 sleep(0.1)
 KBD(VK_DOWN, UP,30) //↓キーを離す

2
 KBD(VK_DOWN) //↓


598:名無しさん@お腹いっぱい。
11/04/08 18:05:27.36 OjqCEka70
>>597
動きました
御指導ありがとうございました

599:名無しさん@お腹いっぱい。
11/04/08 18:16:05.43 Fc5gmSPI0
メイプルストーリーのピラミッドマクロで
Fがテレポート
Vがヒール
NがHP回復
MがMP回復
そのボタン配置でマクロのスクリプトの作り方がわかりません。
どなたか作っていただけませんか?
お願いします。

600:名無しさん@お腹いっぱい。
11/04/08 18:30:17.79 +4DaRd/T0
>>599
ピラミッドマクロくらいならネット落ちてる

そもそもお前勉強する気ねぇだろwwwww

601:名無しさん@お腹いっぱい。
11/04/08 18:32:56.74 8OVS6MFr0
>>595
ヘルプに書いてないぞ

602:名無しさん@お腹いっぱい。
11/04/08 20:16:18.98 xUY9fcWU0
>>601
「関数の定義」のところに書いてあるよ

><関数の定義>
> ※ 関数はメインルーチンの後に書いて下さい。
>   (メインルーチンは関数前までであり、関数後にメインルーチンを書いても実行されません)

603:名無しさん@お腹いっぱい。
11/04/08 20:19:36.73 xUY9fcWU0
まあとんでもない糞仕様だよね

604:名無しさん@お腹いっぱい。
11/04/08 22:59:59.35 8OVS6MFr0
>>602
そこか、なるほど。

605:名無しさん@お腹いっぱい。
11/04/09 00:09:03.52 oHTb27s10
599の物ですが、どうしても作れないのでお願いします。

606:名無しさん@お腹いっぱい。
11/04/09 00:30:43.99 14fTLDrO0
出来てるとこまであげてみ

607:名無しさん@お腹いっぱい。
11/04/09 00:32:09.61 B3RgossG0
>>2
>  「○○作って下さい」→ 依頼スレじゃありません。

608:名無しさん@お腹いっぱい。
11/04/09 00:51:36.15 oHTb27s10
599と605は自分でやること諦めて
URLリンク(makuroman.blog94.fc2.com)
こいつからでも買っとけ(笑)
ちなみに俺はこいつに売ってもらい毎日ピラミッド放置で稼いでる☆

609:名無しさん@お腹いっぱい。
11/04/09 00:51:44.49 oHTb27s10
599と605は自分でやること諦めて
URLリンク(makuroman.blog94.fc2.com)
こいつからでも買っとけ(笑)
ちなみに俺はこいつに売ってもらい毎日ピラミッド放置で稼いでる☆

610:名無しさん@お腹いっぱい。
11/04/09 01:04:09.29 eviBn5dS0
地震前ならスルーできたけど、なんかスゲームカツク自分がいる…

611:名無しさん@お腹いっぱい。
11/04/09 01:08:22.72 B3RgossG0


612:名無しさん@お腹いっぱい。
11/04/09 01:43:48.50 oHTb27s10
599と605の物です。

僕はUWSCというやつで記録してマクロしていましたがピラミッドだと3分記録したはずなのに
2分30秒で終わったりして時間が合いません。
なので誰かおしえていただけたらと思っています。

613:名無しさん@お腹いっぱい。
11/04/09 01:43:56.48 oHTb27s10
599と605の物です。

僕はUWSCというやつで記録してマクロしていましたがピラミッドだと3分記録したはずなのに
2分30秒で終わったりして時間が合いません。
なので誰かおしえていただけたらと思っています。

614:名無しさん@お腹いっぱい。
11/04/09 11:53:27.12 JGDPvqkQ0
こりゃどういう自演なんだ?

615:名無しさん@お腹いっぱい。
11/04/09 13:35:36.59 mabctlI00
ID:oHTb27s10

616:名無しさん@お腹いっぱい。
11/04/09 14:37:13.07 U4/Ili1P0
マクロを売りたいから作ってくださいってことか

617:名無しさん@お腹いっぱい。
11/04/09 14:57:51.17 Eiv3foUwP
なるほどそういう事か
死ねばいいのにね

618:名無しさん@お腹いっぱい。
11/04/09 20:03:51.92 5hMUfEUI0
みんな、もう少しスルーだ
久々の痛い逸材だ、楽しもうぜ

619:名無しさん@お腹いっぱい。
11/04/10 17:36:04.98 DWfU3x9f0
スルーしたら楽しめないだろ
ちゃんとレス付けてあげなきゃ

620:名無しさん@お腹いっぱい。
11/04/10 18:59:20.09 QMSVt8wO0
DEF_DLLについて教えてください。
2010VB.netで

Public Class Class1
Public Function A() As String
Return "テスト成功!"
End Function
End Class

のみのTest.DLLを作成し、それをUWSファイルと同じフォルダに入れて
DEF_DLL A():string:Test.DLL
print A()

とやってみたのですが NULL としか表示してくれません。
今まであまりDLLを使うことはなかったけれども、なんでNULLを表示するのでしょうか?

よろしくお願いします。

621:名無しさん@お腹いっぱい。
11/04/10 19:48:51.87 lJZPf4RN0
ぬるぽーーーーー

622:名無しさん@お腹いっぱい。
11/04/10 22:29:27.60 ICekZUeP0
がっーーー



 これ何て発音だろ???

623:名無しさん@お腹いっぱい。
11/04/13 12:08:06.31 CA3sVpNS0
firefoxでmouseorg(,2)指定だとBTN、KBD使えないなー
と思ってスレ見に来たら>>566,569,576で出てた
やっぱ無理なのね

624:名無しさん@お腹いっぱい。
11/04/13 17:10:10.86 N/tb5+Pq0
>>620
VB.NETで吐くコードは.NET Framework上じゃないと動かない。
てゆうかUWSCが.NET Frameworkに勝るものなんて1つもないんだから全部VBで書けばいいのに。

625:名無しさん@お腹いっぱい。
11/04/13 17:14:30.12 v1Zenszti
>>624
vbで比較して、他プログラムのウィンドウ制御は同じ程度に出来るの?
メニュー項目へのアクセスやら、ボタンのテキスト取得や、ドラッグ&ドロップ等々

626:名無しさん@お腹いっぱい。
11/04/13 22:38:56.96 qzGj6cSJ0
できる

627:名無しさん@お腹いっぱい。
11/04/14 06:29:36.28 1ZehtnP10
>>625
UWCSなんてWindows APIの出来の悪いラッパーみたいなもんなんだから
.NET Frameworkでできないわけないだろ。

628:名無しさん@お腹いっぱい。
11/04/14 13:37:17.52 JcJwElNs0
Chromeでマクロ実行しながらsleipnirで他の作業をしたいのですが、
MOUSEORGを使用することで可能になるというのを見つけ、
MOUSEORG(id, 2)は、MOUSEORG(id, 0)でもいいが、
"0"だと強制的に操作対象のウィンドウがアクティブになってしまう
となっておりましたので2にしたところ、裏で作業しててもマクロ実行側がアクティブになってしまいます。
どのように対処したら宜しいでしょうか?
他の対処法はありますでしょうか?

629:名無しさん@お腹いっぱい。
11/04/14 19:41:00.94 nNVecxcD0
>>627
スクリプト言語全般を否定ですか?

630:名無しさん@お腹いっぱい。
11/04/14 20:36:42.03 x7W7EX3M0
>>628
仮想で動かせ

631:名無しさん@お腹いっぱい。
11/04/14 21:19:45.41 1ZehtnP10
>>629
ごめん意味わかんない。

632:名無しさん@お腹いっぱい。
11/04/15 03:54:49.07 /G3KVCHf0
>>624
Vista以降なら.NET Frameworkは標準搭載だからいいかもしれんな。
問題はバージョン。

633:名無しさん@お腹いっぱい。
11/04/15 07:36:54.68 Dg09tSY30
「ID」と「タイトル」が同じダイアログが2 つ存在する時、切り分けってどうしたら良いでしょうか。

一例です。
秀丸エディタで、既に存在するファイル名で保存すると、既に存在する旨のメッセージダイアログが出ます。
この時、「名前を付けて保存」ダイアログと「メッセージ」ダイアログの ID とタイトルが同じなのです。

自動記録では、以下でした。
ACW(GETID("名前を付けて保存","#32770"),229,187,675,463,0) <- 名前を付けて保存
ACW(GETID("名前を付けて保存","#32770"),817,434,290,222,0) <- メッセージダイアログ

「2 つ目のメッセージダイアログが存在した場合、そのメッセージダイアログのボタンを押す」と言う処理をしようとしています。

634:名無しさん@お腹いっぱい。
11/04/15 07:40:40.43 Dg09tSY30
>>633
訂正

× 「ID」と「タイトル」
○ 「タイトル」と「クラス」


です。

635:名無しさん@お腹いっぱい。
11/04/15 08:51:12.59 Dg09tSY30
>>634

自己解決できそうです。
URLリンク(www3.bigcosmic.com)

レス汚しすいません。

636:名無しさん@お腹いっぱい。
11/04/20 11:08:56.21 I6VLD9wj0
While True

ifb PEEKCOLOR(25,335) = $CFCFCF or PEEKCOLOR(25,335) = $B0B0B0 or PEEKCOLOR(25,335) = $FFFFFF then
KBD(VK_Z,DOWN)
else
KBD(VK_Z,UP)
Endif

Wend
上記のはZキーだけを叩くものですが、
これを色判定条件は同じでZキーとAキーを交互に叩くようにするにはどうすればいいでしょうか?

637:名無しさん@お腹いっぱい。
11/04/20 12:07:09.99 qEj91tsg0
>>636
Dim VKey = VK_Z

while true
 KBD(VKey)
 ifb VKey = VK_Z
  VKey = VK_A
 else
  VKey = VK_Z
 endif
 sleep(1)
wend


638:名無しさん@お腹いっぱい。
11/04/20 14:24:02.40 I6VLD9wj0
>>637
できました。ありがとうございます^^

639:名無しさん@お腹いっぱい。
11/04/20 23:00:20.51 jO6T61Fm0
while true
ACW(GETID("○○○),133,11,1050,974,0)
IFB CHKIMG("①.bmp")= TRUE THEN
ELSE
 BTN(LEFT,CLICK,800,371,250)//再選出ボタンを押すスクリプト
ENDIF
Ifb chkimg("②.bmp") = true then
  BTN(LEFT, CLICK, G_IMG_X+200, G_IMG_Y+40,100)
endif
Ifb chkimg("③.bmp") = true then
  BTN(LEFT, CLICK, G_IMG_X+RANDOM(10), G_IMG_Y+RANDOM(10))
endif
Ifb chkimg("夢試合開始!2.bmp") = true then
BTN(LEFT, CLICK, G_IMG_X+RANDOM(10), G_IMG_Y+RANDOM(10))
endif
wend

①が出るまで左クリックをし、見つかれば②、③の作業に移りたいのですが、
①が出た後は常に②、③の作業をループしたい(①はもう見つけなくてもよい)したいとき
どういったスクリプトの組み方をすれば宜しいのでしょうか?
行き詰まってしまったのでご教授御願い致します。

640:名無しさん@お腹いっぱい。
11/04/20 23:32:29.66 jO6T61Fm0
自己解決、簡単なミスでした、申し訳ありません。

641:名無しさん@お腹いっぱい。
11/04/22 01:20:48.59 sGUpvqgm0
chkimgでの画像判定ですが、画像が認識される時とされない時があって困ってます。
10*10くらいの小さな画像なのですが、小さすぎると認識に失敗することがあるのでしょうか?

642:名無しさん@お腹いっぱい。
11/04/22 02:09:54.97 D1Vkkmmg0
1ドットでもちゃんと動くので微妙に色が変わってるとかじゃないだろうか

643:名無しさん@お腹いっぱい。
11/04/22 02:46:36.41 kU+vUJli0
最近覚え始めたんですが、裏で動かすためにmouseorgを使おうと思ってますが
うまくいきません。

id=GETID("新しいテキスト ドキュメント (2) - メモ帳","Notepad")
ACW(id,-8,-8,1936,1056,0)
MOUSEORG(id,2)
while 1
BTN(LEFT,click,1266,93,109)
KBD(VK_A,CLICK,359)
KBD(VK_A,CLICK,219)
KBD(VK_A,CLICK,187)
MMV(1269,94,78)
wend

バックグラウンドでメモ帳にひたすらaaaを入れるだけのものなのですがどこが悪いか
アドバイスお願いします
idのとなりを0や1にするとうまくいくけど2だと反応しません

644:名無しさん@お腹いっぱい。
11/04/22 04:22:40.47 NkGZRzTn0
>>643
id=GETID("メモ帳")
MOUSEORG(GETCTLHND(id,"Edit"),2)
while 1
KBD(VK_A,CLICK,100)
wend


645:名無しさん@お腹いっぱい。
11/04/22 12:51:35.73 kU+vUJli0
>>644
ありがとうございます。一つ勉強になりました。

646:名無しさん@お腹いっぱい。
11/04/22 15:10:30.95 brg2zLT60
いつも参考にさせていただいてます。
以下のスクリプトの組み方を教えていただけナでしょうか。

①「画像A」が出るのを待つ
②出たら「1」のキーを押す
③数秒から数分で「画像B」が出るので待つ
④出たら「2」のキーを押す
※画像Aと画像Bは画面に出たままだが、もう押さない
⑤数秒から数分で「画像C」が出るので待つ
⑥出たら「3」のキーを押す
⑦画像A・B・Cが消えるので①に戻る

よろしくお願いします。



647:名無しさん@お腹いっぱい。
11/04/22 15:13:29.36 DgOL/gJc0
参考にした結果どこまでできたん?

648:名無しさん@お腹いっぱい。
11/04/22 15:38:26.54 Rbjr3RvM0
>>646
> ①「画像A」が出るのを待つ
> ②出たら「1」のキーを押す
> ③数秒から数分で「画像B」が出るので待つ
> ④出たら「2」のキーを押す
> ※画像Aと画像Bは画面に出たままだが、もう押さない
> ⑤数秒から数分で「画像C」が出るので待つ
> ⑥出たら「3」のキーを押す
> ⑦画像A・B・Cが消えるので①に戻る

組み方ってのはコレ自体の事。

この次やることは単に関数調べて書き写すだけ。
頭使わない単純作業。

そんなもの自分でやれ。

649:名無しさん@お腹いっぱい。
11/04/23 21:42:07.67 6YOXa8ZZ0
while true
ACW(GETID("Google Chrome","Chrome_WidgetWin_0"),133,11,1050,974,0)
KBD(VK_NEXT,CLICK,40)
Ifb chkimg("1.bmp") = true then
  sleep(181)
endif
Ifb chkimg("2.bmp") = true then
  BTN(LEFT, CLICK, G_IMG_X+150, G_IMG_Y+10,100)
endif
Ifb chkimg("3.bmp") = true then
  BTN(LEFT, CLICK, G_IMG_X+RANDOM(10), G_IMG_Y+RANDOM(10))
wend

調べたのですが、中々見つけることが出来ないので質問させて下さい。
指定の画像が現れた場合にバックグラウンドでクリックを実行するということは可能でしょうか?
MOUSEORGを使用するところまではわかったのですが、その先が・・・
お願い致します。

650:名無しさん@お腹いっぱい。
11/04/23 21:47:16.14 WTYNWcLE0
画像の出る場所もバックグラウンドなら不可能

651:名無しさん@お腹いっぱい。
11/04/23 22:09:12.38 6YOXa8ZZ0
>>650
ありがとうございます。

id=GETID("Google Chrome")
MOUSEORG(GETCTLHND(id,2))
while true
Ifb chkimg("A.bmp") = true then
  BTN(LEFT, CLICK, G_IMG_X+RANDOM(10), G_IMG_Y+RANDOM(10))
endif
Ifb chkimg("B.bmp") = true then
  BTN(LEFT, CLICK, G_IMG_X+RANDOM(10), G_IMG_Y+RANDOM(10))
endif
Ifb chkimg("C.bmp") = true then
  BTN(LEFT, CLICK, G_IMG_X+RANDOM(10), G_IMG_Y+RANDOM(10))
endif
wend

上記の状態だとクリック時にマウスポイントが移動し
アクティブ状態になってしまいます・・・
これを非アクティブで実行するにはどうしたら宜しいでしょうか?
もちろん画像は見える状態にあります。

652:名無しさん@お腹いっぱい。
11/04/23 22:57:15.99 HDl2pAxn0
>>651
クリック=アクティブ化

653:名無しさん@お腹いっぱい。
11/04/23 23:15:07.85 kr3w3hsZ0
非アクティブクリックは出来る

654:名無しさん@お腹いっぱい。
11/04/23 23:38:39.36 6YOXa8ZZ0
>>653
是非ご教授願いたい

655:名無しさん@お腹いっぱい。
11/04/25 19:35:22.03 jsRtYAq90
今日UWSCをDLしたばかりの初心者です。質問に答えていただけるとうれしいです。

1つ目:UWSCでキーボードの↑(Pg Up)と↓(Pg Dn)とAを同時に押すことは可能でしょうか
2つ目:例として KBD(VK_RIGHT,DOWN,500) を挙げるとします。
VKとかなんでしょうか。
RIGHT,DOWNとはどこのキーでしょうか。

なかなか調べてもキーや言語については書いておらず、困っております。
ぜひわかりやすい回答をよろしくお願いします。

656:名無しさん@お腹いっぱい。
11/04/25 19:52:44.01 LXyFlfS/0
down キーを押しっぱなし
up で戻す
click で普通に押す
組み合わせれば同時押しができる

vk_A Aボタン押す
right はカーソルの右

ヘルプ読んで後はネットで調べるそれでわからなければここで聞けばいい

657:名無しさん@お腹いっぱい。
11/04/26 11:09:45.35 B0OZFNNp0
次は1111ですよ!!!!

魔法少女まどか☆マギカ 第1110話
スレリンク(anime2板)

658:名無しさん@お腹いっぱい。
11/04/27 18:11:34.36 f5XMQTIb0
フリー版ですが、スクリプトが再生、スケジュールのどちらで起動されているかを得る方法はありますか?

659:名無しさん@お腹いっぱい。
11/04/27 21:53:28.64 lcY/5+Xo0
>>658
知らないけどスケジュールの方でコマンドラインオプション使えるならそれの有無で

660:名無しさん@お腹いっぱい。
11/04/28 11:34:29.35 WUQnwKcg0
F3キーを押したいんですけど
KBD(VK_F3,click)
じゃ無理だったのですが
押し方教えてもらえませんか

661:名無しさん@お腹いっぱい。
11/04/28 14:11:31.33 vFhukH4p0
>>660
URLリンク(www.geocities.jp)

662:658
11/04/28 14:24:10.79 LtzVx3ZJ0
>>659
遅くなりましたが、ありがとうございます。
その方法でやってみます。

663:名無しさん@お腹いっぱい。
11/04/30 18:57:50.26 32Rd07IC0
UWSCで、開き済みのEXCELから「検索」ってできますか?
.Cells(y,x).Value = "A"のように、セル自体に読み書きまでは出来てますが、
それ以上のことは出来てません。できれば、検索して完全一致があればその座標を入手、
完全一致がなければ「なかった」ことを知りたいです。
判る方、ご教授宜しくお願いします。

664:名無しさん@お腹いっぱい。
11/04/30 19:39:07.42 eZ2yNS1b0
>>663
VBAじゃだめなの?
Excelファイルにコード埋め込めないなら、アドインにしちゃうとか

665:名無しさん@お腹いっぱい。
11/04/30 19:40:33.61 U1T3CdW50
>>663
条件抽出できるExcel関数をそのセルに書き込んで結果を得るとか

666:名無しさん@お腹いっぱい。
11/04/30 22:42:36.75 Lz9PHktt0
複数のIDであるサイトに順番にログインし、同じ動作を実行させたい。
下記Aのようにすると動作を何箇所も修正するのが面倒なので、Bのようにできますか?
可能でしたらどのようにすれば良いのかお願いします。

A  ID1
   動作
   ID2
   動作
   ID3
   ・
   ・
   ・

B  ID1
   ID2
   ID3
   ・
   ・
   ・
   動作

667:名無しさん@お腹いっぱい。
11/04/30 22:53:26.60 0hS3NNEM0
>>666
PROCEDURE

668:名無しさん@お腹いっぱい。
11/05/02 11:04:53.85 qBRsL1H/0
お世話になります。

テンキーの「0」を1秒間隔でずっと押させつつ、
画面にAの画像が出たら画像をクリック。
これをループさせたいのですが、下記のように記述しても動いてくれません。
どこが間違っているのでしょうか?

thread A()
thread B()
While 1
sleep(0.1)
Wend

procedure A()
While 1
Sleep(1)
KBD(VK_NUMPAD0,CLICK,)
Wend
fend

procedure B()
While 1
IFB CHKIMG("A.bmp",-1 )
Sleep(1)
BTN(LEFT,DOWN,G_IMG_X+96,G_IMG_Y+99)
Sleep(1)
BTN(LEFT,UP)
ENDIF
Wend
fend


669:名無しさん@お腹いっぱい。
11/05/02 11:18:54.79 01KJj1Qr0
過去ログから見ると、同じような質問が続いてるなぁ。
しかも、自分で書いておきながら自分のロジックがわからないというものばかり。
単なるこぴぺスクリプターにありがち。成長してくれない。

…同じゲームのスクリプトを分割して聞いていても不思議ではない。

670:名無しさん@お腹いっぱい。
11/05/02 16:37:03.35 7SLqK3kT0
ゲームをスクリプトで補助させるのって、それ楽しいのかな、、といつも思う。

> 1秒間隔でずっと押させつつ

正直ニホンゴが意味わからん。
つーか、どこの行でダメなのか、くらいは自分で追い込もうぜ。
fukidasiでもPRINTでもいいから、ログとりながらデバッグすりゃあできるっしょ。

671:名無しさん@お腹いっぱい。
11/05/03 22:36:49.05 TOMSdzPx0
UWSC proでEXE化されたファイルからUWSファイルを取り出す事って出来ますか?

672:名無しさん@お腹いっぱい。
11/05/03 23:33:56.70 lzlWmIAX0
ゲームとかでの座標認識ってどうやるんですか?
サイト探しまくったんですけどどこにも乗ってないです。

673:名無しさん@お腹いっぱい。
11/05/03 23:41:41.19 K/oATwn20
ん?

674:名無しさん@お腹いっぱい。
11/05/03 23:53:32.91 P1jCGFNh0
座標は、ゲーム画面でそれっぽいところ動かすのを記録して
保存して、ファイル開けばだいたいわかる。
画像使う場合はCHKIMGとか使えばいいし

675:名無しさん@お腹いっぱい。
11/05/04 04:32:41.34 +YeOY92h0
>>672
全画面またはゲーム画面の左上から何ドットかは普通にわかる
ゲーム内でのそのゲーム特有の座標とかは判るわけがない
どうも後者を要求されてる気がする 前者を探しまくってわからないとかありえないし

676:名無しさん@お腹いっぱい。
11/05/04 07:10:21.56 Lkfr5Qr/0
おおおお
ありがとうございました!!!!

677:名無しさん@お腹いっぱい。
11/05/04 09:08:54.76 ZO72V00x0
後者でも前者との位置関係から割り出せるでしょ

678:名無しさん@お腹いっぱい。
11/05/04 09:55:57.41 AHgCiz+A0
後者ってウィンドウ外まで広がるゲームマップの何処かっていう座標だろ

679:名無しさん@お腹いっぱい
11/05/04 13:20:58.46 5+/6h24a0
メイプルストーリーでマクロやってる人いませんか?
もしよければマクロでログインするときどうやって
パスワード欄に文字を打ち込んでるか教えてほしいんですが・・
sentstrとかKBD関数で打ち込めないんです

680:名無しさん@お腹いっぱい
11/05/04 13:34:40.85 5+/6h24a0
すいません誤字です
sentstrじゃなくてsendstrです

681:名無しさん@お腹いっぱい。
11/05/04 15:07:47.36 CCPjytin0
> パスワード欄に文字を打ち込んでるか教えてほしいんですが・・
> sentstrとかKBD関数で打ち込めないんです

>>2
●質問したい方へ。
 「○○作れますか?」→ スクリプトを期待するのはお門違い。作れるか作れないか教えてくれる人はいるかも。
 「○○が作りたい」→ 自分作ればいいんじゃない?
 「○○作って下さい」→ 依頼スレじゃありません。
 過去ログを見る、検索する等、自分で出来る事を書き込む前にするように。
 自力で作ったのを晒すか、具体的な解らない場所を提示して、改善点や解決策を求めるようにしましょう。

682:名無しさん@お腹いっぱい。
11/05/04 19:59:28.41 wzOMUAlp0
>>671
もってないからよくわかんないけどたぶんEXE化は
エンジン+スクリプトの構成のはずだからバイナリエディタ使えれば不可能ではない

683:名無しさん@お腹いっぱい。
11/05/05 10:53:17.33 KWLdYo9I0
>>681
IDの入力は問題ないんですけどメイプルのパスワード入力欄が特殊だと思うんで
なにかヒントとなるような助言でも頂ければと思ってます><


684:名無しさん@お腹いっぱい。
11/05/05 12:36:30.03 kQwnCdgV0
ゲームチートに使う奴ネトゲ板とか裏技板とかで別スレ立ててやってくんないかな。

そもそも低レベルで自助努力ナッシングな質問ばかりだし、まともな用途に使ってる
人間としてはウゼエこと限りないんだが。

685:名無しさん@お腹いっぱい。
11/05/05 13:51:21.44 xWeC0mco0
マクロにまともも糞もないけど低レベルなのは確かだわ

686:名無しさん@お腹いっぱい。
11/05/05 17:57:07.42 /PNt3n6G0
UWSC自体が糞処理系だから仕方ない

687:名無しさん@お腹いっぱい。
11/05/05 18:03:17.26 KWLdYo9I0
ところでretってなんですか?

688:名無しさん@お腹いっぱい。
11/05/05 19:03:29.90 ptYc63U80
>>684
カナッシングな質問ふいた

689:名無しさん@お腹いっぱい。
11/05/05 20:59:27.18 W1f6vZlh0
特定の場所をクリックさせたいんですがうまくいきません。


KBD(VK_ESC,DOWN,80)
SLEEP(2)

ifb CHKIMG("a.bmp",-1)

x=G_IMG_X
y=G_IMG_Y

MMV(X,Y,80)
ENDIF

SLEEP(1)
BTN(LEFT,CLICK,X,Y,80)
SLEEP(1)
BTN(LEFT,CLICK,X,Y,80)
KBD(VK_ESC,UP,80)


690:名無しさん@お腹いっぱい。
11/05/05 21:12:08.45 KWLdYo9I0
画像は問題ないの?
ifb~endifをループで囲んでbreak入れれば?

691:名無しさん@お腹いっぱい。
11/05/05 21:45:58.53 xWeC0mco0
xyって大丈夫なの?

692:名無しさん@お腹いっぱい。
11/05/06 06:38:18.95 l+r+xGqX0
>>689
XとYの座標って絵の左上だから
XとYの座標に+5するとか。
あとどんな作業してるのかわからないけど
ボタンのクリックはENDIFの内側に入れるんじゃないの?
あとはループで囲うとかかな。

詳細が良くわからないので頓珍漢なアドバイスかもしれないけど

693:名無しさん@お腹いっぱい。
11/05/06 11:35:56.64 nxcWJScI0
ウィンドウの特定の入力欄に英数字を入れたいんですがうまくいきません。

直前のID欄の入力までは出来て、タブキーを押してパスワード入力欄をアクティブにした状態でやりました
一応マウス操作でパスワード欄をアクティブにしたりもしましたが出来ませんでした
click部分をdown,upに分けたり、
KBDとKBDの間にsleep(1)を入れたり、
40の部分を1000にしたりもしましたが出来ません
sentstrで変数や英数字などをウィンドウidをちゃんと取得した状態でやりましたができません
(そもそもID欄とPW欄にコピペできない仕様なので無理だと思います)
それとなぜかID欄では半角状態では入力できないみたいです、
なのでIDは全角で「お」を打ち込んで変換で半角数字にしました

KBD(VK_o,CLICK,40)
KBD(VK_1,CLICK,40)
KBD(VK_5,CLICK,40)
KBD(VK_7,CLICK,40)
sleep(0.8)
KBD(VK_RETURN,CLICK,40) //エンターキーでログインします
パスワード欄は強制的に半角入力になるみたいです



694:名無しさん@お腹いっぱい。
11/05/06 11:40:25.08 nxcWJScI0
ID入力は「お」という文字に事前にIDの数字を辞書登録した状態でやりました
KBD(VK_O,down,40) //「お」キーです
KBD(VK_O,up,40)  //「お」キーです
KBD(VK_space,down,40) //変換キーです
KBD(VK_space,up,40)  //変換キーです
sleep(0.8)
ログイン() //複数IDでログインしたいので「お」の後ろに条件に応じて数字を打ち込むようにしてますがパスワード欄の入力には影響はないです
sleep(0.8)
KBD(VK_space,down,40) //ログイン()も全角で入力なので変換で半角にします
KBD(VK_space,up,40)  //ログイン()も全角で入力なので変換で半角にします
sleep(0.8)
KBD(VK_RETURN,CLICK,40) //全角入力なのでエンターキーで確定します
KBD(VK_TAB,down,40) //パスワード欄に移るタブキーです
KBD(VK_TAB,up,40)  //パスワード欄に移るタブキーです
sleep(0.8)
~ここからパスワードの入力~
KBD(VK_o,CLICK,40)と続きます

たぶん全角でないと入力できないんだけどパスワード欄では半角入力になってしまう
この問題を解決する助言をください

695:名無しさん@お腹いっぱい。
11/05/06 18:00:10.05 IS08JZpr0
ディレイ40って0.04秒だからもっとしっかりゆとりを持たせたら?
あとパスワード欄の入力可否はそのソフト依存だと思う

696:名無しさん@お腹いっぱい。
11/05/06 19:36:03.00 nxcWJScI0
>>695
レスどうもです
これと同じようなことをuwscでやってる人がいるので
出来ないことはないと思うんですけど
なにかわかりませんか?
ディレイのところも1000などに変えたりしたんですけど無理でした・・

697:名無しさん@お腹いっぱい。
11/05/06 21:44:51.39 IS08JZpr0
すまん上で書いてたな

698:名無しさん@お腹いっぱい。
11/05/06 21:49:43.70 IS08JZpr0
記録ボタン使ってみたら?
記録→保存→動作確認→中身を簡素化する
でいいかと

699:名無しさん@お腹いっぱい。
11/05/06 22:11:03.11 9RnaXZtt0
>>693
辞書とかパスワードに影響ないとか、正直何したいのか分かり辛い。
入力段階ごとにIDとパスワードの状態を例として示した方が良いよ

700:名無しさん@お腹いっぱい。
11/05/07 00:12:30.26 mHIAImGa0
メイプルストーリー
…自動ログインで多重ログインか…ひどいもんだ。

701:名無しさん@お腹いっぱい。
11/05/07 00:32:43.15 uxg9/bzD0
>>694
URLリンク(scripts.web.fc2.com)

自動ログインスクリプト。
先にIDとパスワードのテキストファイル(MSLogin.dat)を作っておく必要がある。


-- MSLogin.dat ここから--
MapleStory ID List
名前, ID, パスワード // この行は変更してもかまいません。データは次の行から開始。
漢字名(表示用),ID,pass,メモ
-- MSLogin.dat ここまで--


KBD()で入力する場合はシフトとか特殊文字の処理が必要。
// UNICODE?文字を、キー送信用ASCIIキーコードに置き換える
Function CnvCCode( char )
 if !CHKNUM(char) Then char = STRCONV(char, SC_UPPERCASE)
 select char
  case "."
   code = VK_OEM_PERIOD
  case "@"
   code = VK_OEM_3
  default
   code = ASC(char)
 selend
 result = code
Fend

702:名無しさん@お腹いっぱい。
11/05/07 00:34:42.23 uxg9/bzD0
// Webページの入力コントロールにデータをセットする
Procedure InputData( ID, Info[], Data )
 Select Info[ID_Type]
  case ID_TEXT // テキスト
   SENDSTR( ID, Data, Info[ID_No], true, true )
  case ID_CLIP // クリップボード経由でテキストを貼り付け
   SendStr( 0, Data )
   SENDSTR( ID, "", Info[ID_No], true, true )
   SCKey( ID, VK_SHIFT, VK_END )
   sleep( 0.03 )
   SCKey( ID, VK_CTRL, VK_V )
  case ID_CLICK // クリック
   CLKITEM( ID, Data, CLK_ACC or CLK_SHORT or CLK_CONTINUE )
  case ID_KBD // 手入力エミュ
   SENDSTR( ID, "", Info[ID_No], true, true )
   SCKey( ID, VK_SHIFT, VK_END )
   sleep(0.1)
   for j = 1 to length(Data)
    sleep(0.03)
    SCKey( ID, CnvCCode(Copy( Data, j, 1 )) )
   next
   sleep(0.2)
  case ID_LIST // リスト選択
   CLKITEM( ID, Data, CLK_ACC or CLK_SHORT or CLK_CONTINUE )
   sleep(0.1); SCKey( ID, VK_TAB )
   sleep(0.1); SCKey( ID, VK_UP )
   sleep(0.1); SCKey( ID, VK_DOWN )
  default
   msgbox("i:" + " No." + Info[ID_No] + " Data:" + Data )
 Selend
Fend

703:名無しさん@お腹いっぱい。
11/05/07 00:44:22.39 uxg9/bzD0
PUBLIC   ID_NONE = 0
PUBLIC   ID_TEXT = $10 // テキスト(貼り付け)
PUBLIC   ID_KBD = $11 // キー入力をエミュ(ASCII文字限定)
PUBLIC   ID_CLIP = $12 // クリップボードから貼り付け
PUBLIC   ID_CHKBOX = $20 //
PUBLIC   ID_LIST = $30 // リストを選択
PUBLIC   ID_LISTCsr = $31 // カーソルキーによる選択
PUBLIC   ID_CLICK = $40 //

PUBLIC   ID_Type = 0
PUBLIC   ID_No   = 1 // テキストボックス, チェックボタンの番号
PUBLIC   ID_Key = 2

PUBLIC HASHTBL Data
================
 Dim GooP[][2] = _
_ // タイプ、番号、キー
 ID_TEXT, 2, "ID", _
 ID_TEXT, 3, "パスワード", _
 ID_TEXT, 4, "パスワード", _
 ID_TEXT, 5, "漢字姓", _
 ID_TEXT, 6, "漢字名", _
 ID_CLICK, 0, "性別", _  //(選択不可能)
 ID_LIST, 0, "生年", _
 ID_LIST, 0, "生月", _
 ID_TEXT, 13, "", _  //手入力なのでラスト
 "", "", "" // dummy

  s = //データの準備
  InputData( ID, GooP[i], s ) // データの入力

>>701-702 にこんな感じで定義したやつをぶち込む

704:名無しさん@お腹いっぱい。
11/05/07 14:27:44.63 eurEFH6h0
>>701-703
レスありがとうございます!
参考にさせていただきます

705:名無しさん@お腹いっぱい。
11/05/11 19:26:37.29 BXjDl7Fe0


706:名無しさん@お腹いっぱい。
11/05/17 18:35:31.01 UGhxi4pW0
So-netのポイントポンというゲームを自動でやりたいのですが、
SWFを認識してクリックすることって出来ますでしょうか?
このサイトです。
URLリンク(www.so-net.ne.jp)

707:名無しさん@お腹いっぱい。
11/05/17 19:57:43.12 +1xad/lQ0
できますよ

708:名無しさん@お腹いっぱい。
11/05/17 21:03:31.59 D0y9Fx350
>>706-707
見事なまでのテンプレだな。

709:名無しさん@お腹いっぱい。
11/05/17 22:07:48.63 UGhxi4pW0
>>707
どうやってやればいいのでしょうか?
ご教授いただければ・・。

710:名無しさん@お腹いっぱい。
11/05/17 22:09:43.86 UGhxi4pW0
CHKIMGではBMPしか駄目みたいなので、他にどういうアプローチが
あるか教えていただけるとうれしいです。

711:名無しさん@お腹いっぱい。
11/05/18 05:30:38.30 m+Qpbqgg0
>>710
BMPで十分だろ
それが気に入らんならMSAAで直接flashの操作するといい

712:名無しさん@お腹いっぱい。
11/05/18 13:22:28.74 iywQxWyC0
>>706って会員登録しないとダメなのかw

面倒だから見てないけど、この手のゲームだったらCHKIMGを使うのが1番確実だよ。
スクリーンショットとペイントだけで十分だ。

713:名無しさん@お腹いっぱい。
11/05/18 18:31:24.99 6WrbT/z10
調べても分からないので教えて下さい。
アクティブウインドウでは指定した所をクリックするのですが、
バックグランド(最小化)の時は違う所をクリックしてしまいます
両方で同じ場所(座標)をクリックするには、
どのようにすれば良いでしょうか?

wnd_id = GETID("○○○)
MOUSEORG(wnd_id, 2)

MMV(1100,585,1500)
BTN(LEFT,CLICK,1100,585,30)

714:名無しさん@お腹いっぱい。
11/05/18 18:35:02.50 mKLDAazC0
>>712
ありがとうございます。
これは一旦スクリーンショットをBMPとして保存して
それと照合させるってことですか?

715:名無しさん@お腹いっぱい。
11/05/19 08:56:01.85 IZxJh+aQ0
スクリーンショットで撮った画像を必要な部分だけ切り取る。
それをCHKIMGで探させてクリックさせる。

ifb CHKIMG("画像.bmp")
BTN(LEFT, CLICK, G_IMG_X+10, G_IMG_Y+20)
endif

画面上に"画像.bmp"があったら、その画像の左上から
右(X)に10ピクセル、下(Y)に20ピクセルの部分をクリックするというもの。

基本中の基本です。

716:名無しさん@お腹いっぱい。
11/05/19 09:23:24.83 T1Div3Tj0
ググってすらねーだろ

717:名無しさん@お腹いっぱい。
11/05/19 09:33:40.58 v/LFKHK/0
こんな親切なスレだと思わんかったよw
質問する前に試せば良いだろうに。

718:名無しさん@お腹いっぱい。
11/05/19 15:56:48.62 hu5TkwSm0
UWSCで詳細なデバックをしたいと思っています
コマンドプロンプトに返り値などを表示せる方法は無いものでしょうか?

Msgboxだと中断されてしまうので
print でコマンドプロンプトに表示される感じがいいのですが
方法がありましたら教えていただけないでしょうか
よろしくお願い致します

719:名無しさん@お腹いっぱい。
11/05/19 16:00:25.81 FaBEFFZI0
使ってて思ったんだけど他の言語の拡張ライブラリにChkImgとPeekColorを自分で実装したら
UWSC使う必要無くね?

720:名無しさん@お腹いっぱい。
11/05/19 17:15:11.68 BLUQoRtCP
車輪の再発明って知ってる?
敢えて作りたいのなら作ればいいと思うよ

721: 忍法帖【Lv=1,xxxP】
11/05/21 10:58:30.97 BbMPCqlJ0
2ちゃんねるの忍法帖切り替えツールが一応でけた。
こないだ3回目くらいのすいとん食らったときに思い立って複数作ってみたが、
IEへの反映方法がリストアか直接編集しかなくて意外と大変だった。

722:名無しさん@お腹いっぱい。
11/05/21 11:35:34.46 bBt6sr/x0
画像が認証できないのですがなぜでしょうか?


sleep(1)
ifb CHKIMG("ban.bmp",0)     
x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入
BTN(LEFT, CLICK,x,y, 80)   // 画像の場所を左クリック
endif
wend

まず一段階でこれをしたいのですが
画像の形式もbmpです。切り取ってやりましたが
作動しません。
お手数ですがzipで準備しました。
暇のある方見てやってください(´・ω・`)
URLリンク(u9.getuploader.com)


723:名無しさん@お腹いっぱい。
11/05/21 12:00:24.99 BbMPCqlJ0
>>722
同じ部分を何度かキャプチャして違いがないか調べてみてください。
見た目で分かればそれでいいし、分からなければ色コードを・・・
同じエリアで切り取ってバイナリの一致をするかどうか見てもいいです。

変化がある場合は変化に対応するオプションが必要です。
(色ではなく形で見るというあれ)

キャプチャするときにJPEGとかで保存するようなソフト使ってないですか?
もし使ってたらその時点で色が変化しているので一致しません。
確実なキャプチャはAlt+PrintScreenです。
(ただし画面の色数によって違ってくるかも)

ビットマップファイルの形式はフルカラーじゃないといけません。
それ以下だと減色されて違う色になります。
もちろん画面の色数もフルカラーじゃないと。

724:名無しさん@お腹いっぱい。
11/05/21 17:36:36.83 bBt6sr/x0
>>723
お忙しい中見て頂いてありがとうございます
色変化してるんですかね
やって見たけどダメでした。もっと扱いに慣れてからこの手に触れようと思います

725:名無しさん@お腹いっぱい。
11/05/21 17:44:31.96 TY+fLqtTi
vistaやwin7だと、管理者で実行してやると解決するかも

726:名無しさん@お腹いっぱい。
11/05/21 18:33:30.38 eBttpOx+0
>>719
UWSCのドキュメントが少なく複雑で謎な言語仕様と戦う必要が無くなるから
ほとんどの人はそうしてる

727:名無しさん@お腹いっぱい。
11/05/21 19:00:45.33 N8mj71oS0
>>726
オーソドックスなBASIC的文法

最近主流のC的文法に慣れてると最初面食らうかもしれない

728:名無しさん@お腹いっぱい。
11/05/21 19:12:09.76 eBttpOx+0
>>727
文法とか以前にインスタンスが作れない名前空間的機能にclassって命名したりどうなの。
あと>>593のこの仕様とかw
競合しているなでしこのほうがまだオブジェクト指向で書けるからいいとオモッタ
でも結局C言語(win32 api)と相性のいいpythonの拡張ライブラリに
自前でChkImgとPeekColor実装したらどっちも使う必要無くなった。

729:名無しさん@お腹いっぱい。
11/05/22 14:30:22.93 4P4zk0BAi
>>728
希望としては、そのライブラリを公開してほしい

730:名無しさん@お腹いっぱい。
11/05/22 20:14:35.77 3zhjDiIw0
調べたのですが、見つからないので質問させてください。

IEを使用したときの接続表示待ちの指定は
while True
  if (! IE.busy) and (IE.readyState=4) then Break
  sleep(0.1)
だとわかったのですが、chromeを使った際の
接続表示待ちの指定がわかりませんでした。
何か方法はあるのでしょうか?

731:名無しさん@お腹いっぱい。
11/05/22 20:21:51.08 SGY1ppJH0
ありますん

732:名無しさん@お腹いっぱい。
11/05/23 00:12:29.86 ycsCtdl90
なんかファイルを開けないんですが
ドラッグドロップして一回動かさないと読み込みできない


733:名無しさん@お腹いっぱい。
11/05/23 00:32:19.76 ZSCGOBZL0
そうですか

734:名無しさん@お腹いっぱい。
11/05/23 11:12:22.75 ycsCtdl90
exeファイルをmew11で圧縮したのがいけなかったのかな?

735:名無しさん@お腹いっぱい。
11/05/23 11:45:44.84 a3VOAi3w0
>>730
何を持ってページ読み込み完了とするかをまず考える。

736:名無しさん@お腹いっぱい。
11/05/24 07:17:12.13 syW7YMrL0
忍法帳を管理するツール作ったんだけど、なぜかクッキーが消えることがあります。
クッキーに対しては一括読み込みして全行削除して1行書き込みして閉じるという
それだけのことしかしてないんですが。
クッキーは特別な管理がされているのでそれが影響してるのかなと思わなくもありませんが・・

バージョン確認したら4.5a (2009/3/31)だったので最新に差し替えてみます。

問題のツールも置いときますね。
URLリンク(scripts.web.fc2.com)

737:名無しさん@お腹いっぱい。
11/05/25 10:17:33.14 EhgzlpEh0
While True
 ifb PEEKCOLOR(511,605) = $0000e6 then//xyが赤の場合↓の場所を左クリック
BTN(LEFT,CLICK,723,758)
else
endif
Wend

↑動かないんです
どこが違ってるか見てもらえませんか?

738:名無しさん@お腹いっぱい。
11/05/25 10:26:45.33 tmfXCBnY0
>>737
BTNが実行されたらマウス座標が移動するけど、それは起こる?起こらない?

あと、座標、色コードはあってる?ちょっとでも違うと反応しないよ。それだと。
あと、Sleep()入れないと相手も動けないよ。
UWSCがCPU占有して重くなると、UIは受け付けなくなるようなゲームも多いからね。


739:736  忍法帖【Lv=2,xxxP】
11/05/25 12:45:37.52 tmfXCBnY0
どうやらクッキーは頻繁に書き換えるとだめらしい。
ある程度、時間を置いてのんびりやるとうまくいくようだ。


それよりJaneの動作がおかしくなった。
仮想マシンを新品に入れ替えてJaneドライブを接続して使っているが、
ログ取得の記録がどうも書き換わらない・・・

あ、そっか。ユーザーを一般ユーザーに変更したからアクセス権がないんだ・・・
ディスクのチェックをする権限もなかったし。
変なアクセス権が設定されてるんだろうな。

740:名無しさん@お腹いっぱい。
11/05/25 12:46:57.64 sktEnkul0
チラ裏でした

741:名無しさん@お腹いっぱい。
11/05/25 15:53:37.01 EhgzlpEh0
ACW(GETID("パチンコ"))
While True
Sleep(1)
 ifb PEEKCOLOR(511,605) = $0000e6 then//xyが赤の場合↓の場所を左クリック
KBD(LEFT,CLICK,723,758)
else
endif
Wend

↑此処まで修正しました
やっぱり無反応です。
色はペイント座標は記録からメモ帳で調べてますが、
皆さんはどうやって見てますか?

742:名無しさん@お腹いっぱい。
11/05/25 16:29:49.72 tmfXCBnY0
>>741
ペイント(拡大)とメモ帳で問題ないけど、
色ってシェーディングかかってたら似た色でもコードが違ってくる。
座標がピンポイントで一致しないといけない。
それは大変なので、特にシビアじゃないときには「赤っぽい色」で判定する。

red = color and $FF
green = (color and $FF00) / $100
blue = (color and $FF0000) / $10000

if (80 < red) and (green < 40) and (blue < 40) then 赤っぽい
てな感じで。
数値は適当なので、カラーマップとか見て目で判断する。
括弧つけないとredとgreenの論理積扱いされるかも。
括弧つけると先に不等号判定され、結果がbool値になるので、それを論理積する。

大小判定は直感的に分かるように、大小の方向を一致させるといい。

743:名無しさん@お腹いっぱい。
11/05/25 17:04:08.85 J6WPryn10
勉強になるなぁ

744:名無しさん@お腹いっぱい。
11/05/27 14:35:43.35 rO7PE39G0
>>741
狙ってるところを、何回もスクショとってみて、確認かな。
ずーっと同じ値なら固定値でいい。
バラついてるなら、ばらつき加味してプログラムすべし。

745:名無しさん@お腹いっぱい。
11/05/28 22:29:36.94 sS6Xevt50
画像認証の範囲指定をおしえてください。


Ifb CHKIMG("mp45452.bmp",409,714,1500,1500,) > 0 //MP薬補充
sleep(0.1)
KBD(VK_F8)
endif

範囲指定しなければちゃんと動いています。
後ろの範囲は適当に入れた数値で、もし0,0,1500,1500だったら動作します。

MOUSEORG(0) 
↑などもいろいろやってみましたがだめでした。

746:名無しさん@お腹いっぱい。
11/05/28 23:10:57.58 2eEfKVil0
特定の画像を一定の秒数表示された場合にF5を押すマクロを組みたいのです。
ググってみたもののわからなかったので教えて下さい。

747:名無しさん@お腹いっぱい。
11/05/28 23:27:36.07 HiI2w12Y0
>>2

748:名無しさん@お腹いっぱい。
11/06/01 05:47:51.61 ycjsTZmX0
UWSCで書くとコードの再利用性が無いから
せめてclass機能が欲しい

749:名無しさん@お腹いっぱい。
11/06/01 14:06:13.08 6Omdq0pO0
現状はモジュールなのにクラスとか名づけてるのが嫌だし、それはあるなぁ…
あとは配列で
dim list = 1, 2, 3, [4, 5, 6], [aaa:7, bbb8]
とかネストしたりキーバリューが書けたらなぁ

…上でもかかれてたけど、UWSCでやる必要ってWin32APIのウィンドウ操作と画像認識だけだよな。

750:名無しさん@お腹いっぱい。
11/06/01 15:30:46.98 pgGwEwGR0
画像認証に関してお聞きしたいのですが、どうやら画像が微妙に変化してるようで
同じような外見の画像に対して画像Aか画像Bのどちらかに反応するようです
詳細(ディスプレイ=32Bitカラー、キャプチャしたBMPイメージ=24bitカラー)

そこで
ifb (CHKIMG(画像A.bmp)or(CHKIMG(画像B.bmp))
...(以下の動作は画像AもBもほとんど同じ)


ifb CHKIMG(画像A.bmp)
...
ELSEif (CHKIMG(画像B.bmp)
...

を考えたのですが上下どちらの方がいいでしょうか?

751:名無しさん@お腹いっぱい。
11/06/01 15:41:56.14 /OG9qV2i0
>>750
変化のない部分だけを切り出す。

たとえばボタンとしては画像の全体がボタンとして機能するとしても、
ボタンの場所を探るのに必要な部分というのは、他の場所と混同しない最小限のドット数があればいいわけです。

似た感じだが全体が違う画像の場合、色を無視して形で判断するオプションをつけます。

上記2つが出来ない場合にだけ、>>750のどちらかが必要になりますが、
基本的に画像が見つからない状態でループを繰り返すならどちらでも同じなので、
シンプルに or で結ぶのがいいでしょうね。


752:名無しさん@お腹いっぱい。
11/06/01 23:26:58.20 T7q6pnZp0
質問です。

Test.uws ”C:\Test\新しいフォルダ\20110601 テストてすとTest.txt”
と実行した場合のパスの文字列を取得したいです。
PARAM_STR[0]は
C:\Test\新しい~1\201106~1.TXT
となります。
「C:\Test\新しいフォルダ\20110601 テストてすとTest.txt」という文字列を取得したいのですが、
どのようにすればよいでしょうか。

753:名無しさん@お腹いっぱい。
11/06/02 12:21:04.43 VUco/QRe0
APIのGetLongPathName()か、DOSコマンドかな。

DWORD GetLongPathName(
 LPCTSTR lpszShortPath,  ショートファイル名
 LPTSTR lpszLongPath,   受信バッファ(UWSCの場合は空白文字列)
 DWORD cchBuffer      バッファサイズ(LengthB(lpszLongPath))
);)

空文字列と言えば "" ですが、
空白文字列は "              " こんな感じで十分な長さのものです。

DOSのDIRコマンドでとる方法もあるけど、フォルダごとにやらないといけないのかな
URLリンク(www.gizcollabo.jp)


パス名をショートファイル名で表示するように設定してたりしませんか?
> UWSC.exe test.uws "ロングファイル名"
っていう呼び出し方でMsgBox(PARAM_STR[0])ってやると、普通にロングファイル名で出てきますが。


754:名無しさん@お腹いっぱい。
11/06/03 00:24:53.64 posbHy0I0
FastHash.dllを使ってハッシュ計算をやろうとしてるんだけど
とりあえず書いてエラーは出ないんだが、肝心のハッシュがデタラメ…
DEF_DLLってほとんど使ったこと無いから根本的に間違ってそうなのが怖い。
誰か何処が間違ってるのか教えて下さい…

DEF_DLL FHCreateHashEngineObject(DWORD):HWND:FastHash.dll
DEF_DLL FHComputeHash(HWND, pchar, DWORD):Bool:FastHash.dll
DEF_DLL FHGetHashValue(HWND, var pchar, DWORD):DWORD:FastHash.dll
DEF_DLL FHHashValueToHashString(var string, pchar, DWORD, BOOL):FastHash.dll
DEF_DLL FHCloseObjectHandle(HWND):Bool:FastHash.dll
DEF_DLL FHCreateHashValueObject(HWND):HWND:FastHash.dll
DEF_DLL FHInitHashValue(HWND):int:FastHash.dll
htype = $4
msg = ""
cr = "<#CR>"
fh = FHCreateHashEngineObject(htype)
ado = CREATEOLEOBJ("ADODB.Stream")
ado.Type = 1



755:名無しさん@お腹いっぱい。
11/06/03 00:25:45.42 posbHy0I0
ado.Open
ado.LoadFromFile("FastHash.dll")
fsize = ado.size
msg = msg + fsize + cr
bufsize = 512
while !ado.EOS
buf = ado.Read(bufsize)
FHComputeHash(fh, buf, lengthb(buf))
wend
hash = format(" ", 32)
hashsize = FHGetHashValue(fh, hash, htype)
out = format(" ", hashsize*2+1)
FHHashValueToHashString(out, hash, hashsize, false)
msg = msg + out + cr
msgbox(msg)
//正しい値 "BAD795FCF94AE0532B57F886205965C7"
FHCloseObjectHandle(fh)

756:名無しさん@お腹いっぱい。
11/06/03 12:57:01.66 c/BneUED0
>>754-755
buf = ado.Read(bufsize)
print LengthB(buf)
とすると、妙に小さくてランダムなサイズになってるんです。
多分NULL終端文字列扱いになってる。

UWSC自体はChr(0)を途中に含めた文字列でもデータの最後までの長さを取得できるんですが、
配列データを受け取るときに安全のために終端するんでしょう。

DEF_DLL RtlMoveMemory( string, SafeArray, DWord ):kernel32.dll
と宣言して
buf = format( " ", bufsize )
RtlMoveMemory( buf, ado.Read(bufsize), bufsize )
とやれば、受け取ったバッファを確実にコピーできるはずですが、
正しい値は得られませんでした。


ちなみに、FHComputeHash のループが終わったら
FHCreateHashValueObject でハッシュオブジェクトを作ることが必要だとか。


757:名無しさん@お腹いっぱい。
11/06/03 18:48:38.95 c/BneUED0
 bufsize = 1
 while ! ado.EOS
  buf = ""
  for i = 1 to 512
   if ado.EOS then break
   ByteData = ado.Read(bufsize)
   buf = buf + CopyB( ByteData, 1, 1 )
  next
  ifb ! FHComputeHash(fh, buf, lengthb(buf))

こうやったら512バイトのバッファが作れてファイルサイズ分だけの処理は出来るようになりましたが、
どうもデータが壊れてしまうようでうまくいきませんね。
半角はいけるんですが、2バイト文字が壊れます。
文字コード変換してるのかも。

引数に受信バッファを指定できるタイプの関数を使わないと無理でしょう。


758:名無しさん@お腹いっぱい。
11/06/03 20:37:05.72 posbHy0I0
>>756
> FHCreateHashValueObject でハッシュオブジェクトを作ることが必要だとか。

これ、最初の頃は書いてましたが、どうもFHGetHashValueを
呼べばそのときに再計算やってるらしく、1回だけ計算するときは
必要ないようで消してます。

どうもFastHash.dllをUWSCで扱うのは無理っぽいのかな…
これは今後の課題としてとりあえずはBASP21でも使ってみようかと思います。

759: 忍法帖【Lv=1,xxxP】
11/06/04 12:26:40.90 2KBRGkl70
UWSC 旧バージョンをダウンロードできるサイトってありますか?



760:名無しさん@お腹いっぱい。
11/06/04 13:49:07.48 hyDuayc40
ためしにバイナリコピーを書いてみた。

 adoS.LoadFromFile(GET_CUR_DIR + "\ReadMe.txt")
 adoS.CopyTo(adoD, -1)
 adoD.SaveToFile("copy.bin", 2 ) // adSaveCreateOverWrite

↑動く
↓動かない

 while ! adoS.EOS
  buf = CopyB("",0,0) // 本家からの引用で、文字コードをユニコードじゃなくANSIにする技。
               // buf = "" だとユニコード扱いらしい。
  for i = 1 to 512
   if adoS.EOS then break
   buf = buf + CopyB( adoS.Read(bufsize), 1, 1 )
   size = i
  next
  print size
  print buf
  adoD.Write(buf)    // そもそもCOMエラーで動かない。バリアント型に変換されないのか。
 wend
 adoD.SaveToFile("copy.bin", 2 )

UWSCがデータを触らないで済めば受け渡し自体は出来るんだよ。
型変換ができればいけそうな気はするんだけど
VARTYPE( 変数, [変換タイプ] ) とか書いてあるところがあったけどUWSCは対応してないみたいで


761:名無しさん@お腹いっぱい。
11/06/04 15:20:26.61 OZFKFCHZ0
fsize = ado.Size
buf = ado.Read
FHComputeHash(fh, buf, fsize)

全部メモリに読み込んでやってみると
エラーが出たり出なかったり…
エラー出てない時の値もランダム。

762:名無しさん@お腹いっぱい。
11/06/04 22:23:36.02 tgYxdGHc0
「指定のテキストが画面上に現れたら、
指定の画像をクリックする。」
のようなマクロを作りたいのですが、
色々試しているのですが、エラーが出てしまいます。
どなたか教えて頂けないでしょうか?

763:名無しさん@お腹いっぱい。
11/06/04 22:29:52.60 xhQE3RN+0
色々試したソースを挙げてごらん

764:名無しさん@お腹いっぱい。
11/06/04 22:34:17.05 HC7Ps71g0
>>754
画面ポチポチ以外はC#とか普通の言語でやればいいのに
なんでこういうのをUWSCで書くという苦行を選ぶんだ?

765:名無しさん@お腹いっぱい。
11/06/04 22:41:43.77 oJ7biuYS0
>762
できるが俺も>763と同意見だな。
いちから書くのはめんどい。おまえが元になるものを出せば訂正してやるよ。
偉そうにいえるほど能力は高くないが、汚く直すくらいはできる。
んで、それをおまえの好みに整えて使えばいい。

766:名無しさん@お腹いっぱい。
11/06/04 22:42:12.23 tgYxdGHc0
752です。

ifb CHKIMG("画像1.BMP",0)      // 画面上に画像があった場合以下へ

x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入

BTN(LEFT, CLICK, x, y, 80)   // 画像の場所を左クリック

の辺りまでは出来ました。

767:名無しさん@お腹いっぱい。
11/06/04 23:05:06.87 tgYxdGHc0
ついでに画像認証はテキストの認証方法が分からなかったので
応用しました。
しかし、上記のスクリプトでは認証した画像をクリックすること
くらいしかできなく、私もかなり最近始めて
これ位の基礎動作しか分からなかったため、
質問を上げさせて頂きました。


768:名無しさん@お腹いっぱい。
11/06/04 23:08:35.00 xdBjojGQ0
テキスト認証ってやっぱ画像にするしかないのかな

769:名無しさん@お腹いっぱい。
11/06/04 23:09:06.32 S8RdXfJA0
で、その後の処理とエラー内容を想像しろと?

770:名無しさん@お腹いっぱい。
11/06/04 23:12:05.37 kQlUkhv60
>>766
endifが無いとかそういうエラーじゃないよな。
どんな問題がおきてるか書かないと、だれも判らないよ。
自分が書いていることを客観的に見れないのがそもそもの問題のような気がするけど。
自分の記述が、uwscにどう解釈されるのか、伝えたい相手にどう解釈されるのか。
受け取る側の立場に立てないと難しいぞ。

771:名無しさん@お腹いっぱい。
11/06/04 23:34:45.94 HC7Ps71g0
>>754
CでやりたいことをラップするDLL書いてみたよ
FastHash.dllのハッシュ値が"BAD795FCF94AE0532B57F886205965C7"になればいいんだよね?

URLリンク(codepad.org)

772:771
11/06/04 23:45:49.08 HC7Ps71g0
バイナリあったほうがいいかなと思ったりして。
VS2008でコンパイルしたもの。

URLリンク(www1.axfc.net)

773:名無しさん@お腹いっぱい。
11/06/05 02:21:08.39 g86IC7rZ0
2011/06/05 UWSC Ver4.7、 Pro版と Free版をリリースしました。

774:名無しさん@お腹いっぱい。
11/06/05 15:27:22.12 QXzudF7U0
>>773ので型変換できたのでやってみました。

  dat1 = VARTYPE(buf,VAR_BYTE or VAR_ARRAY) // 文字列→バイト配列
  adoD.Write( dat1 )

bufのサイズは512なんだけど、出力した結果は2倍近い数字に。
しかし、表示された半角文字分くらい、2倍には足りない。

サイズを見ると、LengthBなら変換前も後も512だけど、Lengthだとちょっと短い。
adoD.Write() に渡すときはデータだけであって、サイズは自動処理されるから、
どっちの長さを渡しているか分からない。多分Lengthだろう。
しかも出力結果は倍のサイズ。

いやまて、バイト配列にしたときに配列数よりバイト数が大きいと言うことは、いくつかは2バイト文字として格納されているのか。
意味が分からない。


しかし、SETHOTKEY( キーコード, [修飾子キー, Procedure名] )は便利かも。
以前リモコン動作をバッチファイル経由で・・・あ、実行ファイル指定だと意味ないか。


775:名無しさん@お腹いっぱい。
11/06/05 15:54:49.65 QXzudF7U0
>>767
よくある画像認証システム(画像を読み取ってテキスト入力)はUWSCでは対処できません。
変化のある画像を扱えないからです。

その変化が単調な変化ならPEEKCOLORで色コードで判定できます。



>>774>>760の下のコードに追加したものです。
他に試したパターンを以下に

//  dat1 = VARTYPE(buf,VAR_DISPATCH) // String型からBoolean型へのバリアント型変換はできません。

//  dat1 = VARTYPE(buf,VAR_BSTR) // (元の型) Write時にCOM Error

//  dat1 = VARTYPE(buf,VAR_VARIANT) // String型からバリアント型への変換はできません。

  dat1 = VARTYPE(buf,VAR_BYTE or VAR_ARRAY)
//  dat2 = VARTYPE(dat1,VAR_VARIANT) // Byte型からバリアント型への変換はできません。
//  dat2 = VARTYPE(dat1,VAR_DISPATCH) // Byte型からInteger型への変換はできません。

776:名無しさん@お腹いっぱい。
11/06/05 17:26:50.41 QXzudF7U0
関連する情報を検索してて、0~0xffをテストデータにする方法が載ってたんでやってみた。
0x80までは問題ないけど、その後のデータが化ける。
chr(0)とか、CRLFを扱えるからバイナリいけるとおもってた。
他にもDLLに文字列バッファを渡したりしてたけど、
受け渡しするデータが扱える文字列だったり、
UWSCではポインタの保持のみ(代入したり関数に渡したりしない)だからちゃんと扱えるように見えたのかも。

関数で使いたいときはvar で参照渡しすることで回避できるけど、
代入できないとどうにもならんよな。

結果:
 0 1 2 3 4 5 6 7 8 9 A B C D E F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F
3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F
3F 21 81 91 81 92 3F 5C 7C 81 98 81 4E 63 61 81
E1 81 CA 2D 52 81 50 81 8B 81 7D 32 33 81 4C 83
CA 81 F7 81 45 81 43 31 6F 81 E2 3F 3F 3F 3F 41
41 41 41 41 41 41 43 45 45 45 45 49 49 49 49 44
4E 4F 4F 4F 4F 4F 81 7E 4F 55 55 55 55 59 54 73
61 61 61 61 61 61 61 63 65 65 65 65 69 69 69 69

777:名無しさん@お腹いっぱい。
11/06/05 17:31:21.90 QXzudF7U0
>>776のコード
代入方法はどれでも一緒。

// サンプルデータの準備
//dat = CopyB("", 0, 0)   // dat = "" との違いが見られない
//dat = ""
//dat = chr(0)
dat = CopyB(chr(0), 1, 1)
for i = 1 to $ff
 dat = dat + chr(i)
next

for i = 0 to 16 - 1
 str = ""
 for j = 0 to 16 - 1
  // str = str + format( ABS(ascB(CopyB(dat, i*16+j+1, 1))), 3, -1) // ↓でも同じ
  str = str + format( VarType(ascB(CopyB(dat, i*16+j+1, 1)), VAR_INTEGER), 3, -1)
 next
 print str
next

ifb ascB(chr(0)) = 0
 print "ascB(chr(0)) = 0"   // 一致する
else
 print "ascB(chr(0)) <> 0"
endif
ifb ascB(chr($81)) = $81
 print "ascB(chr($81)) = $81"
else
 print "ascB(chr($81)) <> $81" // 一致しない
endif
sleep(10)

778:名無しさん@お腹いっぱい。
11/06/05 17:41:52.80 QXzudF7U0
>>777の条件文は、Format関数でおかしくしたのかの実験。
だが、そうではなかった。

absを使ってみたけど関係なし
しかし、ASCではFF8Aとかに変換されたりするので、AscBを使う必要がある。
どの道0x80以上の範囲でのことなので大差はないが。


779:名無しさん@お腹いっぱい。
11/06/05 17:46:20.34 sEVwMmd6O
あのさ、先にやりたいこと全部試して
まとめだけ書くって知恵は無いの?

780:名無しさん@お腹いっぱい。
11/06/05 18:32:05.88 QXzudF7U0
>>779
やりたいことは別にない。とりあえずUWSCでバイナリデータを”自由に”扱えるか知りたい。

今まではバイナリデータでも"ADODB.Stream"を使えば扱えると思ってたけど、
受け渡しすら出来ないなら選択肢からさっさと外さないと時間の無駄でしょ。

DLLならメモリに直接書き込んでくれるから文字列バッファを使って受け渡しは出来ていたけど、
COMオブジェクトは代入渡しだからUWSCが自動処理する関係でおかしくなるんだね。

で、動くコードは結論だけで済むんだけど、動かない場合は単に作った人が使い方を間違っただけかもしれない。
それを他人が検証するには「何をしたか」を書かないといけない。

>>750だってコードは出してるけど、肝心な部分がないので判断できないでしょ。

今まではバイナリデータっぽく扱うことが出来ていて不便は感じなかったんだけどね。
バイナリデータなんて実際は扱ってないから。
そもそも他アプリを操縦するのがUWSCの基本だから(以下略


781:名無しさん@お腹いっぱい。
11/06/05 18:49:30.58 QXzudF7U0
>>779
あ、やりたいことあったよ。

HSPスクリプトのDLL呼び出しが出来るけど、あれってEXECするのと変わらないよね。データの受け渡しが出来ないから。
一応管理データがあるみたいだけどHSP内部で使うものであって、スクリプトで扱うものじゃない。
あれを使ってデータのやりとりやら制御ができたらいいなと。

まあ、HSP覚えるのめんどくさいから使わないんだけどね。
HSPでも結局はDLLで全部やっちゃうらしいし。

あれを使おうと思ったのはそもそもチートするときに、食いついたゲームプログラムから
呼び出すことが可能でメモリ改ざんが可能なスクリプト実行環境だったからなわけで。
結局、実行ファイル展開後に食いつく方法とかセキュリティソフト回避する方法とか分からなくて投げ出したんだよ。
UWSCから呼んでみたのは、実際どう呼び出すのかテストと、
UWSC Free版で画面を自由に使えるかなと。


782:名無しさん@お腹いっぱい。
11/06/05 18:51:21.07 BZXWRVGgP
ひとまず深呼吸をしよう。
腹式呼吸で10秒吸って、10秒はくのを10回繰り返す。

そしてこのスレを全レス表示させて1から順に流して見ていこう。
中身は見なくても大丈夫。スレの流れる様子を見るようにして。

するとどうだろう。
君の実験は邪魔になってるのがよくわかるよね。
君の実験メモをここに書くのはやめよう。

783:名無しさん@お腹いっぱい。
11/06/05 19:29:01.77 SWS3yrb80
>>782
いや、それはどうよ。
UWSCで出来ないことがある…という情報は「誰にとっての『邪魔』」なんだ?

784:名無しさん@お腹いっぱい。
11/06/05 20:36:40.45 ni4DAQUY0
>>783
全部書くことはないと思う
先にやりたいこと全部試して結果のまとめだけ書いて
コードはcodepadにでも貼れば1レスでまとまるでしょ
それで同じことに興味がある人がいたらレスを拾うんじゃないかな
今みたくコードも含めて途中経過も全部書きこんでたら読むのめんどくせってなるよ

785:名無しさん@お腹いっぱい。
11/06/05 20:50:50.65 QXzudF7U0
>>784
確かにURLリンク(codepad.org) みたいなのは見やすくていいんだけど、
Basic系がないのはなんでなんだぜ。
C言語を選択してUWSCのソースを張るのは荒らし行為だよね?


786:名無しさん@お腹いっぱい。
11/06/05 20:59:25.58 ni4DAQUY0
>>785
シンタックスエラーになるだけだし荒らしにならないよ
てかPlain Text選べばいいだけでしょ

787:名無しさん@お腹いっぱい。
11/06/05 21:36:43.20 UpCDO7L00
Java Access Bridge for Microsoft Windows Operating System 2.0
が正しくインストールされているかどうかを調べる方法ってありますか?

と言うのも、Javaで作られたアプリを操作しようと四苦八苦しているんですが、操作できません。

GETIDは取得でき、SCKEYを利用できたりは出来るんですが、SENDSTR、CLKITEMなど直接コントロールを
操作/設定しようとしても無反応です。

例えば以下のような感じで記述しています。
SENDSTR(ID,"aaa",1,TRUE,TRUE)

なので、一番最初の文に戻りますが、Java Access Bridgeが正しくインストールされていないのでは?
と疑っています。

788:名無しさん@お腹いっぱい。
11/06/05 21:54:10.65 BZXWRVGgP
>>784
まさしくその通り。

1レス内で収まる範囲のソースコードや説明であれば誰かの役には立つとは思う。
しかし、こんな長文をダラダラ延々と続ければ続けるほど誰も見なくなり
情報価値は少なくなる。むしろマイナスだ。邪魔。荒らし行為そのもの。

一応フォローするけど、まともなコードも書けるようだし頭はいい人だとは思う。
アスペルガー症候群なんだろうか。

789:名無しさん@お腹いっぱい。
11/06/06 02:55:49.79 9zgS8WMT0
そうかな。
ホームラン級のバカだと思うけどな。
uwscの役割を理解せずに、何でもかんでも要求してるだけだろ。
v2cみたいに。w

790:名無しさん@お腹いっぱい。
11/06/06 03:07:13.75 npqVU/0S0
要求はしてないだろ。確認しただけだ。本当に馬鹿発言だな。

791:名無しさん@お腹いっぱい。
11/06/06 04:02:16.44 9zgS8WMT0
uwscに要求したじゃん。

792:名無しさん@お腹いっぱい。
11/06/06 08:50:24.84 4AVwEeJW0
>>789
いまどきバイナリファイルも扱えないスクリプトなんてw
…というレッテル張りに始終するのが賢い選択だったのかな?

793:名無しさん@お腹いっぱい。
11/06/06 12:14:20.48 8xId2Plm0
>>792
近代的なプログラミング言語は言語仕様は最小限にして
機能はライブラリで提供するのが主流だからバイト配列が扱えない言語も多いよlua、lisp、javascriptとか。
PHPやVBは時代に逆行して機能を言語仕様に詰め込むから言語としてバカにされ続ける。

794:名無しさん@お腹いっぱい。
11/06/06 12:15:55.68 npqVU/0S0
lispとか古すぎ

795:名無しさん@お腹いっぱい。
11/06/06 12:34:24.36 E8y1CT6vi
>>793
外部ライブラリを使っても、UWSCの制限でバグるのが問題なんだろ。
使える外部ライブラリを提示出来るならその指摘もありだとは思うけど…

796:名無しさん@お腹いっぱい。
11/06/06 12:47:15.73 8xId2Plm0
>>795
UWSCにライブラリ作るためのAPIなんて用意されてないだろ。

画面ポチポチやるかき捨てプログラム書くための専用ツールなんだから
どうしても必要なんだったら普通の言語使うか>>771みたくネイティブコード吐ける言語に処理させて
結果だけ受け取ったほうが圧倒的に効率いいだろ

797:名無しさん@お腹いっぱい。
11/06/06 13:24:04.29 npqVU/0S0
>>796
すでに存在するものを利用できるのがスクリプトのいいところだ。
バイナリの受け渡しさえ出来ればいいんだからUWSCが対応したらそれでこんな議論は終わりだ。

しかし、加工したはずの文字列がゴミまで一緒に渡すようになると、既存のコードに影響するからね。
>>796が主張するように自分で処理するDLLを作って文字列を加工したのに、
UWSCがそれを無視してゴミをデータとして処理したとすると、それはそれで問題がある。

> 結果だけ受け取ったほうが圧倒的に効率いいだろ
それは当たり前だよ。
だけど、スクリプトでやることに意味があるんじゃないか。
コンパイル環境がいらないとか、コンパイル言語でバグ出す前にテストしてみるとか。
WSHやJavaScriptじゃなくUWSCを使うのは、手軽にDLLを使えるからだろ。
DLLはバイナリデータを扱うことが多いんだから、バイナリがうまく扱えないのはメリットをデメリットで相殺してるようなものじゃないかな。


まあ、ハッシュ計算の問題はWindowsAPIのReadFile関数をDLLで呼び出せばたぶん解決だよ。
バイナリデータが扱えないと言うより、COMオブジェクト特有の代入演算がネックだったと。

798:名無しさん@お腹いっぱい。
11/06/06 13:33:26.37 npqVU/0S0
>>793
あと、Lispを近代的言語って表現するのはおかしいよね。
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)

Lispがとても古い時代のものだというのはプログラミング言語一つでも使えるなら知ってて当然なんだけど。
まあ言葉の表現がおかしいだけなんだろうけど、ものの捉え方がちょっとズレてるのが原因かもね。
だからこんな議論してしまうんだよ。
何でもかんでも自分の知ってるものに当てはめてしまうとかね。
もうちょっと基礎部分を広げた方がいいと思うよ。


799:名無しさん@お腹いっぱい。
11/06/06 13:39:21.47 8xId2Plm0
>>798
登場時期が古い=レガシー言語ってお前バカだろw
C言語よりC++やD言語がモダンだと思っちゃうタイプ?

800:名無しさん@お腹いっぱい。
11/06/06 14:53:42.01 8xId2Plm0
>> 結果だけ受け取ったほうが圧倒的に効率いいだろ
>それは当たり前だよ。
>だけど、スクリプトでやることに意味があるんじゃないか。
>コンパイル環境がいらないとか、コンパイル言語でバグ出す前にテストしてみるとか。

どんだけこのマウスポチポチツールに入れ込んでるのか知らんけど
これでいいじゃん

URLリンク(codepad.org)

この話題終了

801:名無しさん@お腹いっぱい。
11/06/06 21:36:31.18 kvcA2Kfh0
ふぉーとらんを馬鹿にする奴は俺が許さん

802:名無しさん@お腹いっぱい。
11/06/06 21:52:05.67 QHLp3LcH0
>>801
科学系では現役で新規プロジェクトに使われてたりするしね

803:名無しさん@お腹いっぱい。
11/06/06 23:37:35.58 9zgS8WMT0
こんなヘンピなスレで、なんでキチガイが湧くのかなぁ。
スレ過疎化すると、スレ建てした奴が必死に成るのかなぁ。
それにしても、スレチな発言しても意味無いと思うけどなぁ。

あ、かまってほしいだけ!?

804:名無しさん@お腹いっぱい。
11/06/07 00:02:06.85 czDeR00m0
こんなの作ってみたんだけどどうかな。
URLリンク(smallbasic.com)


805:名無しさん@お腹いっぱい。
11/06/07 18:40:45.62 FpMUckDF0
クリップボードの中身によって行動を変える条件分岐はどう書いたらよいの

806:名無しさん@お腹いっぱい。
11/06/07 18:48:08.13 3DgxKyzv0
クリップボード=GETSTR(0)

IFB クリップボード = "こっち" THEN

ELSEIF クリップボード = "そっち" THEN

ENDIF

807:名無しさん@お腹いっぱい。
11/06/07 19:01:24.65 FpMUckDF0
ありがとうごじゃました!

808:名無しさん@お腹いっぱい。
11/06/07 19:32:16.65 GF8L72VJ0
>>806
変数名に日本語使うと一瞬それらしく見えなかったりしたw

809:名無しさん@お腹いっぱい。
11/06/07 20:52:53.48 aOHIWvUD0
誤動作しそうだから、使わないとココロに決めた。

810:名無しさん@お腹いっぱい。
11/06/07 20:59:35.73 czDeR00m0
MOUSEORGとか使わなくても
ifb Status( ID, ST_ACTIVE ) で表にいるときだけ操縦するようにすれば
単純な記録・再生でも使えるよ。

まあ俺も誤動作させまくってるから失敗が怖ければ使わない方がいいけど、
たとえば仮想マシン上で動かせば仮想マシンの外には影響しないよ。

逆は可能だけどね。


811:名無しさん@お腹いっぱい。
11/06/08 13:29:25.29 aqQRx2dz0
古いの使ってたのを最新にしてみたら、既存のコードでシンタックスエラーになった。

コード; if ~ then exit
っていう1行で続ける条件文がだめで、
改行したらOKになった。


812:名無しさん@お腹いっぱい。
11/06/08 23:24:42.77 LN9bd+dX0
すでになおっとる(6/5)

813:名無しさん@お腹いっぱい。
11/06/09 12:32:10.82 S+BrRx410
画像リンクがどーしても出来ないです…
IELINKやページ内の画像を取得後にaltをターゲットに検索して、などは出来るんですが。。
必ずaltが宣言されてればいいんですけどそうじゃないので困っています。
画像が小さいと認識しにくいとの事ですが
どの程度の大きさまで認識できますか?
また画像の一部分を基準に認識可能でしょうか?


814:813
11/06/09 18:35:10.26 S+BrRx410
画像クリック他の所で試したら普通にいけました…
それと目的の画像をペイントで表示する場合は認識するのですが
画像として表示させた場合は認識しません。
認識の精度を上げる事は出来ないのでしょうか?


815:名無しさん@お腹いっぱい。
11/06/09 19:09:24.75 lxNHl3xJ0
画像として表示って何かな?

画像が拡大縮小とか加工されて表示されたらそりゃ別物と認識しますよ。

色範囲を広げるオプションはあるようなので、使ってみたら?


816:813
11/06/09 20:55:58.40 S+BrRx410
画像としてはWindowsフォトギャラリーでの表示です。
オプションは一通り試しみました…
形だけでも拾えないのでpngで四隅を透過処理してあるのは無理なんですかね。
もしかして対象もbmp形式じゃないとダメなんて事はないですよね?
ヘルプには参照元はbmpとは書いてあったんで、大丈夫だとは思うんですけど。。


817:名無しさん@お腹いっぱい。
11/06/09 21:11:21.94 lxNHl3xJ0
フォトギャラリーって自動縮小でしょ。100%で表示しないと。

あと、フォトギャラリーで表示した状態でキャプチャしてそれを切り取って検索したらうまくいくはず。


818:名無しさん@お腹いっぱい。
11/06/09 21:12:52.58 yG+RHF7P0
認識の精度を上げるんじゃなくて下げるんだろ。
違う画像を認識させようってんだから。

819:名無しさん@お腹いっぱい。
11/06/09 22:09:16.44 Hr+TP2+u0
ここも、GIMPスレ並のYahoo!知恵遅れ状態だなぁ…
UWSCで何させようとしてるか判ったら、爆笑できそうだな。w

820:名無しさん@お腹いっぱい。
11/06/09 22:19:56.08 lxNHl3xJ0
>>819
知りたいならほらここに
URLリンク(dl7.getuploader.com)

821:名無しさん@お腹いっぱい。
11/06/10 08:07:51.29 RPvBhsfT0
>>820
なにこれ、こんなに書いたの?かわいそう・・

822:名無しさん@お腹いっぱい。
11/06/10 13:20:01.54 jWf5r0Hv0
>>819
物をどう使おうと個人の自由だろ
お前は他人の使い方をバカに出来る程に凄い使い方してんの?


823:名無しさん@お腹いっぱい。
11/06/10 16:18:12.59 gqJ9okoX0
そういう意味か。

てっきり、A→Bと言う方法があるのに、A→C→D→E→B と言う風にするなんてプギャーみたいな事かと思った。


824:名無しさん@お腹いっぱい。
11/06/10 19:05:04.44 cKzGyQ5z0
>>822
いや、ボクが爆笑できそうなのは>>823が近い。
どっちかって言うと、UWSCじゃ無いソフトでスコーンとやれそうな気がして、想像すると笑えるって話さ。w
>>817が結論っぽいんだけど、そうなのかどうなのか返事が無いからなんともだし。
>>それと目的の画像をペイントで表示する場合は認識するのですが画像として表示させた場合は認識しません。
こんな事書かれても、なにをどうしたのか、サッパリワカラナイヨ。
>>ペイントで表示する
>>画像として表示する
どう違うってんだ?w
バカにされたくなかったら、他人が読んでも判る文章を書くべきじゃないのかな?

825:名無しさん@お腹いっぱい。
11/06/10 22:22:40.21 yDzVvEQ00
> UWSCじゃ無いソフトでスコーンとやれそうな気がして

やれたとしてそっちを使う意味がどれほどあるかってことなんだけど。


ところでLuaっていう言語はコンパイルもできるっぽくていいね。
VM使うみたいだけど、
C言語 ⇔ Lua の相互呼び出しが可能なので、Windowメッセージでスクリプト関数を呼び出すなんてことも可能。

でもC++とか.netでも使えるかどうかが分からないな。


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