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でも使えるかどうかが分からないな。
826:名無しさん@お腹いっぱい。
11/06/10 22:30:22.60 cKzGyQ5z0
>>825
うーむ、キミの読解力の無さに絶望したぁぁぁぁ。
例えば、UWSCを使ってIEで2ちゃんねるを巡回するより、専用ブラウザ使った方が楽だろ?
827:名無しさん@お腹いっぱい。
11/06/10 22:31:51.02 7YTvWQ+P0
メイプルでchkimg使うとき範囲指定したら認識してくれないんだけど・・
手作業でメイプルのウィンドウ内をクリックしたらなぜか認識してくれるんだけど
KBDでやっても認識してくれないんだけどなにかコツとかあるんですか?
あとsaveimgでメイプルのウィンドウ内の画像取ったら真っ白になるんだけど
これってちゃんと撮れる方法とかないんですか?
828:名無しさん@お腹いっぱい。
11/06/10 22:33:28.90 7YTvWQ+P0
訂正 KBDじゃなくてBTNでした
829:名無しさん@お腹いっぱい。
11/06/10 22:41:55.44 cKzGyQ5z0
あれ?
結局、ボットの話?
830:名無しさん@お腹いっぱい。
11/06/10 23:38:48.47 yDzVvEQ00
>>827
> KBD→BTNでやっても認識してくれないんだけど
時々クリックできないバグみたいのがあるんですよ。ボタンをあげることが出来ない場合とか。
その状態でもマウスカーソルの移動とクリック動作はしてたりします。
だからマウスカーソルが移動するのかしないのか、その上でクリックできるのか出来ないのか言ってくれないと。
まあどっちにしろ分かりませんけどね。
mouseorgで座標の基準がずれてるのかもしれないし。
もしかするとmouseorg(ID, 2)で、目的のアプリのIDとは違うものを指定しているとか。
それでイベントがあさっての方向に飛んでいっているとか。
あるいは適切なコントロールにメッセージが飛んでないとか。
>>644みたいに
> MOUSEORG(GETCTLHND(id,"Edit"),2)
ってコントロールを指定しないといけないとか。
>>826
> 専用ブラウザ使った方が楽だろ?
UWSCが使えるならUWSCで専用ブラウザをコントロールするとはかどりますけど?
831:名無しさん@お腹いっぱい。
11/06/11 01:43:47.27 KTsgiup00
>>824
>バカにされたくなかったら、他人が読んでも判る文章を書くべきじゃないのかな?
始めはなにをさせようとしてるか判ったら
って言ってるのに次は文章ですか。
論点のすり替え上手いね。
832:名無しさん@お腹いっぱい。
11/06/11 04:47:58.70 EYzj6ZLD0
メイプルの画像認識は検索範囲をウィンドウの外から始めないと上手くいかない
例えば、HP回復だと
ID = GETID("MapleStory")
MX = STATUS(ID,ST_X)
MY = STATUS(ID,ST_Y)
HPx = 500 + MX
HPy = 780 + MY
ifb CHKIMG("HP.bmp",0,MX-1,MY-1,HPx,HPy) then
KBD(VK_HOME,CLICK,100)
endif
だと上手くいくけど、
CHKIMG("HP.bmp",0,MX,MY,HPx,HPy)
にすると認識してくれなくなる
833:名無しさん@お腹いっぱい。
11/06/11 06:24:00.15 qnFNK3qZ0
>>825
>C言語 ⇔ Lua の相互呼び出しが可能なので
perl、ruby、python一般的に使われてるほとんどのスクリプト言語で可能だよ
>VM使うみたいだけど、
VMってバイトコードインタプリタのことだけど
実行方法がなんか問題あるの?JITで爆速じゃないとヤダとかなら
LuaJIT Projectとかあるよ
>でもC++とか.netでも使えるかどうか
C言語で使える=C++からも使える
人気の言語は次々にCLI(.net)に植されているよ
まだ実行速度が十分じゃないけどそれでもUWSCの100倍は速いよ
まあ結局C#が素晴らしすぎるからみんなC#使っちゃうんだけどね
IronPython - Home
URLリンク(ironpython.codeplex.com)
IronRuby.net /
URLリンク(www.ironruby.net)
Lablua - Home
URLリンク(www.lua.inf.puc-rio.br)
834:名無しさん@お腹いっぱい。
11/06/12 12:33:10.22 IEVSGnHg0
>>813
>>814
>>816
結局、この書き込みなんだったんだろう…
835:名無しさん@お腹いっぱい。
11/06/12 19:07:19.31 4/CpV7DF0
RGBのうちBの値が100<150のときに動作Aを行うようにしたいのですが、
「関数が正しく閉じていません」とエラーがでてしまいます
なにが原因なんでしょう
IFB(PEEKCOLOR(700,300) and $FF0000)/$10000 100< and <150 then
動作A
else
動作B
Endif
836:名無しさん@お腹いっぱい。
11/06/12 20:23:35.55 NIxSeDQw0
>>835
ヘルプの「関数の定義」を読めば判る
837:名無しさん@お腹いっぱい。
11/06/12 20:32:47.17 Dg1uIKsE0
>>835
IFB (PEEKCOLOR(700,300) and $FF0000)/$10000 100< and <150 then
↑スペースがないから関数の括弧扱い ↑?
> 100< and <150
こんな比較方法はありません。
こうしないと↓
(100 < B) and (B < 150)
だけどPeekColorを2回も呼び出すと遅くなるから、一旦変数に入れるべき。
838:名無しさん@お腹いっぱい。
11/06/12 20:35:44.75 NIxSeDQw0
よく読んだら違うか…ifの比較文がだめなんだろ。
true,falseで判断できない式は認められない。
あと、三つの値の同時比較はuwscは対応していない。
839:名無しさん@お腹いっぱい。
11/06/12 20:40:37.13 Dg1uIKsE0
> true,falseで判断できない式は認められない。
falseでないものは全てtrueになるので問題ない
840:名無しさん@お腹いっぱい。
11/06/12 20:54:13.06 NIxSeDQw0
>>839
マジかよw …と思ってたら、
100< and <150 は1でtrue扱いだったw
841:名無しさん@お腹いっぱい。
11/06/12 20:55:34.87 4/CpV7DF0
>>836-839
ありがとうございます。
とりあえず100以上であれば大丈夫そうなのでそれでやってみます
842:名無しさん@お腹いっぱい。
11/06/12 20:57:27.21 FmPEfqxB0
なにこれ気持ち悪い・・
書けば書くほど発見されていく糞仕様
print ( 100 < and < 150 ) //=> 1
843:名無しさん@お腹いっぱい。
11/06/12 21:10:04.08 Dg1uIKsE0
100 -> 01100100
150 -> 10010110
論理積 00000100
比較演算子が無視されてるかな
844:名無しさん@お腹いっぱい。
11/06/12 21:17:37.86 fHCxpPOf0
数値 < and // 常に0
数値 > and // 常に1
100 < and < 150 → (100 < and) < 150 → 0 < 150
845:名無しさん@お腹いっぱい。
11/06/12 21:28:14.28 FmPEfqxB0
print ( and )
print ( or )
print ( and + or )
全部エラーにしてくれないよ
846:名無しさん@お腹いっぱい。
11/06/12 21:31:07.64 NIxSeDQw0
>>844
納得した。
こういうのって一般的に構文エラーにするべき物?
847:名無しさん@お腹いっぱい。
11/06/12 21:33:53.08 FmPEfqxB0
UWSCはBNFすら公開されてないしパーサが正しい文として解釈してるんだろうと想像するしかないよね
848:名無しさん@お腹いっぱい。
11/06/12 23:25:55.80 IEVSGnHg0
別に、いちいちエラーにしてくれなくても問題無いじゃん?
こうこう、こんな事したら、思ったとおりに動かないんです。
と、作者に 日本語で メールするなりすれば良い事。
結果に影響が無いなら、俺だって放置するさ。w
849:名無しさん@お腹いっぱい。
11/06/13 00:55:54.91 tupIRmvE0
例)キャラがX座標の指定の位置まで右に動き、指定の位置に着いたらジャンプをする
次に指定の位置まで左に動き、指定の位置に着いたら上に移動する
次に指定の位置まで右に動き、指定の位置に着いたら最初の位置まで左に移動する
というように条件を満たした場合、次の動作をするそして全ての動作が終わったらまた最初から繰り返す
というようなマクロを作りたいと思っていますが 作り方がわかりません
教えていただけないでしょうか? よろしくお願いします
下記のものは考えつく構成ですがこれではうまくいきませんでした
WHILE CHKIMG("自分のマーク.BMP",0,0,0,0,0)
KBD(VK_RIGHT,1,100)
KBD(VK_ジャンプキー,0,200)
WEND
KBD(VK_RIGHT,2,100)
WHILE !CHKIMG("自分のマーク.BMP",0,0,0,0,0)
850:名無しさん@お腹いっぱい。
11/06/13 01:19:09.81 1it66pKH0
>>849
そういうのはモジュール化した方がいいね。
で、グループ化(見た目的に)する。
キャラ位置の確認方法は分からん。画像判定は難しいからね。
VK_Right とかそのまま使ったけど、キーコードはグローバル変数で持った方がいいね。
// ステップ1
伽羅.→歩行()
伽羅.停止()
伽羅.跳躍()
// ステップ2
伽羅.←歩行()
伽羅.停止()
伽羅.上昇()
// ステップ3
伽羅.→歩行()
伽羅.←歩行()
伽羅.停止()
module 伽羅
dim r_key = false // falseはUP中、trueはDOWN中
dim j_key = false //
・・・
function →歩行()
・・・
// →に移動するには、←をキャンセルしないといけないので、それを先にやる。
ifb l_key then
kbd(VK_Left, UP); l_key = false; sleep(0.023)
endif
kbd(VK_Right, DOWN); r_key = true // ←操作と状態は1行につなげると確実にセットで指定できる。間違えにくい。
851:名無しさん@お腹いっぱい。
11/06/14 10:43:48.94 N4XAViK70
UWSCでCOMやAPIを扱いたいのですが、
調べ方が悪いのかさっぱり理解できません。
これらを扱うには多言語から行った方がいいのでしょうか
あとこれらはオブジェクト指向というものなのでしょうか。
852:名無しさん@お腹いっぱい。
11/06/14 13:59:28.35 RsLKFePU0
>>851
APIは違うけどCOMはオブジェクト指向な技術。
ただし、いわゆるオブジェクト指向プログラミングとは違う。
APIについて知りたい時は、
「WIN32 api」と関連キーワードで検索
DLLの宣言が知りたければ
UWSCの DEF_DLL とか
VBの"Declare Function"で検索
COM オブジェクトについては
UWSCの CREATEOLEOBJ とか
VBScriptの CreateObject で検索すると使用例が出るので早い。
オブジェクトの詳細はオブジェクト名+site:msdn.microsoft.com を
「日本語で検索」オプションで検索。
853:名無しさん@お腹いっぱい。
11/06/14 14:16:56.70 N4XAViK70
>>852
簡潔で分かりやすい説明ありがとうございます。
早速検索などで調べてきます。
854:名無しさん@お腹いっぱい。
11/06/14 17:00:03.32 NrA1k+P90
ちょとすれ違いかもですが
とあるゲームでUIにほとんどKBが割り当てられてないので
Enter押したら指定座標にあるOKボタンをクリック
→キーを押したらして座標にある次のページへのボタンをクリック
みたいな機能を作りたいんですがUWSCでできますでしょうか
以前はkeybatでやってたんですが、7に変えてから使えなくなってしまったので
855:名無しさん@お腹いっぱい。
11/06/14 18:14:41.40 RsLKFePU0
> Key Batはキーボードとマウスにドライバレベルで割り込むので、
> Direct X用のソフトや、MS-DOSプロンプトのソフトでさえ、その支配下におさめ、
> 非常に強力なマクロ実行が行なえます。
ああ、UWSCは確かにキーボードやマウスを操縦できますが、
目的のソフトで使えるかどうかは分かりませんね。
> →キーを押したらして座標にある次のページへのボタンをクリック
SETHOTKEYが使えるかも。
試したら大概のキーを一つの関数に割り当てできたので、分岐したらシンプルにまとまりますね。
SetHotKey( VK_Right, 0, r_crick ) // 省略方法がよく分からないのでとりあえず0
while true
sleep(1)
wend
function r_crick()
ifb chkimg("OK_Button.bmp",IMG_MSK_BGR4,0,0,200,200)
BTN( RIGHT, CLICK, G_IMG_X、 G_IMG_Y )
endif
fend
--
VK_LEFT
VK_UP
VK_RIGHT
VK_DOWN
856:名無しさん@お腹いっぱい。
11/06/14 19:31:03.27 RsLKFePU0
SetHotKey() 意外と使えるわ。
SetHotKey( Ascb(c), , "OnKeyClick" )
とかでほとんどのキーや文字を割り当ててインターセプトしても、
そのままKBD()で操作すれば漢字入力も普通に出来るし、
コピペとかもできる。
Procedure OnKeyClick()
kbd(HOTKEY_VK, click)
Fend
問題はカーソルキー(↑↓←→)かな。
押しっぱなしはClickじゃなくてDOWNだけど、文字で見る限りClickしてもDownしても同じに見える。
いや、それより、操縦とチャットの切り替えの判断が必要になることか。
アプリケーションの切り替えならアクティブかどうか見ればいいけど・・・
それはどのやり方でも一緒か。
857:名無しさん@お腹いっぱい。
11/06/15 13:18:18.59 sbQ8YLFV0
外部からUWSCの関数を呼び出す方法があればいいなと思ってたけど、
HotKey経由でやったらいいかもしれん。
受け渡すデータはクリップボードに入れておいて、キー入力を発行。
単純にクリップボードを監視するループでやるよりもCPU食わんし
誤作動の確率が減る。
でも、KBD()とクリップボードが扱えるならUWSCを呼び出す意味ってないかも。
別プロセスとして起動したUWSCとの通信に利用できるか。
やってみたら出来たけど、複数登録は出来ないね。
登録が一つのキーには一つ。
だから違うキーを使えばやり取りは可能。
UWSC同士でやっても混乱するだけだけど、やれなくもない。
858:名無しさん@お腹いっぱい。
11/06/15 13:20:45.80 zhjWWPW20
>外部からUWSCの関数を呼び出す方法があればいいなと思ってたけど、
全くやる必要を感じません
普通の脳の持ち主は仕様が提供されている他の処理系を使います。
859:名無しさん@お腹いっぱい。
11/06/15 14:16:43.49 sbQ8YLFV0
>>858
たとえばどれ?
860:名無しさん@お腹いっぱい。
11/06/15 14:27:24.41 wLEdGhI20
プロセス間通信をサポートしてる処理系。
UWSCでなんでもかんでもやりたい基地の人と同一だろうけど
そういった用途のスレでは無いし
あんた荒らしにしかなってないから自分のサイトでやっててってみんな思ってるよ
861:名無しさん@お腹いっぱい。
11/06/15 15:20:02.91 sbQ8YLFV0
そうは言うけど.netとVS入れたら何GBも食うでしょ。しかもC:ドライブを。
しかも別のマシンで実行するには.netとかDLLをセットアップしないと動かない。
俺は旧いPCとXPしか持ってないからきついんですよね。
スクリプトなら軽量かなとPython入れてみたら案外でっかいし
簡単そうに見えて案外難しかったし
あのときはいきなりUnity3Dを動かしてみようと思ったのが悪かったのかもしれないが。
HSPも意外とでっかいんだよね。
画面が簡単に作れるのはいいんだけど画面以外とのやりとりがいまいちよくわからなかった。
画面内だけのことならSmallBasicが出てきたからこっちのほうが文法とか含めて分かりやすいかなと。
SmallBasicはサイズは軽量な割りにIDEがアニメーション使いまくっててゲストじゃ重かったけど、
HSPだってネイティブのようには軽くないし。
確かにUWSCは文法や挙動がいまいち分かりにくかったりしますが、
一旦覚えてしまえばエディタで気楽に書けるし実行するのも本体の実行ファイルがあればいいし、
やれる範囲のことなら楽なんですよ。
そんなたいそうなことは最初からやらないしね。
こんなことをだらだら書くほうがよっぽどうざいと思うけど>>860みたいに言われたら書くしかないよね?
まあお勧めはやっぱりSmallBasic+VBかな。
HSPも初心者に優しいけど文法とかがな・・
本気でプログラマ目指すならC++。もうちょっと楽なところがよければJAVAかC#かVB。
Ruby?なにそれ。
今、Luaとか squirrel とか AngelScript とかも見てみているんだけど
やっぱりどれもいいところと悪いところとあって迷うんだよね。
中途半端に手をつけると混乱するだけだし。
昔、親指シフトをエミュで練習したことがあったけど、必ずローマ字入力のときに混乱するんだよね。
確かに入力は速いかもしれないけどそれだけで通用するわけじゃない。
特にエミュはそれを覚えた人が応急的に使うものであって、親指キーボードを持たない人がやるものじゃなかった。
862:名無しさん@お腹いっぱい。
11/06/15 15:27:38.53 wLEdGhI20
相変わらず基地外すぎワロタ
お前の環境とかオススメとか誰も求めてないんで。
お引き取りください、そして2度と来ないでください。
続きはこちらに好きなだけ書いてください、さようなら。
URLリンク(scripts.web.fc2.com)
863:名無しさん@お腹いっぱい。
11/06/15 16:04:35.95 sbQ8YLFV0
>>862
あんたはUWSC使わなくても何でも出来るんでしょ?なんでUWSCを使ってるの?
何でも作れるような人がUWSCを使う意味って何?
むしろそこが重要なんじゃね?
864:名無しさん@お腹いっぱい。
11/06/15 16:12:49.77 wLEdGhI20
>>853
今の仕事の前任の人が業務で使うものを好き勝手UWCSとかいう糞アプリで大量書いて捨てて行ったから
それを保守、メンテナンスするハメになっている縁でスレ見てるだけだよ。
俺が.net frameworkで書き換えるのは簡単だけど
UWなんとかはwebのどこ探しても仕様書なんて見つからないから
業務で一定期間使ってる以上簡単には切り替えられないんだよ。わかるでしょ?
お前みたいななんでもかんでも裏技的なテクニックを使って実装しようとしてる基地外を見て
不幸な人間を増やしたくないと思った。
865:名無しさん@お腹いっぱい。
11/06/15 16:53:47.71 q7sA7lWs0
本気で何言ってるかわからないからもう少し落ち着いてレスしてみてはどうでしょうか?
866:名無しさん@お腹いっぱい。
11/06/15 16:56:09.16 OlG7pJRRi
>>864
.net(C#,VB)でのUWSC的な
・他ウィンドウの制御のサンプル
・デスクトップ画面の画像認識の手法サンプル
を教えてくださると凄く嬉しい。
…助けて。
私はそれが出来ずに、不幸を引き継ぎそうな低レベルな人です。
事務的な足し引きは判るけど、上記の様な一つ進んだ内容になるとアリモノを使う以外に無かった。
取っ掛かりさえあれば…と毎度思っていたのです。
867:名無しさん@お腹いっぱい。
11/06/15 17:01:54.60 sbQ8YLFV0
どんな環境だって問題が複雑になれば裏技的にやるもんでしょ。
大事なことは正しく知ること。
↓に引用したのがあるけど、みんな自分に合った物を捜し求めてるんですよ。
スレリンク(tech板:270番)
> Luaはダメだ。 AngelScriptを試してみよう…
> とりあえず実装可能っぽいけど… 呼び出しコストとかどうなんだろ?
> 試すしかないかなぁ… はぁ… 資料少ないなぁ。
.net framework だってOSが新しくなればメンテナンスは必要でしょ。
もちろん.netは開発効率はいいんでしょうけどね。
自分のHPであれが出来ないこれがダメとかやってもいいんですけど、
業務妨害とか言われたりするのがね・・・
自分が間違っていたりした場合でも、レスが返せれば間違いを訂正してくれる人がいるかもしれないけど、
そんな凝ったページ作るのめんどくさいし。
何より、人がレスくれたページをいじくって消すと申し訳ないじゃないですか?
とにかくめんどくさいんですよ。
あなたがUWSCのメンテがうざいって言うのと同じようにね。
868:名無しさん@お腹いっぱい。
11/06/15 17:16:04.68 wLEdGhI20
>>866
例えばUWSCに添付されているGuruGuru.uws(でしたっけ?)のようなものと
chkimgしてクリックするようなサンプルをC#書いてアップローダにアップしますね
>>867
>どんな環境だって問題が複雑になれば裏技的にやるもんでしょ。
しません。
Linuxのシステム管理スクリプトがなぜperlからpythonに取って変わられたのか調べてみてください。
869:名無しさん@お腹いっぱい。
11/06/15 17:24:43.36 sbQ8YLFV0
> なぜperlからpythonに取って変わられたのか
書けるけど読めないからでしょ?
870:名無しさん@お腹いっぱい。
11/06/15 17:33:58.67 OlG7pJRRi
>>868
ありがたい。
出来れば、GruGru.uwsよりかは、『サンプル.uws』のような情報取得と入力等の機械的制御が本分かと思います。
871:名無しさん@お腹いっぱい。
11/06/15 17:40:45.16 wLEdGhI20
>>869
もちろんperlはきれいに書こうと思えば書けるんですが
Perlのモットーは「やり方はいろいろある (TMTOWTDI; There's More Than One Way To Do It)」なので
100人プログラマがいたら100通りの書きかたが出来てしまいます。
裏技的に書く書きかたが許されているのでグダグダになりやすいんですよね。
対してPythonはwikipediaの頁にも書かれているように
>Pythonでは多くのユーザによって書かれた同一の仕事をするプログラムは、
>だいたいどれも同じようなコードに収束する。基本機能にないものの多くはライブラリによって提供されている。
>また、Pythonではプログラムの文書化(ソフトウェアドキュメンテーション)が重視されており、言語の基本機能の一部となっている。
ドキュメントが豊富で誰が書いてもだいたいどれも同じようなコードに収束したほうが
他人が書いたコードを再利用しやすいですよね。
どちらの言語がより一般的になっていくかは明白ですよね。
ところでUWSCはどうでしょう、ドキュメントは読みやすいですか?
バイナリを扱う仕様はありますか?扱えたところで他人から見て暗号のようなソースコードになりませんか?
872:名無しさん@お腹いっぱい。
11/06/15 17:55:25.02 sbQ8YLFV0
>>871
> ドキュメントは読みやすいですか?
ヘルプの使い方を勉強すれば使えるよ。
あと、ソースコードも日本語が自由に使えるから読みやすいよ。
コードがどんなであれ、日本語のコメントを入れれば解決。
> バイナリを扱う仕様はありますか?
それができないねえって書いてたら怒られたんですけど。
> 扱えたところで他人から見て暗号のようなソースコードになりませんか?
関数化して見えなくすれば解決しますよ。
何子供みたいなこと言ってるんですか。
中身が分からないならテストする。それで解決ですよ。
>>871
> Perlのモットーは
最もよく使われてきたC言語
今も信頼されて使われることの多いC言語も、自由に書けるようになっていますが何か。
確かにPerlの難解さは異常かもしれませんが、当時はPerl以外にありえなかったんです。
だからPerlが使われてきたんです。
873:名無しさん@お腹いっぱい。
11/06/15 18:22:25.68 u0W1DsLj0
>>855
なんとか希望通りの操作は実行できたんですが
やはりキーボードがゲームのほうに奪われてるのか
ゲームが非アクティブな状態からでしか実行されませんでした
なにか他のツール探してみます
874:名無しさん@お腹いっぱい。
11/06/15 19:11:09.84 q1hBrkaN0
言語自体の是非についてならム板あたりでやって欲しいなぁ。
875:名無しさん@お腹いっぱい。
11/06/15 19:23:05.59 DNfS8KFj0
>>873
AHKは?
876:名無しさん@お腹いっぱい。
11/06/16 18:33:49.37 VwsA5JPn0
RecIEで記録していって、うまくいっていたのですが、ある一箇所で動かなくなってしまいました。
その部分の書かれている物を抽出してみたら、下記のように書かれている部分でした。
<a onclick="javascript:loadpage('/job/start.jsp');" href="javascript:void(0)"><span>スタート</span></a>
これはjavascriptと呼ばれるものでしょうか?
こういうものをマウスクリック以外で自動で押下して先のページに進むにはどうしたらいいでしょうか?
ググって、見よう見まねで応用してみたのですが、うまく機能するサンプルがありませんでした。
どうかお願いしますm(_ _)m。
877:名無しさん@お腹いっぱい。
11/06/16 19:19:53.71 nEU2InOi0
>>876
なんかのセキュリティ制限に引っかかってるんじゃない?
OSとIE何よ
878:名無しさん@お腹いっぱい。
11/06/16 20:06:08.70 VwsA5JPn0
>>877
ありがとうございます。
IEは8.0.7600と書かれています。
OSはWindows7 Professional です。
お願いします。
879:名無しさん@お腹いっぱい。
11/06/16 20:35:29.24 K8S7LB6t0
>>876
onclickだから多分、そのボタンのIDを探して
IE.Document.all.BUTTONID.Click()
ってやったらクリックできるかも。
allでだめな場合はFormのIDか番号も必要かも。
880:名無しさん@お腹いっぱい。
11/06/17 10:12:51.09 HostJxq00
flash上でドラッグ&ドロップを行いたいのですが、
BTN(LEFT,DOWN,~
BTN(LEFT,UP,~
では出来ませんでした。
実現可能な方法がありましたら教えてください
881:880
11/06/17 10:22:59.10 HostJxq00
ドロップ側の受け取りイベントが上手く発生しなかっただけみたいです
失礼しました
882:名無しさん@お腹いっぱい。
11/06/17 10:30:21.47 RK2DsXbm0
>>879
ありがとうございます。
IDといいますと、html上でのIDでしょうか?
このアンカー自体にはIDはふられてませんが、2階層上のLOGINという名前のIDのふられたDIVの中にある唯一のアンカ-なので、特定は可能だと思います。
いちおう、
IE.Document.all.LOGIN.Click()
で走らせましたが、当該の行で、
COM:error 例外が発生しました
と表示されて終了してしまいました。
ボタン自体にIDがない場合の書式はどうすればいいのでしょうか?
どうかお願いしますm(_ _)m
883:名無しさん@お腹いっぱい。
11/06/17 11:50:51.82 BQ8MrwPV0
>>882
DIVのIDは直接扱えないっぽいですよね。
単独では使えますけど。
GetElementByID()でDIVのIDからオブジェクトを取得し、
そのオブジェクトを元に
getchildnodesやGetNextElementなどでたどっていって<a>タグのオブジェクトを取得できれば、
aタグ.click() が実行できるかも。
ちなみにUWSCの標準関数ではタグを指定してソースを取得は出来ますけど
オブジェクトを取らないとClickできないので。
UWSC的にはブラウザのアクセス方法はやめてClkItemが早いかも。
ClkItem( HNDToID(IE.HWND), "スタート", CLK_ACC, , 番号1から )
884:名無しさん@お腹いっぱい。
11/06/17 18:44:23.49 lxZwA0Pt0
>>875
AutoHotKeyでもダメでした
ドライバレベルでフックしないとだめっぽさそうです
885:名無しさん@お腹いっぱい。
11/06/19 22:59:16.65 eQCK3OW/0
PowerShellの実行が複数行行けるから、EVALで同様に出来るかなと思ったけど無理だった。
関数として記述すればいいんだけどね。
それかファイルに吐き出してExec()か。
他アプリの操縦は別としてだけど
UWSCに変わるスクリプト言語としてBooってのもいいかも。
文法は6割がPythonと共通で、.net またはLinuxのMonoのアプリケーションだけど、
ランタイム自体はUWSC並に小さくてエディタで書いていけるらしい。
実行形態は対話形式スクリプト、スクリプトファイルの実行、コンパイルしてexe単体実行ができる。
最初のうちはHTMLをローカルで実行できるHTAがいいかなと思ったけど
JScriptかVBScriptなんだよね。どっちもあんまり・・
もちろん汎用的ではあるんだけどUWSC覚えたらUWSCの範囲でやってしまう。
886:名無しさん@お腹いっぱい。
11/06/20 02:36:37.81 DEpdX2Q90
「らしい」とか「みたいだけど」とかって言うヤツは信用しちゃならねってばっちゃが言ってた。
887:名無しさん@お腹いっぱい。
11/06/20 02:48:08.49 UtQuLi1d0
新規で覚えるなら
.netが必要ならば.net環境で作るよ…
888:名無しさん@お腹いっぱい。
11/06/20 23:27:44.43 z7NNg7kU0
タスクトレイのVolumeを右クリック後の再生デバイスを選択するにはどうしたらいいですか?
889:名無しさん@お腹いっぱい。
11/06/21 00:12:23.80 oVTX5Fts0
>>888
オーディオプロパティの調整とか表示されてるメニュー?
基本的にトップレベルにないと消えるメニューだから (A)とかで指定されたキーを KBD()で送信でもいいけど、
めくら操作したくないならウィンドウクラス"#32768"でGetIDすればいい。
メニュー Class:"#32768"
ダイアログ Class:"#32770"
ツールチップ Class:"tooltips_class32"
890:名無しさん@お腹いっぱい。
11/06/21 00:37:51.47 S+8VIifV0
>>889
有り難う御座います!
書き込んでからKBD()で行ける事に気が付きました…
タイトルないので指定出来ないと思って居ましたが
クラス名#32768でもそうやって指定すれば行けるんですね
一つ勉強になりました。
891:名無しさん@お腹いっぱい。
11/06/21 13:04:45.37 u0jvZuWG0
>>883
どうもありがとうございました。
ClkItemで代用し、一応動きはするのですが、
バックグラウンドでの動作はできないようでした。
どうしてもクリックと同時に最前面に出てきてしまいます。
IDの指定と、オブジェクトの取得は、スキルが必要なようです。
もしそれについての解説サイトがあれば、お教えいただければ幸いです。
892:名無しさん@お腹いっぱい。
11/06/22 08:27:35.93 wz2XRv7P0
1ステップ1ステップ小出しにしてねーで
そもそも何をやろうとしてんだよ。 糞が。
893:名無しさん@お腹いっぱい。
11/06/22 09:44:40.57 o+QMX4X/0
そんな事書いたら、オンラインゲーム必死だな( ´,_ゝ`)プッって笑われるだろーが!!
894:名無しさん@お腹いっぱい。
11/06/22 10:29:12.69 wz2XRv7P0
あー、そっかーーーーー。
そうだったんだーーー
そっかーーーーー ごーめーんーーーー >>891
895:名無しさん@お腹いっぱい。
11/06/22 10:40:02.94 Qo85tCH30
オンラインゲームでRMTして儲けたいからマクロ書いてください
ってこと?
896:名無しさん@お腹いっぱい。
11/06/25 15:22:20.33 e2nGd7v50
マウスやキーボード入力が一定時間なかったことを確認する方法はないですか?
スクリプト起動直後に今アイドリング状態なのか判定したい
897:名無しさん@お腹いっぱい。
11/06/25 16:22:27.74 dircKt8/0
>>896
getkeystate
898:名無しさん@お腹いっぱい。
11/06/28 04:11:54.59 kXJni/fc0
CHKIMG関数で質問です
検索範囲未指定時は画面全体が対象との認識であってますか?
また最小化時にチェックすることは可能ですか?
899:名無しさん@お腹いっぱい。
11/06/28 07:51:27.17 oMsiC+dA0
>>898に質問です
どうして試さないんですか?
900:名無しさん@お腹いっぱい。
11/06/29 15:56:24.05 rcowTlhM0
UWSCというマクロツールで ランダム質問をクリックしてから”役に立った” (下URL参照)をクリックするプログラムを作りたいのですが
うまくいきません。
URLリンク(detail.chiebukuro.yahoo.co.jp)
私の作ったプログラムはランダム質問までいくのですがそこからがいきません。 何が悪いのでしょうか?
とりあえず私の未完成プログラムを書きますね^^
皆さんの回答をお待ちしております
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = true
IE.navigate("detail.chiebukuro.yahoo.co.jp/qa/rand.php")
REPEAT
sleep(0.5)
UNTIL !IE.busy AND IE.readystate = 4
ret = IELINK(IE,"役に立った!")
901:名無しさん@お腹いっぱい。
11/06/29 18:03:44.63 duIKIGLv0
バックグラウンドで動作するプロセスの起動確認をUWSCでしたいのですが、
どうすれば出来ますか?
タスクマネージャのプロセス一覧には表示されるけど、タスクバーには表示されないので、
GETALLWINでは取得できません。
ちなみにVBSでは以下の記述で使っていました。
Set objProcList = GetObject("winmgmts:").InstancesOf("win32_process")
For Each objProcess In objProcList
if objProcess.name = "aaa.exe" then
msgbox "aaa.exe は起動しています"
Exit For
end if
Next
902:名無しさん@お腹いっぱい。
11/06/29 18:29:42.27 deNe4CIU0
>>901
.length 個の.item(i) があるようです。
URLリンク(www3.bigcosmic.com)
for i= 0 to col.length-1
objITEM = col.item(i)
ifb objITEM.Name = "kansou" And objITEM.Value = strRADIO1[nNO]
objITEM.Checked = True
break
endif
next
GETOLEITEMもあるっぽい
// c:\windows下のディレクトリ表示
fs = CreateOLEObj("Scripting.FileSystemObject")
gf = fs.GetFolder("c:\windows")
for i = 0 to GETOLEITEM(gf.SubFolders)-1 // コレクション取得
print ALL_OLE_ITEM[i].name
next
結果だけが欲しければコピペをPOWERSHELLで処理するとか
あ、書式だいぶ違った。
qprocess | find "iexp" をDOSCMNDで実行して戻り値を見るとか
ただし、最後に改行がつくから面倒な場合もある。
903:名無しさん@お腹いっぱい。
11/06/29 21:20:55.86 DrTJUpW80
uwscファイルの修正を行っていたらわけがわからなくなってしまったので
もしよければ教えていただきたいと思い書き込みしました。
elseif CHKIMG("A.bmp", 0) then
x1 = G_IMG_X; y1 = G_IMG_Y;
質問1:G_IMG_Xとは画像のX座標のどの位置を指すのですか?(中心とか右端とか)
質問2:例えばA.bmpの中心座標x1からbだけずれた位置をxと定義する場合
どのようにx1 = G_IMG_X; y1 = G_IMG_Y;以降に書き加えればよいのでしょうか?
色々と調べてみたのですがわからなかったのでお手数おかけしますがご指導お願いします。
904:名無しさん@お腹いっぱい。
11/06/29 21:35:31.02 LB4seq1X0
この程度の事なら調べたら絶対どこかに載ってるだろ
905:名無しさん@お腹いっぱい。
11/06/29 21:38:50.36 D8kMG3Lx0
FUKIDASIを使うと発見場所をピンポイントで指してくれていいんだけどね
906:名無しさん@お腹いっぱい。
11/06/29 22:33:33.68 wC2OHX7t0
>>903
左上
G_IMG_X+b
907:名無しさん@お腹いっぱい。
11/06/29 23:11:49.90 DrTJUpW80
>>904->>906
ご指導ありがとうございました!!
特に>>906さんのヒントで修正できました!
わざわざお忙しい中教えてくれてありがとうございます!
908:名無しさん@お腹いっぱい。
11/06/29 23:15:59.86 bZrINL020
釣りさげさんw
909:名無しさん@お腹いっぱい。
11/06/29 23:28:28.31 DrTJUpW80
>>908
そうなんですww
恥ずかしい--;
910:名無しさん@お腹いっぱい。
11/06/29 23:36:29.67 bZrINL020
聞くは一時の恥と言いますしクレクレ言ってるより全然いいです
911:名無しさん@お腹いっぱい。
11/06/30 04:26:45.68 jnOygYoc0
>>902
サンクス、ずいぶん短くなった
if doscmd("qprocess | find <#DBL>aaa.exe<#DBL>") <>"" then msgbox("aaa.exe は起動しています")
912:名無しさん@お腹いっぱい。
11/06/30 12:59:42.54 KNK9iezw0
WebFlash上で該当画像が見つかったらクリック、見つからなかったらもう一度探す
ように動作させたいのですがどこを変えれば良いでしょうか
while True
if GETKEYSTATE(VK_ESC) then exit // ESCキーを押すと終了させる
ifb CHKIMG("該当画像.bmp") // 画面上に画像があった場合以下へ
x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入
BTN(LEFT, CLICK, x, y, 80) // 画像の場所を左クリック
endif
wend
913:名無しさん@お腹いっぱい。
11/06/30 14:18:35.54 w5XXpq2P0
見つかった場合ループ抜けるなら
endifの前にBREAKでいいんじゃないかな
もしくは
REPEAT
SLEEP(0.5)
UNTIL CHKIMG("画像.bmp")
BTN(LEFT, CLICK, G_IMG_X, G_MIG_Y,)
こんな感じでも行けるかな。
914:名無しさん@お腹いっぱい。
11/06/30 14:36:22.38 KNK9iezw0
>>913
ありがとうございます
やってみます
915:名無しさん@お腹いっぱい。
11/07/01 09:13:55.67 2szK5Hhq0
>>914
どうなった?
916:名無しさん@お腹いっぱい。
11/07/01 12:50:57.23 qr4mdfQW0
XPでは普通に動くのにwin7だとsleepの待ち時間が異常に長くなったりします。
何が原因なんでしょうか?毎回なるのではなくちょっとした変更をしたときなどに
起こります。
917:名無しさん@お腹いっぱい。
11/07/01 13:27:42.49 Ah/UJqwu0
>>916
内容も判らんのに答えれるかよ
何をどう変更した時になるか
どういった処理途中なのかぐらい書けば?
918:名無しさん@お腹いっぱい。
11/07/01 14:04:37.82 3xGHvoC70
>>916
XPでもCPU100%使っていれば1.5倍くらい長くなったりするよ。
919:名無しさん@お腹いっぱい。
11/07/02 01:06:04.52 s+nlN2GB0
>>915
最終的に座標をY軸方向に-1移動することで期待していた動きを命令できました
指導ありがとうございました
920:名無しさん@お腹いっぱい。
11/07/02 19:16:53.00 qXbEMK4g0
質問させてください。
指定する色の大きさ(領域)を取得することは可能でしょうか?
921:名無しさん@お腹いっぱい。
11/07/02 19:47:14.95 eecfVZFN0
>>920
色の領域じゃちょっと意味が分からないな。
ファイル名からサイズを取得するのを調べてたんだけど
UWSCで使えるのはまだ見つかってない。
そう言えばUWSCは比較する時に画像のサイズを持ってるんだから
真ん中とか指定できてもよさそうなもんだが
922:名無しさん@お腹いっぱい。
11/07/02 20:25:17.72 RUSRgWY+0
>>920
1ピクセルの色取得が出来るんだから、出来るに決まってるだろ。
塗りつぶしのアルゴリズムが使える…まぁ、スクリプトとしての速度の問題があるとは思うが。
それは自分で判断するしかあるまい。
>>921
UWSCに頼らず、自分でBMP用意してるんだし。
BMPのヘッダとか自前で読めばいいんじゃない?
923:名無しさん@お腹いっぱい。
11/07/02 23:50:17.27 eecfVZFN0
>>922
>>776前後で書いたけどUWSCはバイナリ読めないので、どの道他のツールを使うことになる。
ならUWSCから既存のOLEなりを呼んでもいいだろと。
924:名無しさん@お腹いっぱい。
11/07/03 00:43:08.39 TB/Oc13V0
>>923
URLリンク(d.hatena.ne.jp)
UWSC系でfsoを使わないのもおかしいからな。ADODB.Streamを使うのもUWSCとして普通だと思うがなぁ。
ADODB.Streamを
呼び出したのはUWSCから直接なので自前とするか
UWSCの基本構文にそういうのが無いから他のツールとするか
…単なる呼び方のもんだいであって、微妙なラインだ。
925:sage
11/07/04 16:33:50.58 OnV/XTnZ0
UWSCで5番目のAタグをクリックするコードを教えてください
926:名無しさん@お腹いっぱい。
11/07/04 16:39:44.94 nOTb+LoZ0
日本語でおk
927:名無しさん@お腹いっぱい。
11/07/04 20:01:40.63 iaw/LOoo0
>>925
TABキーを、何回か押して、エンターキーを、押すと、いいよ!
928:名無しさん@お腹いっぱい。
11/07/05 17:30:21.83 0iSOD3+10
UWSCで、
次回起動時刻○時○分を取得
↓
UWSCのスケジュール機能に○時○分をセット
↓
スタンバイ
という動作をしたいんですが、UWSC.INIファイルの「M1=」に時刻を書いても無理でした。
一度UWSCで読み直させる必要があるんですかね?
どなたか簡単に時間セットをする方法をご存知でしたら教えてください。
929:名無しさん@お腹いっぱい。
11/07/05 17:56:42.80 OsCcD/6l0
> 一度UWSCで読み直させる必要があるんですかね?
普通はそうじゃないですかね。
UWSCを再起動すればいいんじゃないですかね。
930:名無しさん@お腹いっぱい。
11/07/07 10:13:43.29 z0Ayilpv0
>>925
IElink(IE, IE.document.getElementsByTagName("a").item(4).innerText)
931:名無しさん@お腹いっぱい。
11/07/07 17:40:54.38 r3rIFyQd0
複数のウィンドウ(①と②とします)
にPostMessageAで同時にマウス操作はできませんか?
①のウィンドウのハンドルを入れた画面1.uws
②のウィンドウのハンドルを入れた画面2.uws
画面1.uwsと画面2.uwsの二つのファイルには
マウス操作の記述やifchkimgなどを記述しています。
画面1.uwsと画面2.uwsファイルを二つ起動すると、
最初に起動したウィンドウにしか正常動作せず、次に起動したウィンドウは
マウスクリックやifchkimgなどが正常に動作せず、困っています。
二つのウィンドウを同時にマウス操作を行う場合は、
PostMessageAではできないのでしょうか?
932:名無しさん@お腹いっぱい。
11/07/07 18:03:36.49 r3rIFyQd0
>>931
追記です。
すごくわかりにくいのでやりたいことを明記します。
ウィンドウ①・・・どこかに赤丸が表示される(場所、時間ランダム)
ウィンドウ②・・・どこかに赤丸が表示される(場所、時間ランダム)
このウィンドウ①とウィンドウ②に赤丸が出現したら、
その赤丸をクリックしたい場合はどうすれば良いか教えて下さい。
複数ウィンドウではなく単体ウィンドウ(たとえばウィンドウ①のみ)の
場合の.uwsファイルはできています。
試したこととしては、931に書いた通り、単体用のuwsファイルを二つ用意
してウィンドウ①とウィンドウ②のハンドルを画面1.uwsと画面2.uwsに
与えて同時に実行しました。
結果は、最初に起動したウィンドウしか正常動作がしませんでした。
ウィンドウ①起動 → ウィンドウ②起動の場合
ウィンドウ①は正常動作
ウィンドウ②は座標取得等がうまくいっていないのか赤丸クリックせず
933:名無しさん@お腹いっぱい。
11/07/07 19:00:30.76 pB1S5/Gi0
>>複数ウィンドウではなく単体ウィンドウ(たとえばウィンドウ①のみ)の場合の.uwsファイルはできています。
コレが出来たなら、どうしないとダメなんだかも解りそうなもんだけどなぁ…
なんか裏技ネタの釣り?
934:名無しさん@お腹いっぱい。
11/07/07 21:10:19.86 ryTFc5l/0
> 二つのウィンドウを同時にマウス操作を行う場合は、
ウィンドウが二つとか関係なく、同時に複数のキー入力は出来ないでしょ。
935:名無しさん@お腹いっぱい。
11/07/07 21:20:28.19 r3rIFyQd0
>>934
UWSCとWindowsAPIは、手動でできないことは自動では
できないってことですか?
936:名無しさん@お腹いっぱい。
11/07/07 22:39:59.80 ryTFc5l/0
>>935
PostMessageAの方はうまくいってもおかしくないけど
キー入力は操作性の問題で短時間の入力はアプリケーション側でキャンセルにされるでしょ。ゲームとか特に。
メッセージを処理するか無視するかはアプリケーションが判断できるんでね。
ちゃんと届いているならあとはアプリケーションの問題です。
非アクティブだから動かないとかそんなんでもなくて?
937:名無しさん@お腹いっぱい。
11/07/07 23:27:18.01 r3rIFyQd0
>>936
postmessageaのキー入力かマウス操作か何が無視されているか
調べてみます。
非アクティブだと届いたり届かなかったりするのかな?
938:名無しさん@お腹いっぱい。
11/07/09 11:33:05.22 /DWpg5Q30
exe化されたuwsファイルをソースにすることは出来ませんか?
939:名無しさん@お腹いっぱい。
11/07/09 12:08:59.56 nqq7Vzob0
パーサがノードに畳みこんだ後のバイトコードでも格納してんだろうから
ソースコードは残ってないんじゃね